瞎扯淡 新手选择 Ruby 还是 Python 学习?

cqcn1991 · 2015年12月13日 · 最后由 ezvoodoo 回复于 2015年12月16日 · 21123 次阅读

先说明,我不是专业工程师,只是个菜鸟。

这是给”0 基础“的人来说的,主要提供一些他们”不太可能知道“的事情 尽管那篇帖子的求助者,显然不是 0 基础的人。不过我觉得还是写写好了,也算提供一个不太常规的思路 只是,相关的内容一时半会儿确实说不完。而我觉得,与其求全写一个完整的比较,不如先写点自己知道的,来加快决策和讨论。这样可能更好一点。

1.Ruby 可以用来做网站

比如 Twitter, Airbnb, 36Kr...

2. Python 可以用来做网站,也可以做数据分析

可以用来做网站,比如上面说的那些,知乎,Instagram 的后端也是用的 Python 也可以用来做数据分析,具体什么意思?比如做回归性分析,数据统计,具体,见 Harvard Data Science CS109 数据分析课程 http://cs109.github.io/2015/ Udemy, Python Data Analysis 课程 https://www.udemy.com/learning-python-for-data-analysis-and-visualization/

3. Ruby 比 Python 好写一些

有非常多的人,说”人生苦短,快用 Python’. 可是,就我的经验来说,Ruby 确实比 Python 写起来舒服一点 见https://ruby-china.org/topics/25426

4. Python 的数据分析能力并不是那么好

如果因为我上面说“Python 比 Ruby 多了数据分析”,就选 Python,那并非如此 尽管,我在听 Harvard Data Science CS109 时,教课的老师自己从 Matlab 换成了 Python Python 的在科学计算方面,绝对不如 Matlab,写起来很麻烦(也就是矩阵的运算)。 但是在数据分析,比如类似 Excel 这样的表格型数据的使用上,Python 比 Matlab 要好一些


这样一来,是不是发现两个语言差不多了? 其实,应该就是这样,而且,比起无穷尽的比较两个语言间细微的差别,我觉得真正的问题是——

你的英语好不好

因为,实际的问题,是”0 基础“和”自学“的问题 如果英语好,Ruby Python 随便挑一个就行了,而且都能基本学会;英语不好,请学 PHP 因为 Ruby 和 Python,都有相当好的教程适合学习,也有友好的社区,但基本上都是英文。 而 PHP 中文教程的教程更多。如果碰到了问题,只能搜中文资料,问身边的人的话,那就学 PHP 好了

至于 Ruby ,Python, PHP?都可以用来做网站,不过语法不同而已 所以,如果英语好,直接开始学开始做就行了。我觉得更快的行动,比更仔细的思考要更好一点。

存在即合理,每个语言都有自己存在的价值,Ruby,Python,Nodejs 都有自己适用的场景,个人建议以 Ruby 为主要学习对象,毕竟做网站是最爽的,然后闲暇时间学学 Nodejs 和 Python

  1. 在 web 领域,python 排不上号
  2. python '只有一个最好解法' 的哲学实际上很多方面都没有一个足够技压群雄的 killer 方案,ruby 鼓励你去创造更好的解法
  3. python 应用广泛,但却是一门平庸的语言,没有在某一方面大放异彩。
  4. ruby 有一套优雅的能自圆其说的核心机制,python 却有拼凑的嫌疑,class 中的 self 让人感觉无语!
  5. ruby 对 windows 支持不好,python 能很好的在 windows 上运行
  6. ruby 是魔幻的童话世界,python 是现实世界

nodejs呢?😄
rubypython 哪个更好招人?

估计都不好招人吧。

新手不用 lisp 学习都是耍流氓

我大 JS 都已经要一桶浆糊了你们就不要纠结 Ruby 还是 Python 了

ruby 写起来真是爽

#6 楼 @blacktulip 和 ActiveRecord 类似功能的 node.js npm 有推荐么?

#10 楼 @flowerwrong 屠龙之技,学了找不到工作...

Ruby 至少有很多日语的资料,不懂英语不算大问题。

我刚开始学 ruby 的时候,英文看着就头痛,学了短时间,发现已经能看懂个 7 成,再配合翻译软件,只是时间花的更多。

#12 楼 @msg7086 难道日语还比英语更容易看懂吗

写 ruby 和写英语一样一样的

#14 楼 @hxh1246996371 对于懂日语不懂英语的人来说,当然了。 相比于 Python 以英语为主来说,双语至少提供了更多的选择。 (懂日语的人总比懂荷兰语的多吧?

#16 楼 @msg7086 这只是对你而言,程序员中懂英语的百分之百要比懂日语的多,而且任何语言都是英语资料多,也就 Ruby 是日本人开发的罢了。

