瞎扯淡 Ruby 社区这么固执偏见不喜接受新事物吗?Go 的两个文章引发争论的感想

匿名 · 2013年09月29日 · 最后由 yybcjq 回复于 2013年11月06日 · 16391 次阅读
本帖已被管理员设置为精华贴

半年前,Iron.io 从 Ruby 迁移到 Go:减少了 28 台服务器并避免了连锁故障,这个新闻惊动了不少小朋友,但是在 RUBY 社区,很多人不以为然,却引发 robbin 写了 Ruby 社区应该去 Rails 化了 http://robbinfan.com/blog/40/ruby-off-rails

前些日子无聊简单测试 GO 性能,写了个口水贴,并被荣幸加精:


http://ruby-china.org/topics/14364 GO 的性能真的是很惊人啊 Ruby • jihua0a • 于 4 天前发布 • 最后由 lyman_lai 于 1 天前回复 • 5738 次阅读 据说跟 C 比只差 10% 了,简单写了个 http server 输出个字符串,AB 测了下,-KC 100 -N 10000,双核老 I3 笔记本,4G 内存,MINT 64 位,飚到近 50000 每秒,用仿 SINATRA 的 beego 框架,prod 环境下用模板输出个字符串,也能飚到 26000,拿来 JAVA 的仿 SINATRA 框架 PLAY 输出同样字符串,每秒 8000 多。

都不是一个重量级了。。。。。


帖子中引来各种 GO 黑,比如:


luikore 10 楼 , 3 天前 喜欢 #5 楼 @jihua0a c 在 server 的话我用 libmicrohttpd + mongodb-c-driver 和 go 对比测试过的,tps 大约 10 倍左右 (已经接近硬盘 io 极限了). 虽然也很 hello world 但也比不连 db 的测试靠谱点 c 在各种 micro benchmark 里基本都是比 go 快 2 到 10 几倍不等,代码量和 go 在一个数量级

c 和 go 的对比代码是两年前的... https://github.com/luikore/performance_evaluation/tree/master/chello 现在 go 比那时快很多了,但别忘了现在 clang 都能开 -O4 了


当然这位老兄实际还是非常专业的,虽然他用两年前的 GO 来黑现在的 GO 不妥当。 但是,突然出现了低水平黑 GO 的新贴并被加精,显得咱们 RUBY 社区被固执与偏见占领:


http://ruby-china.org/topics/14407?page=1#replies 真的没必要浪费心思在 Go 语言上 瞎扯淡 • gaicitadie • 于 2 天前发布 • 最后由 jun1st 于 11 小时前回复 • 6903 次阅读

Go 语言好不好,快不快,人性化与否这些不讨论,光说 google 一概的作风,没必要在 Go 语言上作知识投资。google 推出的新玩意太多了,大多数都是 google 的人头脑一时发热就搞出来了,头脑一冷静就没下文了。google 扔掉的东西太多了,google 都没把 Go 语言当回事,国内却掀起了学 Go 的热潮。假如有一天 google 宣布放弃 Go 语言项目,码农的无数个挑灯夜读就打水漂了


如此垃圾低级口水贴被加精,是准备宣告 RUBY 社区就是不欢迎 GO 吗???以 gaicitadie 的逻辑,干脆大家别用 V8,别用 ANDROID,别用 GOOGLE 搜索,别用 GOAGENT 好了,这些都是 GOOGLE 的东东。。。

那篇帖子加精的原因难道不是下面的讨论么……

本来这种贴,一般都是呵呵完事了,但很是忍不住解释下了,如果说大家不喜欢 go,或者没有去学习 go,就是固执或者不接收新事物,也只能说楼主说的也太片面了吧。至于口水帖子加精,是有人觉得有价值的回复点喜欢了,还有他们也代表不了整个社区吧,仅仅是个人的看法而已。

此等贴随着语言发展会月经吧。。。两种语言在不同方面的优势没法用个什么东西就能衡量,看了乐和乐和得了

楼主可能误解了,如果帖子的回复里只要有干货的讨论,就很有可能会被加精。 你得出的这个结论“社区固执偏见不喜接受新事物”并不准确。

