TIOBE 2 月编程语言排行榜:Objective-C 的出路在何方?

有竞争才会有进步,在第四次工业革命到来之际,随着物联网、人工智能、自动化、区块链、XR 等技术的逐渐成熟,底层工具篇中的编程语言界发生了怎样的变化?真实情况究竟如何?

近日,一月一更的 TIOBE 编程社区为我们揭晓了最新编程语言的现状。

在伊始之际,需要注意的是,TIOBE 编程语言排行榜是编程语言流行趋势的一个指标,这份排行榜排名基于全球技术工程师、课程和第三方供应商的数量,其中包括了流行的搜索引擎以及技术社区,如 Google、Bing、百度、维基百科、YouTube、CSDN 等等。具体的计算方式详见:https://www.tiobe.com/tiobe-index/programming-languages-definition/。请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。

这个排行榜可以用来考查你的编程技能是否与时俱进,也可以在开发新系统时作为一个语言选择依据。接下来,我们将与大家一同窥探 2 月 TIOBE 编程语言的趋势变化。

Objective-C 的退让真的成全了 Swift?

和上月相比,本月编程语言排行榜的 Top 10 并无太明显的变化,逐渐形成铁打的 Java、C、Python、C++、C# 局面。

在此之后,Go 语言上升了三个名次,如今位列第 11 名。而近年来,Go 语言的迅速普及离不开 Google 的扶持,当然最主要的原因还是其作为一种轻量级的开源语言,能够很好地使用于云计算领域,也适合当今的微服务架构,由此受到开发者的广泛关注。

除此之外,令人颇为遗憾的是,编程语言 Objective-C 在本月 TIOBE 排行榜中陡降了 7 个名次,开始在 Top 20 的边缘疯狂试探。对此,TIOBE 编程社区官方剖析道,实际上,这种下降趋势所花费的时间比预期的要长得多。

早在 2014 年,苹果就宣布了新的编程语言 Swift 将成为 Objective-C 的后继产品。想当初,Objective-C 在 TIOBE 排行榜中还能挺进 Top 3,且该语言也在 iPhone 和 iPad 的移动应用程序开发中风生水起。但就在苹果的官宣公告发布后,Objective-C 的市场份额逐年递减,从 2014 年的占比 12% 下降到 2016 年的 1%。与之形成鲜明对比的是,Swift 从 1% 增长到 2%。至于其中的差额 10%,据统计,似乎被可用于多个移动平台的其他编程语言所侵蚀。

基于以上,TIOBE 官方表示,也许可以得出这样的结论:苹果通过用 Swift 直截了当地取代 Objective-C 似乎是一个错误,但对此广大的 iOS 程序员也别无他选。Objective-C 作为一种编程语言在一定程度上已经过时,这肯定需要苹果重新设计。对于苹果而言,较好的选择或许是逐步开发具有现代功能的 Objective-C。好比 Java、C ++ 和 C# 之类的语言通过在每个新发行版中进行小的更改而得以幸存。不会像现在一样,苹果通过这一举动失去了其编程语言市场份额的 10%。不过话虽如此,Swift 现在位于 TIOBE 排行榜的第 10 位。

其他编程语言排名

下面列出了完整的 21-50 名,因为是非官方发布的,所以可能存在遗漏:

第 51-100 名如下,由于它们之间的数值差异较小,仅以文本形式列出(按字母排序):

  • (Visual) FoxPro, Apex, ATLAS, Awk, Bash, bc, Bourne shell, C shell, cg, CL (OS/400), Clojure, Common Lisp, Crystal, cT, Curl, Elixir, Emacs Lisp, Forth, Hack, Icon, Inform, Io, J, JScript, Korn shell, Ladder Logic, Maple, MEL, Mercury, MQL4, NATURAL, OpenCL, Oz, PL/I, Programming Without Coding Technology, Prolog, Pure Data, Q, Raku, Red, Ring, S, Smalltalk, SPARK, Stata, Tcl, VBScript, Verilog, VHDL, WebAssembly

Top 10 编程语言 TIOBE 指数走势(2002-2019)

历史排名(1998-2019)

注:以下排名位次取决于 12 个月的平均值。

编程语言“名人榜”(2003-2018)

详细榜单信息可参考 TIOBE 官网:https://www.tiobe.com/tiobe-index

整理 | 屠敏
出品 | CSDN(ID:CSDNnews)


https://mp.weixin.qq.com/s/oMXvCnQ0RURMjZBZYgQqfw

高仿 Eyepetizer | 开眼短视频

基于 Kotlin 语言仿写「开眼 Eyepetizer」的一个短视频 Android 客户端项目,采用 Jetpack + 协程实现的 MVVM 架构。

发布于:6月以前  |  998次阅读  |  详细内容 »

DialogFragment引起的内存泄露

发布于:8月以前  |  1238次阅读  |  详细内容 »

太经典了!雷军 1994 年写的代码,像诗一样优雅!

发布于:8月以前  |  386次阅读  |  详细内容 »

图解 | 线程的麻烦事儿,Actor能解决吗?

发布于:8月以前  |  332次阅读  |  详细内容 »

日志规范多重要,这篇文章告诉你!

发布于:8月以前  |  321次阅读  |  详细内容 »

最经典的两种软件架构模式

发布于:9月以前  |  268次阅读  |  详细内容 »

VSCode源码分析 - 主要窗口

workbench.ts中startup里面Workbench负责创建主界面,其文件路径为:`src/vs/workbench/browser/workbench.ts`

发布于:9月以前  |  515次阅读  |  详细内容 »

docker 访问宿主机网络

docker容器访问宿主的方法

发布于:9月以前  |  617次阅读  |  详细内容 »

源码浅析 SDWebImage 5.5.2

本文基于 SDWebImage 5.5.2。重读的原因也是由于发现它的 API 在不断迭代,许多结构已经不同与早期版本,同时也是为了做一个记录。阅读顺序也会依据 API 执行顺序进行,不会太拘泥于细节,更多是了解整个框架是如何运行的。

发布于:10月以前  |  601次阅读  |  详细内容 »

go-micro 到底是个啥?

go-micro 到底是个啥?这是很多初接触微服务的技术人员想要弄清楚的,但是大多数文章都只告诉你 go-micro 是一个微服务框架,国内大多数作者写出来的文章都只是 go-micro 官网上的示例代码,这样的代码还被随意转载。这让很多初接触微服务和 go-micro 有点摸不到头脑。本文试图说清楚这些事。

发布于:11月以前  |  443次阅读  |  详细内容 »

最多阅读

基数排序 1年以前  |  2559次阅读
冒泡排序 1年以前  |  2474次阅读
十大经典排序算法 1年以前  |  2252次阅读
堆排序 1年以前  |  2249次阅读
计数排序 1年以前  |  2140次阅读
桶排序 1年以前  |  1995次阅读
插入排序 1年以前  |  1847次阅读
快速排序 1年以前  |  1637次阅读
归并排序 1年以前  |  1596次阅读
选择排序 1年以前  |  1571次阅读
希尔排序 1年以前  |  1554次阅读
我用 70 行 Go 语言代码击败了 C 语言 11月以前  |  521次阅读