ruby 对 windows 也是友好的,不友好的是某些 gem

#17 楼 @hxh1246996371 不知道『易语言』英文资料多不多哈

我觉得 @msg7086 说得挺有道理。虽然说 Python 像银弹,什么都能开上一枪,但我觉得它的社区支持并没有比 Ruby 强。Ruby 的社区活力当然有一部分是来自于日本,首先得益于这是一门日本人创造的语言,其次,日本在技术领域具有很强的 Galapagos 孤岛效应,换句话说,一旦某项技术在日本扎根发芽,形成本地社群效应,它就会自发生长,甚至于无视世界潮流。

举个例子,enchant.js 是个做 html5 游戏的小型 js 框架,11 年推出的,在世界其他地区都影响不大,但是因为这是日本人开发的框架,所以在日本有源源不断的社区资源支持,各种教程文档层出不穷,用它来实际开发的商业游戏和同人游戏数不胜数,直到 2015 年仍然势头不减,可以说日本就靠自己的文化资源社区力量养活了这个 js 框架,并让它枝繁叶茂。在这五年间,js 技术大爆炸,新框架如过江之鲫,但是作为一个时间有限的程序员,如果在五年前花费精力投注了 enchang.js,显然回报是很可观的。

Ruby 也是类似的情况。它在日本就像是一头孤岛上的巨兽,在世界其它地方用 python 做服务器运维的,在日本用 Ruby 做,用 python 做爬虫的,在日本用 Ruby 做。虽然 C++,Java 这些仍然在日本占据着最大的份额,但在动态脚本语言的争斗中,Ruby 在日本对于 python 有压倒性的优势。日本政府还在大量注资加强 Ruby 在嵌入式等领域的开发。可以说,就靠日本一个地区,让 Ruby 再维持 5 到 10 年的活力,根本不是难事。更何况,还有硅谷创业公司的默认技术栈 Rails。虽然 Rails 不再是一枝独秀,但它已经哺育出那么多的商业公司,它们基于 Rails 2.0,3.0 的网站还在持续良好地运行着,并产生着商业利益,这也是投注 Ruby 的原因所在。

未来 Python 会怎么样?一定会很好,它在英美的地位就像是二十一世纪的 Basic 语言,以后的初学者几乎人人都会碰上它,了解它。Web 开发、数据挖掘、机器学习、系统运维等方方面面都会有它的用武之地。但其实学一门语言有何难,真正消耗时间的,是这门语言衍生开的东西。对于小型创业公司的 Web 开发者,投注 Ruby 也一定会收到有价值的回报,信心的来源是日本和硅谷。你在商业活动中可能会遇到的种种技术问题,几乎都有前辈 Ruby 程序员帮你踩过地雷,提出了解法,甚至已经把这些智慧结晶成了 gem 等你取用。同时一个有活力的社区也会积极地拥抱变化,Rails 的进化史就是明证。

另外,对编程语言的相性,因人而异。但对我而言,Ruby 就是最美的语言。在深夜里对着黑漆漆的 Vim 窗口敲 Rails 代码的时光,就像是儿时躺在山坡上数星星,那是心灵最平静舒畅的体验。

身边有0基础学ruby现在做rails开发的案例。 非本专业进来做开发建议要低调并且持续学习。一些简单基本概念都不知道话,容易被人小看或者鄙视。

#21 楼 @crazyjin 汗...意思是说,我上面很多说 都是错的?求指出~

#22 楼 @cqcn1991 没说你说的是错的啊,只是举了一个我身边的例子,并且说了一些我的看法。况且你也并没有一个确定的结论,何来对错。

#17 楼 @hxh1246996371 不要偷换概念好吗? 我一开始就是评论的这句话:

你的英语好不好 如果英语好,Ruby Python 随便挑一个就行了,而且都能基本学会;英语不好,请学 PHP 因为 Ruby 和 Python,都有相当好的教程适合学习,也有友好的社区,但基本上都是英文。

对于 Ruby/Rails 社区来说,就算英语不好,但是如果日语好,照样能看能学。 你偏要跟我扯懂日语和懂英语的人数量,有意思吗? 按照母语人口来计算,英语也只能排第三位,第一是中文,第二是西班牙语,母语日语的人口是英语的三分之一,作为一个小语种不算少了。

也就 Ruby 是日本人开发的罢了。

我们难道不是在谈 Ruby?还是你觉得我们在谈什么别的东西?

这只是对你而言

别闹了。你看看这个论坛里有多少人是懂日语的?有多少人过了 N2 N1 的? 不要因为自己不懂就觉得别人也和你一样不懂好吗? 高考选了日语的,或者大学里修日语专业的人就无视了么。

#25 楼 @msg7086

我来帮你统计一下。这个论坛上日语水平比英语水平更好的请举手:

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