简单地一句话总结:
1.假如你想帮他尽快找个活儿,赚到钱,推荐php。
2.假如你想让他成为一个高效工程师,推荐 python。
3.假如你想让他爱上他的工作,推荐 ruby。
语言的选择:
编程语言非常重要,不要认为他们都图灵等价,用起来都一样。实际上,好的语言,带给你的东西是超乎想像的。
下面是一些看法:
1.程序员的时间远比机器的时间宝贵:选择开发效率最高的语言吧,不要过于在乎运行性能,如果你开发不出东西,那么跑得多快也没用。
2.优雅的抽象胜于简单的堆砌: 这意味着你的代码是最简洁而又充满设计感的,面向对象,容易的闭包,一切都是表达式等等,而最好的抽象是语言本身能够分层,既能够书写语言的语言,比如 dsl 能力强弱是个指标。
3.才华横溢的社区胜过有难度的招聘:这种语言一定要拥有一个活跃且才华横溢的社区,只要使用她的人,就有一种自豪感和精英意识,在社区里的每个人都自认为比别人强。即使,你不那么容易招聘到程序员,但我们不都知道,一个有才华的程序员胜过100个平庸之辈嘛?选用这种语言,能保证团队里一起编码的每一个人,都是高手。
4.也是最重要的,乐趣胜过一切: 灵活,好玩,永远有新发现的魔术般的语言,只有你想不到的,没有你做不到的,对一个真正的hacker来说,这是选择语言唯一的理由,这也是 perl 为什么能够长期存活的原因,因为她是 hacker 为 hacker 创作的。
如果能看完这些观点,相信你能猜出我的选择了 :) 是的,ruby是主流语言中我认为最出色的,最高的开发效率,最优雅简洁的抽象能力,最有才的社区(github为中心),和最大的乐趣。
做为一个程序员,是应该去选取不同思路的语言去学习的,而且当然要选择最有代表性的语言,在编程的世界里,主流的思路其实就两种,一是结构化编程,一是函数化编程,面向对象只是结构化编程进化的一个阶段而已,其他各种各样的思路大多数是这两个的分支。
社区的创造力
选择一门语言要看这个语言社区的气质,以及你想用他做什么东西。
mac 上可以运行那么多种语言,有很多人用 git。但却只有 ruby 的用户开发出了 homebrew 这样牛逼的包管理系统,善用了 github 的诸多特性,真正的把每一个用户都变成了潜在的 repo 贡献者。我相信这绝对不是巧合。如果同样的条件摆在面前,你做出了一个全新的东西而别人没有,说明了你的创造力比别人要高。
作为 python 的使用者,我觉得 ruby 语法的优劣不太重要。但是从外部看 ruby 社区近些年持续的向外输出一些从技术到开发上的理念,不断的有大大小小的很酷的项目从 ruby社区中诞生的出来。使得我觉得 ruby 社区是一个很有创新气质的社区。因此如果你学编程是想做出一个很酷的东西,那么我强烈建议你直接学习 ruby。
从 web 开发去比较
对于 web 开发,这三种语言都能胜任,但是还是有不少区别:
1.ruby 的 rails 框架确实是称得上是快速开发的典范,但是 ruby 的语法过于灵活,有些时候对同一个处理会有很多种不同的写法。
2.php 是老牌的网页脚本语言,相对其他两门而言比较成熟。php 虽然快速成型,但容易失控,尤其项目稍大的时候。
3.对于 python 来说,由于自身的简约设计,可能应用的方面的
更多信息请查看IT技术专栏