编程语言这一年:Rust、Kotlin 上位,Python 横行,PHP…… 原 荐

作者: 开源中国(OSCHINA)

内容来源: 开源中国(OSCHINA)

最近开源中国(OSCHINA)在庆祝 11 周年生日,编辑部借着这个机会梳理了一下这一年来我们追过的那些开源界/开发界的热点新闻,算作一个阶段性小结。(其实只有 9 个月~)

开源中国是目前国内为数不多深耕于围绕“开源/自由软件”为开发者分享开源业内事、传播开源价值观的平台。目前社区收录的开源项目数量已经超过 50k,其中国产项目数量 10k+。

关于社区会发布哪些类型的新闻内容,开源中国的传统是:

  • 最核心的当然是开源相关的,比如开源项目的更新公告、各个开源社区的相关大事。
  • 知名开发工具的相关动态,包括各种 IDE、浏览器与各种协议/规范等。
  • 开发者强相关的大事件,比如 996。
  • 偶尔有一些泛 IT 界的能够引起开发者共鸣/思考的大事件,比如删库跑路。
  • ……

而这些内容来自开源中国官方编辑,也来自社区的用户 OSCer,借此也感谢 OSCer 们对开源中国社区的支持与维护。“@红薯 你起来啊,怎么就跪下了。”

今年这几个月下来,已经积累了庞大规模的内容,我们按不同方向整理成了数篇文章,接下来会陆续推出,这是第一篇,自然是从编程语言讲起。

OSCHINA 今年关注了什么之——编程语言

编程语言是开发者最亲密的工具,以针对编程语言的梳理作为开篇,似乎再合适不过了。

今年我们注意到了一些编程语言的巨大变化,不是一般的小打小闹,相反,持续发展下去它们极有可能完全改变当前的开发生态。

Rust

Rust 今年成为了微软的“新贵”。

微软表明其正在探索使用 Rust 编程语言 作为 C、C++ 和其它语言的替代方案 ,以此来改善应用程序的安全状况。

微软认为 Rust 是目前业界采用的最佳选择,原因不仅是它能够以内存安全的方式编写系统级程序,还在于其精密性,“if it compiles, then it works”。

此外,Rust 还有其它优势让微软青睐:

  • Rust 静态地强制执行程序的许多属性,已经远超内存安全性,还包括空指针安全性和数据争用安全性(即没有来自两个或多个线程的一块内存的不同步访问)。
  • Rust 的丰富类型系统使编写富有表现力的程序成为可能。 具有相关数据的枚举和强大的 trait 系统等概念进一步强化了 Rust 的目标,即尽可能使程序无错误。
  • Rust 现有的社区对该语言有很大益处。虽然 Rust 仍然是一种年轻语言,但它拥有一个健康的生态系统,既能够促进开源社区发展强大,又能够支持生产用户。

本身语言层面的优势,现在加上微软生态大佬的扶持,我们有理由相信接下来 Rust 的发展应该是前途无量了。

关于 Rust 的发展趋势,还可以补充一点。有开发者询问 Linux 内核稳定版维护者 Greg Kroah-Hartman 是否接受 使用 Rust 开发 Linux 内核驱动 ,Greg 回答在比 C 有优势的情况下可以作为可选项接受。

其它引起热议的相关内容:

Kotlin

Kotlin 与 Rust 一样,今年都强势上位。

在今年的 I/O 大会上, 谷歌宣布“Kotlin First” ,Kotlin 编程语言正式成为 Android 应用程序开发人员的首选语言,并且谷歌接下来的一些 Android 新特性将首先采用 Kotlin 实现。

仅仅几年时间,Kotlin 因其相比 Java 更安全与简洁等优越性,很快占领市场,谷歌 Android 首席布道师 Chet Haase 表示:“在过去的两年中,Kotlin 受欢迎程度一直在提高,超过 50% 的专业 Android 开发人员现在使用 Kotlin 开发他们的应用”。

从今年 Stack Overflow 年度开发者调查 的数据中也能看到这一点:在开发者最喜爱的编程语言中,Kotlin 得到了 72.6% 的正面反馈。

虽然目前还处在早期阶段,但是相信随着 Kotlin 的进一步普及与谷歌公司在 Android 上的运营,Kotlin 在 Android 开发上采用率很快会超越 Java。

