Ruby
目的为了开发效率的面向对象脚本语言,性能是弱点。
- 开放类:对类的直接修改
- 基于开放类和模块组织方式的元编程
Io
原型语言,类型灵活。
基于协程、actor、future 的并发机制。
某种程度上和 JavaScript 很像:原型链 + 并发。
Prolog
一种逻辑声明式的编程语言。
- 有趣的“合一”规则,应该是语言的核心,逻辑的成功和失败就是合一的成功和失败
- 另外一半是内置的逻辑“谓词”,可以理解为内置的一些合一逻辑
- 有趣的合一“通配符”
- 很适合做逻辑/递归推导的逻辑声明方式
Scala
支持面向对象和函数式编程两种范式的语言。
基于 actor 和消息传递与消息模式匹配器机制的并发模型。
Erlang
为并发量身打造的无线程基于轻量级进程的语言。
基于 send、receive、spawn 的并发机制,很有意思。
采用模式匹配的方式定义函数的行为,入参未必是型参,可以是一个实际的值,从而定义了函数在这个入参情况下的行为,从而更容易进行递归等逻辑的定义。
Clojure
Lisp(List Processing)的方言,一种以“列表”模式组织代码的语言,其指令和数据都是这种结构。
函数式编程语言。
以原子、引用、代理等概念完成并发支持,采用 STM 模型(理解为一种基于内存的数据库,进行并发下的状态管理)。
Haskell
强类型定义的静态类型毫无妥协的纯函数式语言。
其函数的模式匹配定义方式与 Erlang 相同。
柯里化、高阶函数、Monad 等函数式编程的模板定义。