编程语言RubyPythonTIOBE

Ruby 和 Python 相比有什么优势和缺陷?

地铁风
不会撸程序的设计狮不是好科研狗

我有好几次都想深入学一下 ruby, 但每次都在看到第一段代码的时候放弃了… 所以我就说一点个人感觉到的 ruby 的缺点:

都什么年代了还在用 end 表示块结束!!!

21 赞同 6 感谢 0 收藏 22 条已备份评论 发布于 2014-02-24 知乎原页 ↗

评论 22

python要不是强制缩进,也得写个结尾吧……
1 赞
地铁风回复 王不知道作者
可以用括号啊,end 是三个字母…
0 赞
Baby King回复 地铁风
现代的编辑器和ide,已经不存在要打{或是end了
0 赞
地铁风回复 Baby King作者
如果编辑器能把这些冗余的玩意隐藏起来不显示倒是就没关系了。
0 赞
Baby King回复 地铁风
python这种按格式缩进的最大的问题就是不利于第三方的代码分析工具的繁荣
1 赞
好吧,其实最喜欢的是标记明显的结尾,同时加上良好的缩进。我有洁癖,无视我吧。
1 赞
地铁风回复 王不知道作者
我也有洁癖,所以我用 Python 啊^_^
0 赞
王不知道回复 地铁风
我都用过,不过都是刚入门~~甚至写python的时候为了方便看代码块,喜欢在结尾加上pass,呵呵。请多指教~
4 赞
Joseph Lin回复 王不知道

5年过去了,不知道层主在用哪门语言。不过不小心被我挖出这个坟贴,主要还是想说,我以前刚开始学 python 的时候也喜欢加结束标记。但是学过几个月之后,看 { } 花括号都烦。

0 赞
王不知道回复 Joseph Lin

还是用ruby,还是喜欢结束标记。有路径依赖吧,习惯哪个就越看越顺眼。

0 赞
还有一点,ruby用大括号代替do end必须左括号不换行,这点觉得很蛋疼。。
0 赞
Ruby的end实际是非常科学的,个人觉得比大括号看着清楚,又没有endif这种脑残的语法出现,蛮好的
4 赞
你说你不喜欢end我理解,有洁癖我理解,你说年代和end我就不理解了?哪个大师给你上的课,让你觉得21世纪了用end都是土包子?你哪个学校学的编程?
9 赞
地铁风回复 肖铁作者
没关系不理解就算了。另外学编程还需要在学校学么…
2 赞

我用C++或java时,有多个大括号嵌套是,一般会在右括号后写注释//end of xxx. 现在写ruby, 直接在end后加注释#of xxx ,觉得还少写字了呢

0 赞
地铁风回复 bella anna作者
说明括号里的东西该写成函数了,可读性什么的……
0 赞
Joseph Lin回复 bella anna

一般都是入门往中级左右的水平喜欢这样...

因为一是代码会一不小心写很长。

二是有的时候缩进不规范,在大工程项目里面更为严重。

最后一点就是C/C++ : Python 代码行数 至! 少! 3:1 。

如果你学 python,并认同其哲学的话,就知道一段代码目之所及,根本不需要记这是哪个函数。

0 赞