设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

涨涨姿势,13个比较冷门但很实用的编程语言

2017-2-11 21:26| 发布者: joejoe0332| 查看: 1772| 评论: 0|原作者: 51CTO大本营公众号|来自: 51CTO大本营公众号

摘要: 值得学习的编程语言多种多样,前端、后端乃至框架选项更是多达数百种。如果大家拥有计算机科学专业背景,那么对C或者C++一定不会陌生; 而如果您属于开发从业者,那么Java、Python、Perl与Ruby则肯定是您的日常工具。 ...

值得学习的编程语言多种多样,前端、后端乃至框架选项更是多达数百种。如果大家拥有计算机科学专业背景,那么对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代码拥有较其它解释语言更快的执行速度。

◆◆◆

当然,今天的这份列表肯定不够完整,我们也不可能将一切有价值且人气较低的语言纳入进来。需要强调的是,编程语言只是用来完成工作的工具,真正重要的是掌握符合需求的正确工具。希望今天的文章能够为大家带来一点启示,并找到适合自己的学习方向。

来自:51CTO大本营公众号


酷毙

雷人
1

鲜花

鸡蛋

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部