七十年编程语言发展漫谈-速看
作者:kevinyangli,腾讯 CSIG 客户端开发工程师
客户端开发在多种生态中生存就要熟练使用各种平台的环境和语言。回顾自己的职业生涯,涉及多个平台生态以及对应的原生编程语言。最近又用起了 Dart,经常在写代码的时候要想想自己是在什么平台,用什么 IDE,在写什么语言。这种情况持续了一段时间之后对编程语言有了一些想法和探索的欲望,本文不拘泥于某个语言或者特性,而是从语言的发展和历史的角度聊聊这个话题。
(资料图片)
严谨起见,本文提到的“编程语言”指的是“第三代高级编程语言”。
让我们从时间维度入手来聊聊编程语言。一图胜千言。我们从目前主流的编程语言中,挑选出流行的,具有历史影响力的,按时间从上往下排序,依据类型和指导思想进行聚类,根据互相的影响使用线条指向,并补充了一些关键性的特征和评价,整理下图:
整理图的过程中,发现很多有趣的点,我们按时间顺序从上往下讲这张图。
1950-1959:这期间出现了第三代高级语言的鼻祖:Fortran 和 Lisp。并且在 1958 年已经提出了结构化编程,递归、异常、函数式、命令式、垃圾回收等目前常用的概念。现在用到的大部分语言特性的理论的出现比我想象的早。
1960-1969:这一阶段,IBM 的 ALGO 系列语言主要是对理论概念的探索和实践,经过两个版本后诞生出 ALGO60 里程碑式的作品,奠定了现代高级编程语言的基础。同时也有 Basic 语言希望降低编程门槛的探索,并第一次引入了“类型后置”的语法以更符合人类阅读习惯。
我们继续往右看,发现一个独特的系列:CPL 和 BCPL:这两个语言首次阐释了“特性不是越多越好”的黄金原则,因为拉长时间看,CPL 是第一个想成为大而全的语言。从 CPL 到 BCPL 到 C,都是在不断的减少特性;从 C 到 C++再到 C++20,特性又在不断的增加,这时你就会明白为什么 C++委员会对添加新特性是那么的谨慎和小心,但是这都阻挡不了让 C++变成下一个 CPL 的步伐。1967 年诞生的 Simula64 提出了面向对象思想,面向对象思想开始发展。
1970-1979:这一年诞生出两个影响力极大的语言:Smalltalk 和 C。巧合的是这两个语言都是在 1972 年发布的。Smalltalk 一定程度上继承了 Basic 远离机器靠近人类的探索,发扬了语言动态性的思想,探索了面向对象的思想,模糊了编译型语言和解释型语言的界限,对后续的动态语言,脚本语言,客户端语言产生了深远的影响。
C 语言的诞生是为了满足 Unix 而设计的,当时 Unix 使用 BCPL 或 B 语言都无法满足操作系统对编程语言的要求,因此 C 语言应运而生。抛开语言特性,我们也能发现 C 语言的优势有非常多:不但有需求(开发操作系统的动机),还有经验的加成(尝试了 BCPL 和 B 语言,积累了大量的应用经验),并且遇到了好项目(Unix 操作系统),被最聪明的一群人使用(Unix 操作系统开发工程师),注定了 C 语言具有强大的生命力。这期间编程语言的思想已经成熟,面向对象思想在 Smalltalk 的推动下,成为下一阶段新语言首捧的特性。
1980-1989:由于面向对象在 GUI 领域具有独特的优势,借着这十年图形界面交互的高速发展的东风,面向对象思想发展进入快车道。这十年是面向对象思想横行的十年。还记得上个十年的 Smalltalk 和 C 吗?Smalltalk+面向对象诞生了 Self;C 语言+面向对象诞生了 C++;而 Smalltalk+C 语言+面向对象诞生了 Objective-C。苹果公司选择 Objective-C 作为其生态原生语言,使得我们在 2022 年还在写 Objective-C 的代码;C++和 Objective-C 对 C 语言的 100%兼容,使得这两个语言可以充分继承 C 语言的生态和人才,但是 Objective-C 的语法实在太别扭了,Objective-C 的关键字数量众多,并且语法没有一致性可言,在没有 IDE 补全环境下是最难写的语言。
C++保留了 C 语言的语法习惯和设计原则,从 C 切换到 C++几乎没有学习成本,并复用了 C 的生态,这使得 C++迅速流行起来。面向对象的思想在当时来看是实用且先进的,但是现在我们发现基于面向对象思想后面发展的各种设计模式开始把代码玩出花来了,需要学习设计模式的就那几个架构师,但是现在人手一本设计模式,把大象放到冰箱里这么简单事情都要先写一堆的抽象,把看代码把人绕晕...... 当然,这是面向对象思潮的后话了。这也导致后来很多人投向简单直接的 C 了(做了这么多项目下来,发现面向对象很多时候是过度设计的源泉)。
1990-1999:这是编程语言发展最快速的时代,得益于计算机平民化和图形界面的发展,计算机进入千家万户,应用开发的需求激增,编程语言的诉求开始发生变化:对性能要求变弱,而对安全(内存安全,线程安全),人性化(可读性,表达力,低门槛),动态性等提出更高要求。首先登场的是 VisualBasic,强化了 IDE 和编程语言的结合,降低了应用开发门槛。
接下来目前非常火的 Python 也诞生了,Python 诞生在关键字和语法越来越复杂的年代,于是反其道而行之,追求简洁的语法,最具有标志性的是为了省略“{}”直接用空格缩进来划分代码块(这种语法首创是 1966 年的ISWIM语言);有趣的是,Python 追求的简洁语法不是其成功的关键(由于 IDE 的进步,这种语法的形式核心价值已经消失),Python 成功的关键在于其出色的扩展性和跨平台,这让 Python 长期稳解释型语言头把交椅,并且后来的同类语言都很难超越;另一方面,Python 提出的“一件事最好是只有一种方法来做”理念贯穿语言设计(笔者也非常认同的观念)也成就了其优秀的学习曲线和低门槛的优点,一门语言能让人快速上手也是其核心竞争力呀。
时间来到 1995 年,这一年诞生了四个我们耳熟能详的编程语言(JavaScript;Java;PHP;Ruby),我们把编程语言发展最快速的时代颁发给这个时代绝对不为过。Java 对 C++做减法,增加了安全性,成为历史上最成功的语言之一,嵌入式、客户端、后台都有 Java 的身影。但是这种成功不会持续太久,Java 涉及领域太多了,语言特性博而不精,这注定了 Java 在 20 年后的没落,话又说回来,能在主流编程语言连续 10 多年榜上有名,已经完成了 Java 的历史使命。
JavaScript 逐渐发展为浏览器上的原生语言,乘着 Web1.0、2.0 的东风,和低门槛的学习成本,以及解释型引擎的发展,JavaScript 已经突破浏览器领域的限制,几乎无所不能,前端开发者们拿着 JavaScript 一次又一次的向客户端和后台阵地发起冲锋,ReactNative、Node.js 等技术炙手可热;随着硬件和脚本引擎的进步,就连曾经全用 C++编写的 QQ 客户端,现在也投入 Electron 的怀抱了;但是我们从现在的角度看,JavaScript 的不少地方已经落后于时代,我们急需一门新的语言或者革命来代替它。
2000-2010:这是 PC 互联网的高峰和移动互联网的萌芽的时代,也是我们记忆深刻的时代。C#在 2000 年首发,微软基于 C++和 VB 的经验,借鉴 Java 推出了浓墨重彩的 C#,我们站在历史的高度可以说.Net 是失败的框架,但是这都难以掩盖 C#的光辉;C#和 Java 同样是对 C++做减法,但是在很多细节上 C#相对 Java 更接近 C++;由于 C#搭上了不争气的搭档.Net,不像 Java 那样一开始就那么成功,塞翁失马,反而让 C#的历史包袱非常轻。
C#在接下来的编程语言发展中多次成为第一个吃螃蟹的人,C#给现代语言带来了非常多理念和思想,从 C#1.0 到 C#11,几乎一年一个版本,这发展速度其他编程语言只能望其项背。第一次接触可空类型(空安全),??运算符,dynamic 类型都是在 C#,笔者从事 windows 开发近十年,从学术角度来看,笔者对 C#的喜爱溢于言表。但是从工程角度来看,.Net 和 C#支持跨平台,但是他俩动作总是慢半拍,错过了 PC 互联网和移动互联网的机会,只在 Windows 平台流行了。
C++作为通用语言真的太成功了,但是它已经不是一门高安全性高人性化的一门语言,开发出更友好的安全的"C++"变得迫切起来,这时出现了很多新的语言蠢蠢欲试,其中包括 D 语言和 Rust:D 语言是 C++编译器作者设计实践的一门新语言,吸收了很实际项目的 C++经验教训,但是仔细了解 D 语言你会发现,这就是拿 C++编译器魔改的一个”私有 C++语言“编译器;这也导致很多 C++的弊病不能彻底废除,属于改良派。
过了 3 年,Rust 横空出世:Rust 在理念上有很大的进步,比如虽然没有垃圾回收器,但是强制使用者明确对象的所有权,通过所有权编译器可以在合适的时机释放内存:这是第一次流行语言不使用垃圾回收方式解决内存管理问题,在性能上比垃圾回收有着极大的优势,虽然性能无损,但是相比垃圾回收模式则需要开发者编码时增加对象所有权的思考过程,即便如此,这也比在 C++花几个星期解决内存访问异常的问题好多了呀。Rust 属于改革派,重新审视 C++的应用场景,对语言特性重新设计,这真的是一次精彩的尝试!Rust 也比 D 语言更加成功。
到了 2007 年,对后台影响深远的 Go 语言诞生,当时大部分后台还是用 C++或者 Java,我们前面说了 Java 注定会被替代,Go 首先在后台开发常见吹响号角,后面还会提到 Kotlin 在客户端尝试替代 Java。Go 的诞生是一个非常好的时间节点,除了剔除很多 Java 的弊病,还直击应用场景的痛点,在性能(多核,网络,并发)上着重发力,前进了一大步!
另外,Go 在工程上的成功容易掩盖其了语法特性上的新尝试:Go 语言是近代第一个捡起类型后置的语言,提供了丰富的语法糖(如:=)使得代码简短并语义明确,这直接影响了后面的 Swift,Rust、Kotlin 等有着改革雄心的语言。Go 的成功除了 Go 的优秀因素外,我们也发现:瞄准细分应用场景的语言在工程上是非常具有活力的。
2011-2020:移动互联网的快速发展的时代,这个时代最需要的是提高移动端高生产力语言。首先登场的是 Android 平台的 Kotlin,Kotlin 是 JVM 语言,能直接复用 JVM 的生态,Kotlin 和 Java 有点像当年的 Objective-C 和 C 的感觉,但是不像 Objective-C 和 C 能混编,Kotlin 重新设计了语法规则,大大提高了可读性和安全性。3 年后苹果公司也交出 Swift 的答卷,Swift 被简单的形容为 “没有 C 的 Objective-C”,Objective-C 花了 30 年,终于摒弃了 C 语言的影响。
新的语言不能没有成熟生态的支持,和 Kotlin 与 Java 同是 JVM 语言不同,Swift 使用桥接(Bridging)的方法得以复用 Objective-C 的生态,这未尝不是一次创新的尝试,可以让 Swift 没有任何包袱重新设计。Kotlin 和 Swift 都选择了更适合于阅读的类型后置,更简洁的语法,更丰富的语法糖来提高可读性和语义准确性。对于现有的大型项目的开发人员来说,从 Java 到 Kotlin 或者从 Objective-C 到 Swift 有点稍微难以适应,我们被 C 风格语言荼毒了这么久,突然不荼毒了会很不习惯。
在这个时期诞生的 Dart 旨意成为 Javascript 的接班人,但是关注度不多,随着 Flutter 的火热,Dart 也进入了大众的视野。Dart 与 Kotlin、Swift 彻底断舍离 C 风格不同,Dart 仍然选择 C 语言风格;在笔者看来,现在大部分项目都会由多种语言编写,保持和 C 语言风格在多语言项目中也许是一件好事:前段时间笔者经常在 iOS、Android、PC、Mac 四个平台编写代码,涉及语言不限于 Java,Kotlin,Objective-C,Swift,C/C++,Dart,语言风格一天切换好几次,这反而非常不人性化。
Dart 没有很好的成为 JavaScript 的接班人,谁能想到下一年的 TypeScript 火起来了?TypeScript 选择和 Dart 不同的方法接班,相比 Dart 激烈的方式,TypeScript 完全兼容 JavaScript,TypeScript 增加一些语法让编译器把错误提前暴露,大大增强了 JavaScript 的安全性,给 JavaScript 狠狠的续了一命,让 JavaScript 可以继续祸害程序员们。话说回来,Dart 在安全性、性能、都给 JavaScript 带来巨大的进步,也祝福 Dart 最终能顺利接班。
2021-今:除了新语言的诞生,我们也不能忽视每个编程语言都在不断的发展和变化,在 2022 年谷歌推出的 Carbon,该语言旨在修复 C++的几个明显缺点,提高 C++的可读性、安全性,并平滑语言的学习曲线。Carbon 和 D 语言有点相似,属于对 C++现代化的改良派,但是和 D 语言不同的是 Carbon 有个好爹,并且通过“双向互操作性”融入 C++生态的同时抛弃 C++历史包袱,并使得语言的语法可以重新设计。
从 Java 被逐渐替代的经验教训中我们发现,目前 C++在应用层正处于城池渐失的状态;我们应该明白,应用层和底层框架的需求不同,不应该从顶到底都使用一套语言,现在 C++所失之城池就是新语言非常好的机会,抓住应用层的安全、人性化、和与 C++的双向互操作性,Carbon 确实是准确找到了定位。简而言之,我对谷歌的 Carbon 还是非常期待的。
除了在应用层 C++有待进步,即使在底层场景,C++也有很大的进步空间。2022 年,Herb Sutter 的实验项目 CppFront 值得一提。简单来说,CppFront 通过给 C++增加一层预处理语法规则(cpp2)来提高 C++的易用性和安全性。和 Rust、Carbon 不同,Herb Sutter 的这个实验项目不是寻找 C++的代替者,而是 “寻找突破界限的方法,使 C++ 本身向前发展,并加倍努力使用 C++,而不是切换到其他东西”。这是个为 C++标准探路的实验项目,有这么丰富的理论和实验,下一代 C++标准必然能焕发出新的活力。但是也别太奢望 C++能回到从前那样样能手的辉煌,历史的经验告诉我们大而全的语言最后都会被替代。
小结一下这 70 年总体的发展趋势
前面我们从时间维度简单的从上往下捋了一遍,不难看出,主流通用编程语言主要受 2 个成熟语言(Smalltack 和 C 语言,且都诞生于 1972 年)的影响,有的语言被某个影响深一些,有的两者都汲取;接着主要往更安全、人性化、跨平台这三个方向进行发展,而在性能,语法,重用生态、扩展性,IDE 友好等多维度各有发展、取舍、借鉴。
同时我们也发现:编译型和解释型语言边界逐渐模糊,语法流行交替更迭,语法语义更加明确,语言的目标领域更加细化。别看近十几年新语言出了那么多,语法花里胡哨,其实很多语言同质化严重,类型后置也是早就玩过的,每个时代流行不同罢了。前面我们顺着时间简单过了一遍图中的部分语言,图中的信息远不止我们这里讨论的内容,限于篇幅还请点开大图品读。
展望未来二十年发展趋势
还是那句话,编程语言的发展离不开计算机领域其他技术的发展。编程语言发展至今,特性的互相借鉴的情况越来越普遍,语言生态互通也更常见(如直接兼容,或者 Bridging 技术),编译型和解释型界限也越来越模糊(比如 Dart 既能编译运行也能解释运行,还能边解释运行边编译),语言之间的性能差异也越来越小(V8 引擎,JIT,硬件性能提高),语言之间的互相转换也开始普遍(Kotlin to Java to JavaScript,Dart to Javascript),甚至在 AI 的加持下,准确的把具有垃圾回收语言(如 Kotlin)往没有垃圾回收语言(如 C)的转换也变得可能。
如果使用 AI 做预处理,静态检查和类型安全的语言没有了优势;如果使用 AI 辅助编程,我们甚至发现我们不是在写代码,而是在跟 AI 聊天(如最近很火的 chatGPT)!这时你还会纠结 AI 在使用什么编程语言吗?高级编程语言发展的黄金时代即将落幕,我们很难再看到像垃圾回收,空安全,异步等让我们兴奋不已的新语言特性了。当然,编程语言还是会继续往更安全、人性化(可读性、可写性)、跨平台这三个方向进行发展,但是 AI 辅助编程的出现让编程语言的使用者发生了一些变化,编程语言将同时被人类和 AI 共同使用,基于这个方向,那么编程语言的可读性(精简、语义准确)和跨平台会更加重要。
使用Copilot从js转换为python
让我们继续展望,二十年后的发展趋势是什么?
探讨这个问题,我们要回到编程语言的初心:什么是编程语言?
编程语言是被标准化的,用来向计算机发出指令,让程序员利用计算机能力的工具。
简而言之,编程语言只是我们利用计算机能力的工具,小白用户能理解按钮,图片,短视频;计算机能理解汇编指令,这时需要一群聪明的人把用户需求转换为机器代码,这群人用编程语言让这项工作变得简单;二十年后我们还需要一群人专门设计交互、视觉、框架、代码来架起小白用户使用计算机的桥梁吗?到那时的人们也许分不清 AI 和计算机的区别了,到那时利用计算机的能力也许就像我们现在跟同事说话交流一样简单。
也许你会觉得 AI 也需要编程语言去实现,以方便后续的维护和迭代,但是也许那时 AI 已经具备自己维护自己代码的能力了,那时也许人类已经看不懂什么是 C++、Python,只有 AI 懂了,甚至 AI 自己发明新的编程语言编写了下一代的 AI(AI 可能已经觉得可读性是个包袱了,直接写机器代码不是更爽?)。就如第一个 C 语言编译器是用汇编写的,后面 C 语言编译器是用 C 语言写的一样。我们前面讨论的大部分的编程语言注定回到了历史的垃圾桶里,本来无一物,何处惹尘埃。
编程语言将在历史的发展中失去了作用和价值,成为未来博物馆中一个陈列的展品,向世人展示人类过去经历的苦难。
公众号后台回复:情人节
可获取源码
另外,我们今年新建了粉丝交流群
前200人可以扫码加入
标签: Java Objective-C
推荐文章
- 七十年编程语言发展漫谈-速看
- 美国白宫17日发布消息称,应俄亥俄州州长请求,美国卫生与公众服务部和疾控中心正在部署一支由医务人员和毒理学家组成的团队,对该州火车脱轨造成的有毒化学品泄漏开展公共卫生检测和评估 当前资讯
- 知柏地黄丸的作用与功效与六味地黄丸区别_知柏地黄丸的作用
- 每日热文:如何做课件直播_如何做课件
- 焦点简讯:白色羽毛怎么画_白色羽毛怎么画简单
- 环球热资讯!沙头街道:推动党建引领,走访代表企业
- 每日播报!伊恩-赖特:努涅斯除了进球什么都做到了 他必须坚持下去
- 金融人事调整开启,一日之内三家机构换人:国开行、中行、人保
- 当前关注:大连市卫生监督局举报电话(含各区县市)
- 苏州瑞尚二手车市场_苏州二手车市场在哪里?-天天热资讯
- 智己L7的长途自驾,让我对智能驾驶有了全新的看法-环球报资讯
- 科伦坡国际机场 世界时讯
- 月经颜色发黑是怎么回事_月经颜色发黑是怎么回事
- 域名解析_说一说域名解析的简介|全球实时
- 世界今亮点!心血管怕换季,做好4点,让心血管更健康!
- 今日热议:气压计有哪几种_气压计
- 会编代码、能写诗歌……AIGC新赛道厦企如何出圈? 今亮点
- 压垮餐馆老板的最后一根稻草 竟是扫码支付 每日消息
- 当前速读:大街上送的“大鹅”能要吗? 需警惕个人信息有泄露风险
- 首支乡村振兴领域定制债券指数发布 环球观速讯
- 【全球播资讯】一日三餐,哪顿饭更重要?新研究找到“最佳进食模式”
- 广西“夜经济”观察:消费攀升 市场回暖_环球热闻
- 为打造新时代工商名城 贡献人大智慧和力量_环球简讯
- 打伞是什么内涵 当前热讯
- 罗紫琳罗中旭,罗紫琳简历,罗紫琳 俄罗斯|环球快讯
- 30-40岁女人别留这6种发型,显老显土还丑,尤其第3种不忍直视
- 今日讯!周杰伦是什么星座?哎哟,真的很不错哦!
- 世界时讯:恒大肖恩回应134亿元资金被占用调查报告出炉
- 2001太空漫游剧情解析 知乎_2001太空漫游剧情解析_全球热文
- 民进党态度变了,已批准大陆官员率团访台:也欢迎国台办主任来台
- 全球微动态丨中亦科技:公司十几年耕耘在IT基础架构领域,在技术上积累了全覆盖技术能力、全周期咨询能力和最佳实践产品能力的核心竞争力
- 2021年春晚总导演 2021年春晚总导演是陈临春
- 快速简便的即食食品对我们或地球来说不是最好的
- 如何压花皮革工艺品
- 每日时讯!相机照片怎么恢复 你可以试试这样做
- 魔兽争霸3修改器游戏没有运行_魔兽争霸3修改器1 24e_天天速看料
- 僻静的近义词的读法
- 世界快看:孔侑最新电视剧有哪些_电影全集
- 当前速递!河北省金团合作“金团助青企”行动启动
- 睡眠暂停综合症的治疗方法_睡眠呼吸暂停综合征怎么治疗
- bg是什么意思_bg的中文意思
- 姜汉娜王大陆怎么认识的_因拍戏相识的跨国之恋_当前报道
- 黑枣的功效与作用及吃法 天天滚动
- 若兮若兮奈若何_关于若兮若兮奈若何的简介
- 好听的歌推荐 焦点滚动
- 热资讯!8方面、10件大事!2023年成都科技创新这么做
- told是什么意思_told
- 环球简讯:幼儿园国旗下讲话稿
- 湖南裕能:公司2022年报公告日期预约为4月13日
- 劣后资金_劣后资金_热点在线
- 焦点速讯:英语actor的中文是什么意思
- 每日视点!送男人什么礼物
- 嵩明:多部门联动执法 开展“马路市场”整治行动
- 中国十大恐怖凶杀案 十宗罪恐怖程度堪比北京灵异事件
最新资讯
- 达芬奇的恶魔第一季网盘_达芬奇的恶魔第一季
- 焦点速读:一起装修网天津_一起装修网靠谱吗
- 天天热点!刚认识的女孩送什么礼物
- 污水泵十大品牌排行榜_污水泵十大品牌|全球信息
- 乔迁新居送什么花和树_乔迁新居送什么花
- 当前动态:imac是什么啊
- 视讯!日本央行新正副行长基本敲定 市场期待货币政策正常化
- 露华浓525是什么色 天天快消息
- 金域医学: 广州金域医学检验集团股份有限公司关于2019年股票期权激励计划授予的股票期权第三个行权期第二次行权结果暨股份上市的公告 天天观热点
- 7*24小时今日快讯:男子中年失业待家妻子变得勤快 专家谈中年危机折腾不动也别自责|焦点速讯
- 看,水厂的“心脏”如何运转 世界观速讯
- 环球热文:天津有几个火车站近_天津有几个火车站
- 一线调研|一家德国企业的“五连投”
- 每日热门:英媒:向乌大量供武 英国弹药库存堪忧
- 加大产权和企业家合法权益保护
- 擎天撼地的意思的读法 环球短讯
- 邯郸广平县现在国家规定产假几天
- 相对高度和绝对高度区别_相对高度|每日关注
- 全球热门:三峡ppt课件优翼_三峡ppt课件
- 动态:技师证有哪些_技师证
- 江苏一地发出倡议:未婚女青年不要车不要房 自己家业自己创
- 天天看热讯:费用报销单怎么写大写金额_费用报销单怎么写
- 世界新动态:黄景瑜未否认私生活恋情,工作室声明!法院认定诽谤
- 是否提前还房贷?ChatGPT这样说|世界资讯
- 全球热消息:这地集体签“抵制高彩礼”承诺书,江西农村彩礼高不高?
- 针眼怎么治最快土方法_针眼怎么治 世界信息
- 抖音音乐达人怎么上传歌曲?如何认证?
- 为人才提供优质服务,这个张江人才公寓的租赁住房新装上市
- 世界热点评!局域网打印机无法打印文件_局域网打印机无法打印
- 新消息丨半全场胜负什么意思_半全场胜负什么意思
- 全球滚动:养成小说男养女古代_养成小说
- 每日时讯!自媒体运营是做什么(自媒体公司上班干什么的)
- 2023年KPL春季赛成都入场后可以二次进出吗?_每日视讯
- 我没有上班,但是我有车自己做事情,一个月2万,没有公司电话怎么办不了信用卡_天天视讯
- 广州海域查获1艘涉嫌非法倾倒淤泥船
- 小金橘子怎么吃-当前热门
- [快讯]铂科新材:关于股东减持计划实施完成 全球播资讯
- 天天视点!一个男人送的苹果是什么意思
- 天天微动态丨2021专科录取查询时间
- 倒追汪小菲无果被李承铉甩,结婚五年丈夫入狱还被曝转17亿给前妻!安以轩实惨?-世界热头条
- 热点在线丨白蒋
- 天天观察:建平西校大唐校区_建平西校
- 今日头条被约谈 今日头条怎么了?被约谈原因是?_当前动态
- 2021年正月初一吉时什么时候 焦点速看
- 【当前独家】即墨教育网官网_即墨教育网
- 精彩看点:书仓网_书仓网地址
- 手工礼物制作大全,盘点10款最想收到的
- 环球快资讯:送女朋友生日礼物排行榜,值得剁手精选清单
- 3月21日是什么日子(节日、纪念日)
- 实时焦点:焦作市投资集团10亿元中票明起申购,申购区间为4.5%~6.0%

(资料图片)