对新生事物表示敬畏吧,几年前,Rails 也是新生事物

LZ 你才是固执啊~!大家的讨论归讨论。go 真心的说还是不错的~!至少 martz 大牛都对 go 表示很认同~!另外本人也很看好 go,只是一个是动态语言一个是静态语言。两者差别还是有的~!另外我觉得 ruby 社区的人思想也很前卫。很 open,没有你想的那么 close~!另外就目前来说,在 web 方面好像真没有什么能撼动 rails 的地位,快速的开发效率,敏捷的思想,……这写特性真是 web 开发者的福音啊~,谈到性能。我觉得@robbin说的也对~,很多网站一开始就死了。还没有到性能需要优化的地步。如果真到了性能需要优化的地步,那后面用 go,c,java 都是可以的~!总的来说,感觉你有点极端~! ** 如此垃圾低级口水贴被加精, 是准备宣告 RUBY 社区就是不欢迎 GO 吗 ,ruby 社区没说过不欢迎任何人。大家的讨论也都只是个人行为,纯粹是口味的问题。就像有些人喜欢吃米饭,有些人喜欢吃面条。

LZ 你才是固执啊~!对 go 给予负面评价的才几个人,能代表所有人么,不能这么乱扣帽子

楼主你先上个头像吧,引战帖没头像怎么对喷,都不知道喷得谁。

请看完评论在喷,我不认为这个社区排挤其他语言。在这里问其他语言都有一群人回答你的问题。

还有就是,每个人都有言论自由,就算他说他讨厌 google,你喜欢 google 一样,你可以客观的说你为什么不喜欢 google,你为什么喜欢 google,请勿上升到口水战,出现垃圾这样的字眼,纯粹技术讨论而已,勿上升到人身攻击。

喜欢或者不喜欢听听算了,没必要跟网上一个你没见过的人说那么多,该干啥干啥去

社区会员:9359 人 不要因为几个贴的出现就得出结论

楼主对咱 Ruby 社区还是了解得不够呀。

有人提出反对意见怎么就是说不喜欢接受新事物了呢,还以点带面上升到整个社区了?一个东西出来了,有人喜欢有人不喜欢不是很平常么

Go 应该和 C 比,不如 C。

被喷是正常的

这不是一个非黑即白的世界

#13 楼 @luikore

python 都超越 hadoop 了

Hadoop 本来就很慢好不好...有种和 APL+Fortran 比

#14 楼 @bhuztez 呃,加个修饰语 "在可以忽略启动时间的并行大量数据分析上"

从这几天的贴子看下来,Go 的呼喊者都是非常杰出的单点统计学家及比较大师。

跟 C 比可读性,跟 Ruby 比性能,真亏你们想得出来。

#15 楼 @luikore

首先定义慢。慢指的是完成相同的任务,消耗的总 CPU 时间多。

第一是 Hadoop 本来就很慢。MapReduce 的首要目标不是快。

第二,Hadoop 也没拦着你在上面用 Numba。你在 Hadoop 上跑 numba,显然比直接用 numba 慢。

第三,我觉得 numba 基本上是不可能比得过现代的 APL 系的语言,比如 J/K,和 Fortran 的组合的。

月经贴

#17 楼 @bhuztez 求推荐关于 J/K 编译器设计的 paper ...

http://www.jsoftware.com/jwiki/Articles

#19 楼 @luikore

numba 优化太底层了,APL 系列的都是在矩阵运算层面优化的。Numpy/Scipy 也是调用了不少 Fortran 库的。

当然,单纯拼矩阵乘法的话,搞不好都是被 GPU 完爆的货

所以我感觉还是下面这个库有希望啊

http://deeplearning.net/software/theano/

加精原因是下面的一系列讨论!

#16 楼 @pepsin 哈哈,套你的格式来“黑”一下 Ruby

Ruby 可以和任何语言比可读性,但是没法和任何语言比性能。

其实这种讨论挺好的呀,带着情绪看可能会感觉有点偏激,不过这也是人之常情啊,事后看看更多是针对问题讨论,没啥抵触吧。

