这种问题都是个人使用的主观体验了。你要是去看 reddit/hacker news 关于 ruby3 发布的条目,里面都是非常积极的评价。
作为跟 python 生态位一样的语言,ruby 的一致性(库名称,camelCase/snake_case,缩进)比 py 强多了,也没有到处 __xxx__ 这种丑到爆的语法。从 oop 的角度来看,一切都是 object,连 class 本身也是 object。的确从 perl 继承了一大堆 $ 开头的全局变量,虽然实际上现在的主流并不使用。if/unless 后置语法就见仁见智了,现在的趋势整体都是要上 linter 的,所以可以自己控制。rails 约定是认为 unless expr 好于 if !expr 的,我适应了一段时间就习惯了,但我同事(native speaker)还是觉得 unless 难读。由于调用方法的时候可以省略括号,ruby 有一套独特的 block 语法,调用 lambda 的时候也会相对麻烦一些。对语言本身的评价,我是觉得 rb 比 py 好不止一点儿半点儿。
作为入门语言,我觉得 ruby 应该是个不错的选择。学着玩的话,rails 也是本世纪第一个十年里的革命性技术,后来全部的 mvc 之类框架都或多或少受它影响。ActiveRecord 是最好的 orm,没有之一,虽然太多 magic,一旦出问题难调起来会很麻烦。
受 ruby 影响最明显的语言,一个是基于 erlang 的 elixir,有个 phoniex 框架,基本上就是翻版 rails,而且 ruby 这些年的语法也反过来受 elixir 影响,虽然我个人认为有些新语法就是胡闹,根本就没想清楚需求和痛点就往里硬塞。另外一个就是 crystal,基本上就是带类型的、编译型的 ruby,又从 go 抄了一些东西,跟 nim 的定位类似。
但是如果说为了找工作,根据目前的趋势,那我肯定建议学 python
【 在 ddk3000 (ddk) 的大作中提到: 】
: 这个语言好用吗
--
FROM 115.188.162.*