共计 3182 个字符,预计需要花费 8 分钟才能阅读完成。
摘要: 回顾编程语言几十年来的兴衰起伏,仿佛也折射了整个信息产业的变迁沦亡,想要在技术的洪流里激流勇进,找准并学精一两门编程语言更加显得至关重要。
最近,TIOBE 更新了 7 月的编程语言榜单,长年霸榜的 C、Java 和 Python 仍然蝉联前三位。万万没想到的是,R 语言竟然冲到了第八位,创下了史上最佳记录。而且后续随着业内对数据统计和开掘需要的上涨,R 语言热度颇有些势不可挡的架势。
然而作为程序员吃饭的工具,编程语言之间也造成了某种鄙视链,各大论坛里弥漫着剑拔弩张的氛围,众口难调。也难怪有很多初学者会有纳闷,为什么会有这么多编程语言,我到底应该学什么语言?
回顾编程语言几十年来的兴衰起伏,仿佛也折射了整个信息产业的变迁沦亡,想要在技术的洪流里激流勇进,找准并学精一两门编程语言更加显得至关重要。
编程语言的黄金时代
“有人不喜爱花括号,开发了 Python;有人在一个周末设计了出了 JavaScript;有人因为下班太无聊,于是创造了 C 语言”。对于编程语言的八卦轶事很多,但归根结底,一个编程语言的诞生肯定是需要的推动。
从面向机器的语言、面向过程的语言到面向对象的语言,编程语言的历史也经验了由繁到简。而互联网崛起的 90 年代,无疑也是编程语言的黄金时代。
套用维基百科的总结,“1990 年代未见到有什么重大的翻新,大多都是以前构想的重组或变动。”
但就是这样的一个时代,却是各种编程语言大放异彩的开始。
彼时最支流的编程语言是贝尔实验室两位大佬创造的 C /C++ 语言,互联网的载体计算机的基础设施,都是用这套语言来编写的,包含 Linux 操作系统、数据库、编译器等等。
这也奠定了 C 语言在 IT 畛域的位置,只有有计算机的存在,C/C++ 必定会有它们的一席之地。
但后来者居上的故事也随时在产生,这里的配角是曾经闭幕的今日巨头网景和 Sun。
1994 年,网景公布了一款真正的网络浏览器 Navigator,但受限于过后的技术限度,Navigator 更像是一个本地展现页面,不具备任何交互性能。巧的是,Sun 公司在 1995 年正式向市场推出他们开发的 Java(即 Oak 语言),特点是“一次编写,到处运行”,网景看中了这个潜力股,抉择与 Sun 结盟。
过后的 Java 能够作为脚本嵌入到网页中实现交互性能,即咱们所熟知的 Java Applet。然而,网景认为 Java 作为网页脚本还是过于简单,程序员 Brendan Eich 就在 10 天内,集百家之长,开发了 Javascript,现在所有浏览器前端库都须要基于 JavaScript 实现。
计算机的遍及、互联网的崛起,Web 利用的呈现,Ruby、PHP 等语言也悉数退场。
如知乎作者“强哥学堂”述,“这段时间,尽管没有发明编程语言,然而因为大量企业的参加,编程语言失去了空前的倒退,造成了明天的编程语言的根本状态。也使得软件开发越来越标准化,规模化。”
与此同时,还有一些“小众”的编程语言,正蓄势待发中,期待着“爆红”的机会。
苹果的搅局,生态很要害
2010 年 iPhone 4 问世,乔布斯用智能手机改写了之后的互联网倒退轨迹。iOS 和 Android 撑持起的智能手机市场,让挪动互联网成为相对的舞台配角。
苹果创始了一个全新的生态,作为 iOS 的利用开发语言,始于 1984 年的 Objective- C 从籍籍无名走向声名大噪,依靠各种 iPhone、iPad 应用程序的开发,Objective- C 曾一度挺进 TIOBE 排行榜的 Top 3。
不过,苹果在 2014 年的 WWDC 上推出了新的编程语言 Swift,反对编写 macOS/OS X、iOS、iPadOS、watchOS 和 tvOS 的软件应用,并在第二年发表开源、反对 Linux。
自此之后,Objective- C 的市场份额逐年递加,从 2014 年的 12%降落到 2016 年的 1%。从下图也能够看出,新语言 Swift 从 0 开始,这几年始终处于稳定增长中,往年 1 月也冲进了 TIOBE 榜单的第九位。
尽管一门计算机语言从编译器、语法、根底库到在程序员的圈子中遍及,并不是短时间能够一蹴而成,但苹果依然以一己之力将 Objective- C 和 Swift 带入了编程语言的支流市场,由此可见,编程语言和一个产品的生态规模非亲非故。
微软和 Visual Basic 的关系也是如此,挪动互联网时代之前,VB 已经依附可视化的开发环境,成为最煊赫一时的桌面开发工具,并一度领有 300 万开发者。而且借助 Windows 操作系统市场劣势,VB 现在也始终放弃着居高不下的热度(遗憾的是,微软示意不打算持续演变 Visual Basic 了)。
回到挪动互联网时代,另一边的 Android 抉择的是 Java,随着 Android 营垒的越来越宏大,Java 始终是 TIOBE 榜单上的第一,问题最差也能拿个第二。
一个编程语言的长盛不衰,除了它自身的劣势之外,其生态的建设也至关重要,毕竟用的人多了,也就能自成一派,这一点在 Python 的风行中体现的酣畅淋漓。
大数据 +AI 时代,Python 一骑绝尘
当学 Python 要从娃娃抓起的口号开始风行时,编程语言从 IT 圈子进入到公众圈。
大数据、AI 的时代,Python 能够说是一骑绝尘,从数据分析、机器学习、Web 开发到爬虫开发都能够在 Python 的帮忙下十分轻松的解决。
统计分析人员能够用 Python 解决数据爬取和剖析的问题,大学生能够用 Python 解决租房的问题……
最要害的是,Python 的学习门槛比 C ++,Java 都要低,简洁的语法、成熟的第三方库,即便是非程序员群体,也能在短时间内速成。
用于统计分析、绘图、数据挖掘的 R 语言也是如此,赶上了数据利用剖析的潮流,天然能从泛滥编程语言中怀才不遇。
针对往年 7 月榜单 R 语言创纪录的问题,TIOBE 的 CEO Paul Jansen 明确示意有两大趋势起着关键作用:一是商业统计语言和软件包(如 SAS、Stata 和 SPSS)的时代曾经完结,大学和钻研机构采纳 Python 和 R 进行统计分析;二是与 COVID-19 相干的钻研须要进行大量统计和数据挖掘,所以易于学习和应用的统计编程语言热度回升。
再比方诞生于 2010 年,由 Mozilla 主导开发的 Rust 语言,其更加强调安全性、存储器配置、以及并发解决等个性。去年 Facebook 推出的区块链我的项目 Libra,就抉择了 Rust 语言来构建,因为它足够平安。
Rust 的排名也从 2012 年的 200 名开外,在最新一期 TIOBE 榜单上冲进了 Top20。
咱们以互联网的崛起为分界线,能够看到各个编程语言的此消彼长,必然随同着新的产品和技术。适应新技术倒退的编程语言,即使时隔几十年,也能够从新焕发荣耀。而且随着开源社区的壮大,一门优良的编程语言能够博采众家之长,成长为后起之秀。
结语
如果你想以编程语言立生,倡议你先学习 Java,而后是 Python 和 C ++,因为这三种编程语言,基本上能够解决咱们工作中遇到的大部分问题。
所以,无妨先试试华为云推出的 Java 开发全栈成长打算,让你 0 根底入门,构建 Java 技能体系,向全栈工程师迈进!
最初,如 C# 之父 Anders Hejlsberg 曾总结:如果要我概括在将来十年编程语言会变成什么样,首先,我认为编程语言应该变得更加“申明式”,咱们须要设法为语言引入一些如元编程,函数式编程的能力,同时可能也要寻找让用户有方法扩大语法,使他们能够结构畛域特定语言等等。不过总体来说我想强调的是,对于编程语言,新的范式则是“多范式”编程语言。
本文局部内容有参考以下文章:
1、《IT 行业激荡 30 年 -> 编程语言变迁史》
https://zhuanlan.zhihu.com/p/106808045
2、《计算机和编程语言的倒退历史》
https://blog.csdn.net/abc6368765/article/details/83990756
点击关注,第一工夫理解华为云陈腐技术~