@bhuztez 开始歪楼 😏

匿名 #24 2013年09月29日

又开始歪楼了

@wppurking @bhuztez 专业歪楼 30 年...

@bhuztez 嗯,编译到 llvm 没有编译到 C 然后交给 opencl 有前途。不过 opencl 的代码限制略多,编译到 llvm 然后靠 llvm 的自动矢量化,代码的自由度应该更高点

匿名 #26 2013年09月29日

#25 楼 @luikore 兄弟,前几天你说重测新 GO1.2,测了没?

#26 楼 @jihua0a 等我更新到 edge 版... 现在还是 1.1

#25 楼 @luikore numpy 里面已经是矢量和矩阵了,还需要自动矢量化?

1, 瓶颈往往不在 hello world . 2, Go 语言本是以 C 为原型,以 C++ 为目标设计,但最终却大相径庭。语法复杂是必须的。ruby 相对优雅. 3, 语言的性能,开发效率,维护效率,学习曲线,库,平台,设计目标,IDE, 社区 等 都是要考虑的。而且随着时间推移,这些都是变数。 4, 没准 Go 3.0 和 python3.0 一样,会大改。

#28 楼 @bhuztez 需要啊,一种情况是对矩阵做非标准操作,例如按条件修改元素。

另一种情况是抽象操作并非最优的,例如

D = A * B * C

按照 numpy 的做法,这里的乘法最终变成调用 CUDA/opencl 的矩阵乘法了,但是中间结果还是要转化成 python 的矩阵。但这两个运算可以放到一起,展开来做 lazy fusion, 中间结果的内存分配也能省掉,如果乘法运算里 emit 的是 llvm IL, 就能 inline 进来做优化。如果编译器知道运算对象是矩阵,也能主动生成更优的代码。

再一种情况是你可以告诉编译器,说不关心浮点运算做分配律 / 交换率变换的精度损失,那么可以做的优化就更多了。

别争呀!
想想,你看不起 VB, 那些靠 VB 发达的人笑死你 ...
你看不起 Ruby? 那些靠 ruby 买房买车的笑死你...

错!不争啥都不知道!

@jihua0a 口水贴被加精,既不能代表整个 ruby 界 ,也不能代表国内的 ruby 界 ,甚至不能代表 ruby-china 社区 。我觉得那只能代表某个管理员的个人偏好。你觉得不爽,可以直接开喷加精的管理员,没必要扩大化。

这个 benchmark,只可以说明,在测试的这个例子下,阿猫还是阿狗 NB。 不要口水了。喜欢什么就用什么。求同存异,共同进步。

好多人都认为语法明显比不过 rust

#34 楼 @jjym rust 那是去掉了很多语法...

为什么你应该学 Ada

Ada 在处理 Concurrency 上一点都不比 Go 差。

https://groups.google.com/forum/message/raw?msg=erlang-programming/5X1irAmLMD8/qCQJ11Y5jEAJ

A better Pascal than Pascal. Handled concurrency about as nicely as an imperative language can.

Concurrency in Ada

http://cs.nyu.edu/courses/fall02/G22.2110-001/tasking.ppt

更多请参考

http://cs.nyu.edu/courses/fall02/G22.2110-001/

Ada 还支持 Generic。

Ada 有成熟的 IDE。在这个不用 IDE 根本无法写代码的 Java 都能流行的时代,有个强大的 IDE 不算 Bug。

为什么你不该学 Ada

没有 Type Inference (只怪 Ada 生得早) 没有 GC (Ada 的定义里 GC 是可选的,GNAT 应该是没 GC 的,jGNAT 是被 JVM GC 的)

#32 楼 @Victor 印象中是我加精的,加的时候我也犹豫过,毕竟是一篇口水贴,精彩的有一定技术含量的内容在回复中。当然回复中也不乏片面,断章取义,甚至叫嚣,甚至嘲讽内容。如果加精给大家带来困扰,我愿意认错,并取消加精的处理。

