天天实时:为什么我们不再发明编程语言了?
上个世纪,数百种编程语言被发明出来,但是进入21世纪,当我们都进入互联网时代时,只剩那么寥寥几个了。
(资料图)
如果你翻一下TIOBE得编程语言排行榜,就会发现20年来,上蹿下跳的就是那几张老面孔:C , Java, Python ,C++ , C#, JavaScript......
80年代后期,平均每个月就会出现一种新语言,现在,平均每年出现一个就不错了。
我有点好奇,就去扒了扒其他编程语言的出现时间,把他们分成了分为中生代、新生代和 老年代。
先看中生代的家伙们,20多岁,30出头,正是编程的中坚力量。
Python : 1991
Visual Basic : 1991
PHP : 1995
Ruby : 1995
Java : 1995
JavaScript : 1995
C# : 2000
(1995年还真是神奇的一年啊,几位大佬同时诞生。)
再看这些老前辈,尤其是C语言,老而弥坚,屹立50年不倒,把系统级编程吃得死死的。
Lisp : 1958
Pascal : 1970
C : 1972
Objective-C : 1984
C++ :1985
Object Pascal : 1986
新生代则活力无限, 锋芒毕露,对老家伙们虎视眈眈。
Go : 2009
Rust : 2010
Kotlin : 2011
Elixir : 2011
Julia : 2012
TypeScript : 2012
Swift : 2014
新生代只是它们想挑战中生代的地位,抢班夺权,希望渺茫。
主要有这么几个原因:
1. 编程范型没有变化
还是老三样:面向过程,面向对象, 函数式。
在冯诺依曼架构下,恐怕也不会出现什么新的范型了吧。
现在TIOBE排行前十的中生代语言完美涵盖了这些范型,例如Java,刚诞生的时候支持面向对象,但是后来补上了函数式这一课。
像Python、JavaScript一开始就支持面向对象和函数式编程。
2. 开发领域
开发领域有桌面开发、Web开发、系统级软件开发、后端开发,数据分析,人工智能等。
中生代的编程语言不但这些领域看得死死的,还互相扩展,侵入对方的领地。
其中最典型的就是JavaScript这个屌丝的逆袭,一开始不过是寄居在浏览器中的一个小语言,后来通过V8, Node.js竟然进入了后端,还用Electron蚕食桌面开发!
Python也是,本来用它写点儿小工具,开发点儿小网站,后来竟然傍上了人工智能这个大款,从此发达了。
3. 生态系统
Java , Python, JavaScript,C , C#等经过这么些年的发展,哪个不是积累了海量的类库,哪一个没有庞大的生态系统?想动它们,没有一场革命是绝对不行的。
新语言即使很好,但是看看那么多现有的代码,谁敢轻易切换?
4. 时代的红利
Java遇到了互联网,Python遇到了大数据和AI, JavaScript遇到了前端开发, 时代的机遇让它们爆炸式发展。
Go的运气不错,遇到了云计算,强势崛起。其他几位想要出头,那是相当难了。
我曾经悲观地认为:主流的编程语言已经都被发明出来了!
以后新出现的语言都是改进,改良,没法闹革命翻身了。
举个不恰当的比喻, C, Java, Python, JavaScript,C# , C++, PHP 就像现在的西方七国集团,牢牢占据着最大的市场,然后只要有新人冒出来,就会受到无情的打击。就像现在中国想技术突破,被美国和西方不择手段地打压一样。
但是也并不绝对,就像中国一定要向上突破一样,我看到在系统编程领域,也有一个新星冉冉升起:Rust。
Rust虽然没有发明新东西,但是却融合了多种语言的特性和多种编程泛型,它不但包含了上面说的三大编程范式,还集结了泛型、底层内存管理、所有权等特性,可以说是一个集大成者(这也恰恰是它学习曲线陡峭的原因)。
Rust是一门同时追求安全、并发和性能的现代系统级编程语言,有望挑战C语言的地位。
当然,编程语言少,对程序员来说是好事,程序员可以少学一点东西,少掉几根头发。
最后再聊聊人工智能时代的编程问题,我在《天才程序员》中看到一个有趣的比喻,说普通的编程就像循规蹈矩的机械装置,机器会一板一眼地去执行,程序员在逻辑的宫殿中穿行,沿着头脑中的路线行走,一切都有章可循。
但是训练神经网络就完全不同,程序员和程序之间更像园丁与田园的关系。
豆角为什么突然不长了?西红柿为什么不好吃?园丁可能会换换土壤,可能会调整一下作物之间的距离,也有可能把豆角转移到阳光充足的地方,或者少用些肥料?成功了!它们又开始茁壮成长了!
园艺技能的长进有赖于数之不尽的实验和来之不易的经验。很多新手园丁栽种的第一批作物要么长不好,要么就死了。但最终,经过不断试错(和借鉴同行的经验),园丁们会积累更多知识,形成难以言传的直觉,比如什么有效,什么无效。此时,如果你带他们去新的田园,即便那里的土壤和光照条件完全不同,他们也可以很快弄清楚哪些作物更适合在此处栽种。
看到了吧,虽然编程技能必不可少,但是重点变成了收集数据,不断训练,不断调整,然后“祈祷”程序奏效。
不知道这是程序员的幸运呢,还是不幸?
关键词: 编程语言 Java JavaScript Rust 人工智能 TypeScript Python Pascal LISP Swift语言 Ruby Objective-C Node.js 泛函编程 冯诺伊曼 Visual Basic BASIC语言 Kotlin 编程范型 怡丽丝尔
推荐阅读
每天在网上找素材很麻烦?求字体网站推荐
每天在网上找素材很麻烦?今天贴心的小编整理了一下收藏夹,从中选出了4个不错的资源网站,内容包括字体和图片,感兴趣的就继续看下去吧,记 【详细】
用手机号查快递 如何用手机号查询快递?
24号清关完四方的订单跟踪一直不显示国内转运物流单号,客服让我们等更新,有群友反映说都收到货了也没更新物流单号。我百度了一下,找到了 【详细】
地震发生时躲在哪里?地震发生时躲在哪里存活率较高?
关于到现在蚂蚁庄园小鸡问答知识科普:地震发生时躲在什么空间里自救存活率较高这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个 【详细】
卫生许可证查询官网 食品卫生许可证查询系统?
卫生许可证查询官网食品卫生许可证查询系统?卫生许可证查询要怎么查?我们浏览器搜索 全国食品经营许可社会公众查询第一个搜索结果是我们要 【详细】
华硕电脑售后服务点?上海华硕笔记本服务点盘点
上海华硕笔记本修理点华硕电脑售后服务点?华硕在全国各地都有服务点。以下是上海华硕的服务点:1、上海松江区乐都路251号乐都大厦13楼J~K座 【详细】
相关新闻
- 天天实时:为什么我们不再发明编程语言了?
- 今日热搜:乡村振兴-陕西:小小“土特产”搭建老乡就业大舞台
- 魅族20系列:小而美的旗舰要来了?
- 天天快消息!IT大佬推荐!新手学习Python最应安装的9个软件
- 海峡人力:权益变动报告书
- 诗人会被机器人取代吗?
- 快消息!对话调教ChatGPT,居然变成在线犯罪指南!
- 烧光400亿,首辆法拉第FF91抵达上海,贾跃亭要打翻身仗了?_焦点热文
- 环球播报:嘎子吹嘘8999元的飞利浦手机,收货后跟山寨机没啥两样
- 【环球热闻】ChatGPT相当于9岁人类小孩,它还真把自己当个人了?
- 皮肤适应性与温和光热抗菌多功能水凝胶用于耐药菌感染的伤口愈合 环球新要闻
- 价值43万元!初代iPhone手机卖出天价,果粉为情怀买单?-环球新视野
- 【天天快播报】特斯拉又双叒叕失控了,深扒新能车!
- 全球首本ChatGPT撰写、AI翻译校对图书将出版;2022年元宇宙搜索流量下降约80%|AI周报 全球消息
- 国产爆发,比特币起飞还是瀑布?行情分析:BTC、ETH、LTC、DOGE|全球球精选
- 捷捷微电(300623.SZ)拟上调功率半导体6英寸晶圆及器件封测生产线总投资至8.09亿元
- 苹果手机远程控制安卓手机,为什么不能发起控制?-世界播资讯
- 45亿条地址信息被泄露?这些数据都是如何流出的? 聚焦
- 月薪3.5万!美团"杀入"香港,高薪招揽外卖小哥!腾讯、抖音也有动作,为何巨头盯上这一领域? 世界报道
- 简单的SUM函数就应该这么用,格调上去了!-每日消息