值得学习的编程语言多种多样,前端、后端乃至框架选项更是多达数百种。如果大家拥有计算机科学专业背景,那么对C或者C++一定不会陌生; 而如果您属于开发从业者,那么Java、Python、Perl与Ruby则肯定是您的日常工具。
Rust
由Mozilla Research支持的Rust专注于“类型安全性、内存安全性、并发性与性能”。大家可以利用Rust构建起分布式客户端-服务器应用及可靠的系统级程序。虽然由于诞生时间不长而尚未受到广泛关注,但我们相信Rust一定拥有光明的发展前景。
Hack
它是由Facebook开发的新编程语言,是基于Hip-Hop(简称HHVM)开发的,同时结合了动态类型语言(如PHP语言)和静态类型语言(如C语言)两种特点的一种编程语言,利用Hack,大家能够快速构建起复杂的网站,且无需编译即可运行,这种静态类型语言允许用户使用动态编码方式,尽管其在社交网络上已经引起关注,但目前Hack的使用范围仍然不广。
Ada
Ada拥有众多强大的特性,例如“按需扩展、避免命名空间污染、数据抽象与信息隐藏语义、可复用性、并发支持、方法中立性、实时支持以及关键性安全支持”等灵活优势。不过必须承认,Ada仍未能广泛流行。
Haskell
Haskell是一种“纯函数”编程语言,其设计中处处可见懒惰、静态类型与类型推断的痕迹。除了简单且优雅的语法,Haskell的速度也绝对令人惊喜。事实上,它的人气要比大家印象中更高——ABN AMRO利用其构建投资银行相关程序,而ASIC与FPGA设计软件厂商Bluespec则利用其开发自家产品。
Erlang
由爱立信计算机科学实验室开发的Erlang可作为开源代码自由使用,支持多线程并与Java一样使用虚拟机机制——但与Java不同的是,Erlang面向嵌入式系统及强大的服务器。Erlang开发出的知名成果包括Facebook chat。有些人认为Erlang的语法比较奇怪,但其仍然非常适用于某些任务,并能够较好地适应普遍性需求。
Racket
Racket属于基于Lisp/Scheme的多范式语言。其设计目标之一在于创建、设计及实现其它编程语言。Racket指南的表述非常清晰且组织极为完善。其语法非常简单; 其属于无类型语言,且提供大量用于教学的库及语言。事实上,我也不明白为什么Racket未能真正流行起来。
IO
这是一种相对较新的语言。其具备一套原型设计对象模型,且拥有能够快速上手的语法设置。支持者认为这是一种堪称伟大的通用型编程语言,当然也许新元素太多阻止了其得到广泛认可。
Groovy
Apache Groovy是一种可选类型的动态语言,且面向Java平台。这一面向对象语言可作为脚本化语言或者通过编译方式使用。人们往往将其称为“java的一套超集”。其特性包括平稳的学习曲线、紧凑的语法、单元测试支持能力、动态类型与域特定语言、强大的处理能力以及易于上手的Web应用开发机制。这款语言由于推广不力而未受开发者的应有重视,但TIOBE指数表示其人气已经达到Scala的三倍。
Scratch
由麻省理工媒体实验室开发的Scratch专门面向8到16岁的儿童编程学习者。其不具备典型语法。开发团队指出,“这使其比其它语言更易于修改、更具实际意义且更有社交特性。”此语言免费、可视且非常适合用于开发游戏及动画。
Dart
曾几何时,谷歌Dart被广泛视为继Java之后最适用于Web开发的语言。遗憾的是,Dart一直未能超越JS,而谷歌则利用Coffee(Dart到Java编译器)对其进行了重塑。降了谷歌之外,Dart的用户还包括Blossoms与Workiva等。尽管Dart在谷歌内部拥有崇高地位,但其在外部世界中的人气确实不高。
Q
Q由数据分析厂商Kx Systems公司开发。其为同一问题提供了解决方法,从而实现语言通用性。Q属于面向kdb+(一套基于磁盘的内存列式数据库)的查询语言。作为函数编程语言,其性能可预测性存在一定问题,这可能主要源自懒惰与“对垃圾回收机制的高度依赖”。
Clojure
Clojure是一种专门面向并发用例的Lisp变体。其运行在Java虚拟机上,大家还可以轻松获得Java交互性以进一步提升其“Lisp”风格。与本列表中的其它语言不同,它拥有相当丰富的附加选项、多种方法以及大量预置数据结构。
Lua
尽管非常简单,但Lua被广泛认为是一种能够支持命令式、函数式以及面向对象方法的多范式语言。Lua代码拥有较其它解释语言更快的执行速度。
网友评论