关于这篇 Ruby 社区这么固执偏见不喜接受新事物 明显属于瞎扯淡的主题帖,我跟 #2 楼的观点一致,呵呵了事。Ruby 语言都出现 15 年了,从当初的 Ruby V.S. Python 到 Ruby V.S. Java 以及 Ruby V.S. PHP 这么一路走下来这么多年,无论哪一种语言都有自己的地位,自己的领域,这些都不是一朝一夕建立的,也不是靠几个拿性能说事,拿语言表达能力说事的人就能左右的...... 所以,我对楼主的观点是:呵呵

#38 楼 @lgn21st 我加的,同理,此帖也加

#39 楼 @huacnlee 我说呢,我只记得印象中可能是我加的。

匿名 #41 2013年09月29日

#37 楼 @bhuztez Ada 听说把 欧洲空间局阿丽亚娜 5 型运载火箭弄爆是什么情况?

#39 楼 @huacnlee #38 楼 @lgn21st 一般论坛设定精华帖的出发点应该是从较大量的信息中筛选出“干货”,以此给新加入论坛的群众造成一种:这个论坛是有实质性内容的,我来这里可以获得 XXX 方面的知识。间接给论坛的广大群众传递一种信号,什么样的帖子才是精华帖,才符合论坛的管理层对论坛的定位和导向。但是这种设置必然被管理员个人偏好所影响。造成的后果就是,凭什么这么烂的帖子都可以设置成精华,而我的就不能?不爽,我就要喷。喷就要扩大化,喷一个人是不够的,要喷就喷整个社区。

虽然很多帖子下面的回复的确有干货,但是可没有人能天天有时间从头到尾拜读所有精华主题和所有精华主题下面的全部回复哦。所以一个帖子的主题,内容,和占前排的回复一般就会足够影响大部分读者对这个论坛的印象了。

翻看目前的精华帖,给我的印象是: 1 管理员鼓励开源(关于 gem 和开源的加精) 2 关于 Rails 经验的分享(XXX 使用的个人浅薄经验,XXX 的结合使用) 3 适用于新人的一些入门知识 (XX 译文) 4 技术细节的探讨 (XX 方法的一个疑问) 5 友情广告,业内新闻 (XX 活动) 6 前端,SEO,口水,或许还有其它

对于 6。这到底是 ruby china 还是什么前端小组,SEO 论坛?如果要看这些知识,一定要来这里么?当然,我作为普通不明真相群众可以选择忽略,希望不会有一天进入社区的第一页是满眼和 ruby 无关的主题,毕竟精华帖列表现在是默认的首页了。

#41 楼 @jihua0a 跪求大 Go 语言控制的火箭...

匿名 #44 2013年09月29日

#43 楼 @bhuztez 这个。。。。以后难说 GO 会不会用于工业控制上啊,GO 是向 C 看齐的。。。。

#42 楼 @Victor 我认为你说的非常有道理,目前精华帖的设置是一项管理员特权,所以难免会受到管理员偏好影响。你说的的确都是实情,就我个人来说,很难拿捏一个帖子是否应该加精,没有一个明确的尺度,所以于我而言,只要内容积极,有价值,或者传递正能量的我都乐意,所以这就是为什么会有优秀的前端,SEO,口水贴被加精。

你提出的这些问题很好,必须被重视,且需要处理。但是就非 Ruby 的内容要不要加精,以及如果讨论质量高的帖子要不要加精,大家的意见是怎样的?

@lgn21st 开贴出来讨论一下?

情绪贴,加精觉得社区太浮躁。

#42 楼 @Victor #47 楼 @xlgwr 难道这几天关于 Go 的三个帖子下面的一系列回复不值得加精么?!

#48 楼 @huacnlee 当然没问题,可以加精。相信你作为管理员,一定是希望把论坛引导到这个方向,所以才加的精华。

作为一名普通读者(不代表任何其他群众),不喜欢就不看。自己感兴趣的话题可以自己收藏,关注。这么一理,就顺了许多。

我刚才回复的疑问主要是:“管理员到底把社区定位在哪里?”可能我的例子不好,但是篮球爱好者论坛,讨论羽毛球好不好?并且加精了,真的没问题么?

