作者丨Richard Kenneth Eng
译者丨刘志勇
策划丨Tina
Python 和 Javascript 是两门十分有影响力的编程言语,二者都是咱们在打造跨渠道运用时会用到的干流言语。由于 Python 和 Javascript 都是脚本言语,因而它们有许多一起的特性,都需求解说器来运转,都是动态类型,都支撑主动内存办理,都能够调用 eval()来履行脚本等等脚本言语所共有的特性。在曩昔这些年来,Python 和 Javascript 占有着主导型位置,但有句话说得好,长江后浪推前浪,青出于蓝胜于蓝。假如将来有一天,Python 和 Javascript 被打败赶下榜单,那这个应战者会是谁呢?退休的软件工程师 Richard Kenneth Eng 为咱们共享了他的观点,罗列了那些他以为有望打败 Python 和 Javascript 的编程言语。
Python 和 Javascript 是当今最抢手的两种编程言语。可是,它们不或许永久位居第一。终究,它们一定会失宠,就像一切的编程言语相同。这很或许在未来十年内就会发作。
哪些编程言语有望替代它们呢?下面便是我列出的应战者名单。
Dart
由于 Flutter 结构和 Google 的认可,这门言语敏捷盛行起来。它与使 Ruby 如此盛行的驱动力类似:Rails 结构。
假如 Google 的新操作系统 Fuchsia 取得成功的话,Dart 将会成为其中心。
首要优势:它是一种比 Javascript 更优异的编程言语。
首要缺陷:它面对来自 Javascript 及其利诱的集体的对立。
曼德勃罗分形图(Mandelbrot set)示例代码:
Elixir
Elixir 是 Erlang 的派生言语,具有改善的语法,以及与 Erlang 相同的、惊人的并发性支撑。作为一种纯函数式言语,它有很大的或许性将这一范式提高为干流。
首要长处:它使函数式编程变得反常简略。它很合适并发性。
首要缺陷:有必要了解潜在的一次性可编程基础知识,这或许是一项艰巨的使命。
曼德勃罗分形图(Mandelbrot set)示例代码:
Golang
另一种 Google 支撑的言语 Golang,得益于其闪电般的编译速度、简略高效的并发性以及特殊的简略性,它被证明是赢家。仅有短少的便是泛型,不过,这个特性现已在路线图上了。
首要长处:超级简略,对并发性支撑十分好。
首要缺陷:它(现在)短少泛型。
曼德勃罗分形图(Mandelbrot set)示例代码:
Julia
Julia 的优势在于它对数学核算的超卓支撑。数学友爱的语法对数学家来说十分有用。假如有哪种言语能够推翻 Python,那么 Julia 肯定是一个竞争者。
首要长处:这门言语是为科学家精心设计的。
首要缺陷:这门言语面对数据科学之王 Python 的应战。
曼德勃罗分形图(Mandelbrot set)示例代码:
Kotlin
Kotlin 是更好的 Java。事实上,它实际上便是 Java 的一个能够当即运用的替代品。Google 现已将其打造成 Android 开发的一流言语。
首要长处:它是一种升级版的 Java。
首要缺陷:它是一种十分巨大的言语,即便与 Java 比较也是如此。
曼德勃罗分形图(Mandelbrot set)示例代码:
Lua
首要长处:Lua 是一种细巧、简略、快速、可嵌入、可移植的灵敏的言语。
首要缺陷:它现已被人们忽视了 26 年,现在会有什么改动呢?
曼德勃罗分形图(Mandelbrot set)示例代码:
Pharo
Pharo 是 Smalltalk 的现代变体,Smalltalk 是一种十分高效的面向对象编程言语。实际上,Smalltalk 是面向对象编程的模范,它简直启发了地球上一切其他面向对象编程言语的创意。终究,没有一种言语比 Smalltalk 更合适面向对象编程了。
Pharo 仍是世界上最简略、最高雅的言语之一。你能够在 15 分钟内学会 Smalltalk 的悉数语法!
首要长处:它的作业效率十分高效,就像作业效率提高了 5 倍相同!
首要缺陷:把握这种言语,需求一种不同的编程思想。但人们往往惧怕改动。
分形树示例代码:
Rust
Rust 因其内存安全特性:借位查看器而得到了广泛的认可。这个特性实际上消除了一切与内存相关的编程过错。Rust 确保了编程的安全性。
首要长处:它有助于使软件更牢靠。
首要缺陷:这门言语很难学习,并且借位查看器或许也很难了解。
曼德勃罗分形图(Mandelbrot set)示例代码:
Typescript
Typescript 是 Javascript……带来了长处。它首要是添加了静态类型。与 Javascript 的兼容性使它成为前端 Web 开发人员的独爱,由于他们现已了解 Javascript,并且简直不需求改动他们的作业流程。
首要长处:它便是 Javascript,因而对 Javascript 开发人员来说没什么太大的改变。
首要缺陷:它依然是 Javascript,所以依然承继了 Javascript 的一切包袱。
分形树示例代码:
WebAssembly
WebAssembly 是一匹黑马。在未来十年左右的时间里,它或许会衍生出一系列的言语,这些言语有望终究登上第一。WebAssembly 仅仅一个编译方针,但没有理由说它不能扩展到 Web 范畴以外的当地。至于哪些根据 WebAssembly 的言语能够登上第一?现在谁也说不准。
作者介绍
Richard Kenneth Eng,博主。Smalltalk 布道师。退休的软件工程师。《复仇者联盟》粉丝。本文开始宣布 Hacker Noon 博客,经原作者 Richard Kenneth Eng 授权,InfoQ 中文站翻译并共享。
https://hackernoon.com/programming-languages-of-the-future-b61332kd
活动引荐
开发者关于容器技能的重视热度渐渐的升高,各家公司也纷繁在容器实践上下功夫。InfoQ 与华为云原生团队共建【容器魔方】技能社群,衔接开发者与技能专家,处理容器技能的“疑难杂症”!
点个在看少个 bug