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