#45 楼 @lgn21st 那是不是该设计一个规则,自动变为精华贴。。

看回复,太值得加精了 #47 楼 @xlgwr

Java 和 C 的性能差距也就在 2 倍左右,应该没那么不堪。具体是 Play 框架慢,还是其他什么原因,待定。

53 楼 已删除

#53 楼 @luikore 你应该拿 Ruby 比

55 楼 已删除

#54 楼 @bhuztez 更 Ruby 应该就是比哪个代码写的爽了。就像你和姚明去比速度,和李小双去比跳高,但完全不能说明你就比姚或者李强。

匿名 #57 2013年09月29日

#53 楼 @luikore runtime.GOMAXPROCS(8)

#56 楼 @jihua0a

OK, 已经更新代码与结果

匿名 #59 2013年09月29日

#57 楼 @luikore GO 比 C 多打开了模板文件进行渲染,你认为是同等条件下对比的话,那就按你说的好了

#53 楼 @luikore golang 版本建议不采用 html/template 再测试,应该会快很多。html/template 速度很慢。

#53 楼 @luikore 应该到 Go 的主场,plan9 系统上去比...

最近还有别的事情做,懒得回复了... 感觉就是在喂巨魔。欢迎发 pull request.

匿名 #63 2013年09月30日

#62 楼 @luikore 你的 GO 代码应该有几处需要优化的地方,SESSION,模板渲染,数据库,我没看你的 C 代码,一是不是很熟练 C,二是相信 C 都已经优化到了极致。GO 实际我也刚刚接触,但是也能粗略看出,你的 GO 跟 C 并不是同等对比。。。不知道你为何要删除 53 楼,既然你说你懒得回复了,我也就不多说了,本想邀请 BEEGO 作者 XIE 大侠继续跟你辩论来着。加了个简单的 runtime 函数就让你的代码速度翻倍了,其他地方再优化下,说不定又能再翻倍,这样的话,跟达到 C 的 70% 左右也是有可能的吧?

65 楼 已删除

傲慢于偏见,ruby 社区的人大多都这样。

技术问题还是在 github 之类的地方讨论最好。

这有啥好争论的。

切西瓜自然用西瓜刀要比三寸水果刀效率来得高,但西瓜刀的成本却是三寸水果刀的好几倍。 反过来,你用西瓜刀去削苹果皮试试,绝对坑爹。

引用一句土话:到什么山,唱什么歌。 或许几十年之后,你坐着老板椅,喝着咖啡,看着公司报表。再来回顾几十年前的自己身为码畜时,为了几门语言和小伙伴们吵得不可开交,那是多么的可笑。

lz 太较真了。

我感到的却是楼主更大的固执偏见:

看见自己不喜欢的帖子就否认整个 ruby 社区

这里是 Ruby 社区,

#51 楼 @search 回复内容加精好,不过越聊越离题了.就像以前语言大战一样,说得清否.又如:小说中的修真与魔法,修行环境不同产生的力量也不一样.但是道相同,路不同而以.

写这么长个帖子,来说 ruby 社区固执,固执的究竟是谁?

有这么多时间,用来赚钱吧,不用来赚钱,也可以用来给 Go 社区做些真正有用的贡献也许会更好些。

为 Go 摇旗呐喊的人不少,贡献的好项目又有几个?Web 框架都是稀稀落落你做一个,我做一个,技术选型的,最终确定一个语言,需要考虑的因素很多,性能远不是唯一也不是最重要的,糟糕的代码带来的害处要远大于优秀的 hello world 性能能带来的好处。

管理员精华这几个争吵贴,并没有制止这些无聊的语言之争,足见 ruby 社区并不是你想象的那么固执,希望这种无聊的关于语言孰优孰劣的争执,还是能消停一点

这个和大部分 Java 开发不用 Ruby 或 Python 理由差不多吧

我怎么发现 iron.io 还是用的 rails?

