简评:现在世界上已经有了上百种编程语言,为什么还要不断投入相当大的努力来创建一个新的呢?三个新的开源编程语言( Coconut , Crystal , Oden )的作者回答得非常简单:在编程过程中,你总会遇到新的需求和市场需要满足。
这里简单介绍下三个语言各自的特点和设计初衷,希望能对其他想要自己创造编程语言的开发者有所启发。
Coconut:扩展 Python 的范围
「我喜欢函数式编程,我认为函数式编程提供了一个更自然的方式来思考问题,并且代码也更优雅、易读。不过如果你看过前 20 个最受欢迎的编程语言,你会发现没有一个是函数式的,但它们大多有着这方面的替代品,比如,Java 有 Scala,C# 有 F#,Python 有 ... nothing」- Coconut 的开发者 Evan Hubinger
Hubinger 认为虽然 Python 对于命令式编程是优雅的,但对于函数式编程却是迟钝和难用的,因此最终决定自己来开发出这样的一个编程语言。
目前 Coconut 已经发布了版本 1.1,完美支持 Python,因为其最终还是会编译成 Python,所以不会有任何 Python 可以但 Coconut 却不能做的事。
Crystal:融合已有语言的好特性
Crystal 的作者 Ary Borenszweig 认为现有的不同语言各自有着很多很好的特性,但好像还没有一个语言能真正的取众家所长,因此他决定自己来创造一个。
Crystal 基于 Ruby,编译器则是用其本身编写。支持静态类型检查、自动内存管理、本地虚拟机、支持宏、能很方便的使用 C 语言库。Crystal 非常适合用于 web 服务器开发,因为其具有非阻塞式的 I/O 和很轻量级的进程。
Oden:和 Go 语言一起成功
Oden 的作者是一位 Go 语言的粉丝,但他还是在用 Go 语言的开发中遇到了一些不爽的地方。比如,困难的流程控制、错误处理等等。作者希望能在 Go 语言的基础上解决这些问题,并提供诸如函数式编程的一些特性,其编译器由 Haskell 编写。
好语言的前提应该是能解决问题的语言,这里介绍的三门语言无疑都是解决了一些痛点,或许在今天还只是小众,但谁又能说它们未来就不会大放光彩呢?也正是有了这些不满于现状,不断进取的同行,才使得这个行业可以不断的发展。
tips:三个语言都是在 Github 上开源的。: )
发表评论