其它引起热议的相关内容:

PHP

“世界上最好的编程语言”,这一句虽然已经成为了程序员调侃的经典,但是不可否认,PHP 目前还是具有十分巨大的影响力。

虽然今年似乎没有多少 PHP 相关的重大正面事件发生,但是有开发者为我们详细分析了今天 PHP 是什么样子,这引起了社区的一阵喝彩:

  • PHP 正在积极开发,每年都会发布新版本
  • PHP 5 之后性能在不断提高
  • 有非常活跃的框架、包和平台组成的语言生态
  • PHP 在不断发展,过去几年中添加了许多新特性
  • 各种开发工具在过去几年中已经成熟,并且保持增长

结论是 PHP 早已不是十年前那门糟糕的语言

对许多开发者来说,PHP 目前是 Web 开发的绝佳选择,使用 PHP,可以创建可靠、可维护和高质量的应用,最终结果能够让人满意。

拿数据来说话。根据 5 月份专门调查 Web 技术、提供有关 Web 各种技术的使用情况信息的 W3Techs 提供的数据和报告,PHP 在 Web 开发领域是无出其右的。

针对全球网站服务器端所使用的编程语言进行统计,结果是有 79% 的网站都用到 PHP 开发 ,位居第一。而第二第三名的 ASP.NET 和 Java 占比分别为 11.3% 和 4.0%,似乎完全没有竞争力。

结合一年以来的历史趋势进行观察,PHP 在服务器端的使用占比也基本稳定在 79%。

调侃归调侃,PHP 的能力和影响力就摆在那里,至少它现在还没衰落,并且大有好转的迹象。

所以,世界上最好的编程语言是谁?

其它引起热议的相关内容:

Python

看一看今年各种编程语言排行榜吧,你会发现,Python 不仅是蟒蛇,还是条巨蟒,当前它正在疯狂吞噬其它语言的市场。

是的,Python 在各大编程语言榜单上都有明显且优异的成绩,在一些榜单中它现在已经将千年老大 Java 遥遥甩在了第二位。

以至于有人在分析: Perl 成为了过分炒作 Python 的牺牲品 ,以至于有人在思考: Python 是不是把 R 勒死了?

Perl 是一种高级、通用、直译式、动态的编程语言,它汲取了 C、sed、awk 与 Shell 脚本以及众多其它编程语言的特性,其中最重要的特性是内置正则表达式,以及强大的第三方代码库 CPAN(the Comprehensive Perl Archive Network,全面的 Perl 存档网络)。

Perl 可以运行在超过 100 种计算机平台上,适用性非常广泛,从大型机到便携设备、从快速原型创建到大规模可扩展开发都可以一把梭,除 CGI 以外,它还被用于图形编程、系统管理、网络编程、金融、生物以及其它领域。

要知道,被称为脚本语言中“瑞士军刀”的它,2005 年在 TIOBE 编程语言排行榜上曾坐过第三名的位置,当时指数超过 10%,而现在因为同类型语言 Python 的崛起(当然也有自身社区的原因),把它逼到了死角。在最近一次 TIOBE 榜单中,Perl 排到了 19 位,同时,开始单独统计的 Perl 6 仅排到了 93 位(Perl 6 与此前版本基本上可以算两种语言,这也是前边所说它自身的原因之一)。

R 的境遇与 Perl 差不多,都是在大家共同的战场上,被 Python 强势赶尽杀绝,现在成为被预言将会衰落的语言。

Python 的火热,其实也不是从今年开始的,但是今年有愈演愈烈的势头,同时,如果 AI、安全、大数据与云计算等领域不退火的话,Python 热估计还可以再演下去。但是话又说回来,这些目前非常具有实际意义的领域有什么理由退火呢?

其它引起热议的相关内容:

其它

除了前边过于显眼而单独拎出来简单分析的语言,其实其它语言也有相关的大动态。

微软推出新编程语言 Bosque,超越结构化程序设计

今年微软推出了一门全新的编程语言 Bosque,该语言参考了 TypeScript 的语法与类型,还有 ML 和 Node/JavaScript 的语义。作者微软计算机科学家 Mark Marron 致力于消除编程过程中出现的各种复杂情况,创造出了他认为超越主流结构化程序设计的 Bosque 这一语言。