选 ruby 可以更快的出产品,这点就已经够了,投资者不会看你是用 go 还是用 ruby 做的,即使性能不够,等有钱后用什么语言来重构都没关系

喜欢什么就用什么 而不是什么强你用什么

我看过的,你看过吗?我喜欢的,你会喜欢吗?--- 分享和争论的守则

#61 楼 @jihua0a 咱俩都是憨豆啊。

虽然不太用 ruby, 但是最喜欢的技术社区就是 ruby 社区,正因为他不拘一格,包容和探索啊 不希望因为技术争论就被扣了这样的帽子。

匿名 #80 2013年10月03日

这贴不是也加精了么……

golang 官网首页那个 tutorial 说‘世界’是日语,就让我觉得有点不爽,哈哈

又出来这种语言优劣月经贴了。其实选你项目各种条件更适合的语言就好了。

我觉得 ruby 社区,大部分人都接触过多种语言,甚至很多都是有其他语言转过来的,所以在语言选择上很理性。大都结合项目实际选择语言。

干脆大家别用 V8,别用 ANDROID,别用 GOOGLE 搜索,别用 GOAGENT 好了,这些都是 GOOGLE 的东东。。。

我还真的一个都不用。以前还用用搜索,现在也不用了。gmail 正在淡出。预计年底彻底脱离 Google

匿名 #85 2013年10月05日

#81 楼 @blacktulip 好吧,我欣赏你用 IPHONE 或者.....而抛弃安卓系统

匿名 #86 2013年10月05日

#81 楼 @blacktulip 难道,你真成了百度虫而竟然舍弃了 GOOGLE 搜索?难以相信国内的搜索引擎会给您的 IT 技术搜索带来好运

#82 楼 @jihua0a 抛弃?安卓没资格被我抛弃哦

#85 楼 @blacktulip 那个也是用了 Google 吧

匿名 #91 2013年10月06日

因为对他人人身攻击,此条信息已被管理员移除,该用户被屏蔽。

麻烦管理员加以教育 cc: @rei @lgn21st @huacnlee

#89 楼 @blacktulip 我看了好久才懂这什么意思

@jihua0a 我不知道你为什么急着要别人全盘接受你的看法,如果没办法把话题限定在对问题本身的讨论上,那么就请离开。

#90 楼 @Rei 我认为这个用户的言论已经非常过分了,我已在后台 BLOCK 该用户。

有时候慢也有好处:)

文中提到”java 的仿 sinatra 的 play”,什么意思?

#94 楼 @chq 他的意思应该是 Play(用 Java 的 web framework)仿 Sinatra 吧?

