Ruby 有没有比 Ruby 更优雅更好用的语言

lilijreey · 2018年10月09日 · 最后由 nxy23 回复于 2018年10月12日 · 1521 次阅读

有几个要求

  1. 标准库丰富
  2. 语法简洁统一
  3. 脚本语言

关注一下

现在各种语言都在互相借鉴特性。不存在绝对意义上的更优雅更好用。主要看需求和喜好的权衡。怎么选也逃不出三个范式。各取所需即可。

aldrich 回复

能说下原因吗,感觉 js 的标准库很少啊。nodejs

是不是 PHP

elixir

符合你要求

lilijreey 回复

不小的吧

易。。。语言?听说过这个语言的现在都结婚了吧

317583395 回复

还没有女朋友呢

yukihiro_matz 回复

这不是楼主说的脚本语言吧。

有呀,Chinese 了解一下

yukihiro_matz 回复

elixir 比 ruby 差远了。个人感觉没有 erlang 好用

317583395 回复

用过这个易语言写项目的,银行卡上的存款都 7 位数了吧

yfractal 回复

能举几个例子吗

lilijreey 回复

有兴趣可以看这个 The Design Impact of Multiple Dispatch,觉得长的话,也可以听我胡乱说说。

Julia 整体设计比较统一,挑不出来什么毛病。不给人添麻烦,Erlang 虽然很美好,但太特别了,比如变量非要大写。

语法很简洁,比如方法定义 f(x) = x + 1,作者也比较有品位,比如 Julia 有 block。

Type System && The Expression Problem

语言要对不同的数据进行不同的操作。

比如 +,加字符串和加数字不一样。面向对象是,都由对象自己决定。但对象的状态就变得模糊,且不好拓展。函数式交给方程,无法保证结构,有的时候甚至不接受这种抽象。

type 则不一样,状态清晰,抽象度更高。

Julia 很好扩展,比如 + 有了数字和字符串的加,那文件加怎么办?定义一个 + 方法,接受 file 这个 type 就可以。

type 有 union type、subtype、abstract type、general type。简介、并且包含了所有可能。

type + type Inference 让开发效率和运行效率都能得到解决。声明类型,写起来麻烦。没类型,运行慢。Julia 方法定义可以不声明类型(泛型),需要优化的部分,可以声明类型。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号