走走停停的学习和用 Ruby 有些年头,感觉 Ruby 很强!(不讲速度),大家都聊一下,说说大家不用 Ruby 来写其它程序(ROR 除外)的原因是什么?在具备什么条件的情况下才愿意把 Ruby 当成常用(或者首选)开发语言?
。怕速度慢? 。文档,指南不够? 。标准库不够? 。从 RubyGems 上安装的 gem 怕有 Bug,原作者跟进不及时?怕自己没能力修改有 Bug 的第三方 gem? 。没有趁手的框架?(类似 Qt 什么的) 。。。
我用 Ruby 来写几乎所有程序,除了页面
我觉得其他语言不好用。Ruby 的内部一致性最好很符合直觉。
Ruby 很慢么?我甚至不觉得。
90% 的问题都可以解决。如果你真的遇到了性能问题,可以 C 拓展、FFI 到 C 还可以 直接 加入 Crystal 解决你觉得计算慢的地方。
整体上来说,开发速度很快。
python 里 True False 都是 bool class
ruby true 是 TrueClass,false 是 FalseClass , nil 是 NilClass
你是不是搞错了?
我是说 Python 的大小写我不太习惯,它的 len()
是个函数,那肯定还会有别的这种形式的函数,不像 Ruby 的一切都是对象方法那样纯粹。
这让我想起 coders at work 里 knuth 对编程的评价
编程语言简直跟宗教一样 one want to convert another
python 对我来说目前最不爽的是编辑器 notepad++ 主动死板缩进 while 循环里一个 for in 循环 再后面的代码保持在原来的缩进位 导致一个 bug 没及时发现 浪费时间
Windows 上感觉比较慢,YJIT 又不支持 Windows; Windows 打包分发麻烦; C extension 有些不能直接编译需要自己 patch。
Ruby 没有类型系统,用起来不太安全放心的感觉。鸭子类型感觉用处没那么大。导致经常要用 .to_s 或者跳转到函数定义那里去看类型。有时候常常幻想,如果 Crystal 能和 Ruby 一样流行就好了,估计会撼动 Java 地位。
很多人其实是喜欢 Ruby 的语法而非其灵活性。Ruby 的灵活性不好掌握,写出来太灵活的代码自己和别人都难以读懂。这种灵活性让 Ruby 适合元编程,但元编程是一个小众需求。
你这样想,一个东西兴起和一个东西覆灭一定是有原因的。然后你再这个覆灭的圈子里,问这个东西有多好,那他们当然说好。 当然,你再别的圈子里问,别的圈子里说的话,你也不会认同的。
Ruby 不用写类型,更接近自然语言,自己写还是很爽的,至于太灵活或者不灵活,还是看你怎么用吧,一个表达力更强的语言当然更能写出不知所云的东西,令人舒适的东西,或者令人拍案叫绝的东西。
AI 这边已经出现了中英文混杂的推理过程,如果有一种语言,适合推理的话,除了数学符号语言(这同样没有显式类型),恐怕只有 ruby 了。