安全的全新编程语言 V 发布首个可用版本

V 是一个集合了 Go 的简单和 Rust 的安全特性的新语言,其主要特性包括:

  • 快速编译(编译器只有 400kb,而且无第三方依赖)
  • 安全
  • C/C++ 转换

编程语言之父谈语言设计,龟叔大赞 TypeScript

四位编程语言创始人分别是:

  • Guido van Rossum,Python 作者
  • James Gosling,Java 作者和首席设计师
  • Anders Hejlsberg,Turbo Pascal 编译器的主要作者,Delphi、C# 和 TypeScript 开发者
  • Larry Wall,Perl 作者

TypeScript 官方决定全面采用 ESLint

不少用户认为 TypeScript 的 Linting 支持不足,因此负责 JavaScript 编辑体验的团队开始着手增加对 TSLint 和 ESLint 的支持。

微软宣布 SQL Server 2019 免费支持 Java

以往 SQL Server 允许用户选择自己的 Java Runtime,通常是 OpenJDK 或 Oracle 的 Java SE。不过,这两种选择都会存在问题。对于 OpenJDK,需要技术支持的时候用户没法找到供应商;而使用 Oracle 的 Java SE,则会出现让 Oracle 帮助用户在 Microsoft SQL Server 中使用 Java 的情况,这对于微软来说有点尴尬。

微软为 Java 开发者推出 VSCode 安装程序

不到 1 分钟即可在 Visual Studio Code 中使用 Java 编写和运行 Hello World 程序

谈判失败:Oracle 杀死 Java EE

Oracle 与 Eclipse 基金会之间关于 Java 商标谈判的结果:双方的谈判最后以失败告终,Oracle 拒绝出让 Java 商标。

F# 换“山头”啦!现已迁移到 .NET 名下

F# 的名字和品牌本身就有一段奇怪的历史。将时钟拨会 2015 年,当时 F# 有两个身份:一个是 Visual F#(或叫做 “VisualFSharp”),属于 Visual Studio 中的产品,包含可在 Windows 上使用的编译器和工具;另一个是 F#(或叫做 FSharp),这是一门独立的语言,可以独立于微软构建 F# 工具、库生态系统和软件包。这种“双重性”的身份十分令人困惑。

微软宣布 .NET 5 计划,支持跨平台、移动开发

.NET Core 3.0 之后的下一个版本将是 .NET 5。整合 .NET Core 与 .NET Framework,未来只会有一个 .NET,能够使用它来开发 Windows、Linux、macOS、iOS、Android、tvOS、watchOS 与 WebAssembly 等。

13 岁女学生被捕:因发布 JavaScript 无限循环代码

Golang 到底姓什么?开发者想移除谷歌 logo

关于 Golang 姓谷歌这一观点,一方面是由于 Go 核心团队的大部分成员都是谷歌的员工,如果他们不离开谷歌,不去积极确立 Go 语言未来的发展方向,那很难说 Go 不是谷歌的;另一方面,谷歌公司真的为 Go 付出了一些东西,比如提供了大量的基础设施和资源,如域名 golang.org。

Go 语言团队否决关于"try"语句的提案

排行榜

常规的几大知名编程语言排行榜或多或少已经反映了上边提到的编程语言的趋势,比如,自从谷歌宣布 Kotlin 成为开发 Android 的一级语言,Kotlin 在当月各个榜单中指数就迅速上涨;Java 在 Python 的猛烈攻势下,逐渐退居老二。

排行榜列在这里,有兴趣也可以分别回顾一下:

小结

编程语言还会持续地发展下去,编程语言之争也不会停歇。

当下哪个语言最厉害?不同开发者会有不同的看法,而且多半陷入偏激的论战。事实是目前还没有哪个语言是可以通吃所有领域的,每个出色的语言只有在自己最擅长的领域里才称为出色。所以讨论哪个语言最好,也要遵守“基本法”,求求你们先限定一下范围,这样可以少去许多无意义的口水战。

最后根据江湖规矩,这种场合一定得说一句:PHP 是……

不不不,一定得说一句:开源中国生日快乐!

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章