@allenlsy:paly[http://www.playframework.org] 和 sinatra 有什么联系呢?

Go 语言没有体验,无发言权。

但是 Ruby 我很了解,Web 开发现在也算小有心得,我有发言权,我只想说,做 WEB 时,当涉及到复杂的后端逻辑,在性能,易用和可维护性上综合考量,更重要的是在编写代码的体验上,又有那个语言比 Rails 赖以成功的底层语言 Ruby 更适合?我不清楚 Go 的定位,但是,我知道做 WEB 后端开发,Rails 是一个很不错的选择。

如果让让我在 Linux 下选择系统语言,我会毫不犹豫的选择 C, 为什么?至少我看来,有两个原因。

  • 你看到的几乎所有东西都是架构在 C 之上的。
  • 相比较于 UNIX 程序员 自底向上 的开发哲学来说,开发的点,经常都是足够小,例如可能仅仅是一个函数,C 刚好足够。Go 额外提供的,真的好的东西,只能是累赘。

最近有不少心得,就是整整花了半个月时间,完全重写了之前存在各种误用的很多 shell 脚本,重写 后代码简练多了,原来 bash shell 代码也可以写的很优雅,至少在做系统脚本 (复杂性不会太高), 以及做胶水语言这点上来说,bash shell 至少是我首选的语言。

说了半天,其实要表达的是:Ruby 和 Go 各是各码子的事,完全八杆子打不着的两个东西,为什么一定要这样比较呢?

本不想回帖,因为我一直都觉得,这样的语言比较 (甚至上升到社区的喜好高度) 的帖子,又有什么意义?个人有个人的喜好。

你看到的几乎所有东西都是架构在 C 之上的。

呵呵

顺便提一句局外話,我觉得社区的整体氛围充满了浮躁,也许和当前社会大环境有关吧。

为了可以立即做项目,而满足于对 Ruby 的浮浅了解,一个技术还一知半解时,又去尝试另一个新的技术。如果你真喜欢 Ruby(或你喜欢的任何东西), 那你就专注于它,专注于在它之上实现你所知道的任何最佳实践,争取创造一些原创的东西出来,Ruby 当然不是万能的,但就算暂时没有产出,我相信,作为 Ruby 这样一个语言来说,你在 Ruby 之上的投资,在你学习其他语言时,一定会有丰厚的回报。

@zw963

最近有不少心得,就是整整花了半个月时间,完全重写了之前存在各种误用的很多 shell 脚本,重写 后代码简练多了,原来 bash shell 代码也可以写的很优雅,至少在做系统脚本 (复杂性不会太高), 以及做胶水语言这点上来说,bash shell 至少是我首选的语言。

http://ruby-china.org/topics/14311

您还真是多情啊。

#98 楼 @bhuztez

你看到的几乎所有东西都是架构在 C 之上的。

显然这个 '你' 不包括你。

#100 楼 @zgm

概念 1: Ruby 是一个非常优雅的动态语言,而字符串处理则更甚。

概念 2: BASH 也可以写出幽雅的代码。

这俩有冲突吗?

说起来,那个例子中的代码,通过 read 的确是丑陋点。我早改了。

IFS='.' && array=($(basename "$0"))

不觉得比原来幽雅一些吗?

#98 楼 @bhuztez

还有啥?B 大 不会指的是那些 C 写的库的 python binding 吧? 难道 Linux 操作系统还涉及汇编吗?

#103 楼 @zw963 你给新人一个建议去学 ruby 了,自己却悄悄首选了 bash...这不是坑爹么。哈哈~

给 ruby 社区扣这么大顶帽子,简直就是标题党作风。

#104 楼 @zgm

那也要分干嘛呀。就像你说的,拿别人短处和自己长处比...

何况用 Ruby 写脚本,我也没有这方面经验,最多也就是一些 ruby -e 的方式,也有用到,也许将来会以 Ruby 直接发系统调用的方式的改写,不过现在没精力呀,最近每天痛苦的啃 the rails 4 way 当中...

今天刚把《松本行弘的程序世界》看完。觉得 Ruby 之父也没有在书中批评某个语言,而是客观的说了一些各个语言的特点以及 Ruby 是如何做到的。

我很赞同关于动态语言与静态语言方面他说的内容。以及在评价 Erlang 的时候对 Ruby 未来的乐观。

我觉得,这才是 Ruby 人应该有的风格。好的事物要想发展,怕被别的语言取代是没有任何用处的。还是应该考虑如何兼容并包才对。

PS:真都应该向松本行弘学学。。。

匿名 #111 2013年10月17日

再多的争论只能暴露人的片面。

真不明白为啥偏要拿出来对比,青菜萝卜各有所爱,每样都有自己的特点,挑选自己喜欢顺手的就好。

#100 楼 @zw963

好久没来了,纠正个错误。

你看到的几乎所有东西都是架构在 C 之上的。( linux 系统 有汇编,测试应该用的 python)

咱们用的 ubuntu 啊,软件什么的,大部分是 c 和 c++

@zw963 bash 真没 ruby 使着舒服啊。bash 唯一好处就是方便。

#112 楼 @jinleileiking

是好久不见你了呀~

其实,我所看到的东西,几乎都是建立在 小命令 以及 bash shell 脚本语言 之上的。现在除了 Ruby , 最爱 bash shell 了。

#113 楼 @zw963 bash 方言太多啊。好出就是 bash 一般都带,ruby 还要装一下,比较恶心。

118 楼 已删除
119 楼 已删除
120 楼 已删除
需要 登录 后方可回复, 如果你还没有账号请 注册新账号