以下观点,仅仅代表我个人观点,有一些地方可能个人感情色彩比较重。 如果你支持我,我会回复。 如果你要来骂我,我不理你。
每天统计的全球网站,所使用的 Web 服务端语言份额。点此链接

经常会听到某某论调,Java适合开发大型项目,PHP、Ruby等适合开发中小项目。事实真是如此吗?一个大型项目,往往都是多种语言一起开发的。以下统计的是此站点使用的主要语言。



这个统计数据并不是今年最新的,有一些变化。
虽然是几年前的统计,但不要再跟我说没有参考价值了,一个大型项目想换语言是很困难的事情,你如果知道其他变化欢迎补充。
目前我已知的一些变化是:
淘宝的前端由PHP转向了Node.js。
Java的Paypal和Linkedin转向了Node.js。
目前Java在列表中前50名的网站里,仅仅剩下3家而已。
需要搞清楚的是,这个排行榜是怎么来的?他是根据搜索引擎的搜索量来的,跟实际项目份额一点关系都没有。那你是关心搜哪个多,还是更关心企业用哪个多呢?

PHP的特点,简单粗暴。不过就是这样的简单粗暴,却能让你快速的完成项目。
PHP过去的代码非常混乱,各种奇葩代码层出不穷,一人一个搞法。不过这种情况,在有了Laravel框架和Composer包管理器后有了非常大的进步。
现今的PHP,基本发展还是不错。使用了这些新技术后,代码的结构和规范都得到了最大的保障。我觉得它目前依然是一个很好的工作的语言,就业需求也依旧旺盛。
比较大的一个问题是,经过各种培训机构教出来的 PHP 新手比较多,这些往往是没有自己独立完整企业项目能力的。而一去了就能自己独当一面,独立完成各种企业需求的人却比较稀缺。
我毫不掩饰的说,Java是我个人最讨厌的语言,没有之一。
有的语言会给你最大的自由,你就是上帝,你想怎样都可以随心所欲。而有的语言,觉得用户都是傻 X。给你一个牢房,让你用起来感觉自己是犯人,做什么都必须在限制的牢房里。Java明显就是后者,它非常善于把简单的事情变得复杂,并且加上一堆条条框框让你非常的难受。
基本上说Java好的人,就三类。
第一种,书呆子。 第二种,坐井观天,只用过
Java,根本没用过其他优秀语言的人。我敢肯定说他没用过Ruby这类人性化的语言。 第三种,听别人说的,自己根本什么都不了解。
以下内容,摘要自硅谷创业之父,Paul Graham的黑客与画家一书
有人写信说:“你怎么能说Java不会成功呢?它已经成功了。”我觉得这要看你的成功标准是什么。
如果标准是相关书籍的出版量,或者是相信学会Java就能找到工作的大学生数量,那么Java确实已经成功了。
当我说Java不会成功时,我的意思是它和Cobol一样,进化之路已经走到了尽头。
hello-world程序的唯一作用就是显示出“Hello, world!”这句话。使用Java语言,你需要这样写:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
如果你从来没有接触过编程,看到上面的代码可能会很奇怪,让计算机显示一句话为什么要搞得这么复杂? 有意思的是,资深程序员的反应与你一样。
最不用担心的竞争对手就是那些要求应聘者具有Oracle数据库经验的公司,你永远不必担心他们。
如果是招聘C++或Java程序员的公司,对你也不会构成威胁。
如果他们招聘Perl或Python程序员,就稍微有点威胁了。至少这听起来像一家技术公司,并且由黑客控制。
如果我有幸见到一家招聘Lisp黑客的公司,就会真的感到如临大敌。
我个人观点,与此书作者一致。如果你只是想去找个普通的企业混口饭吃,Java是一个选择。如果你是一个富有创新精神的黑客,我相信你是绝对不会选择这门语言的。
另外非常不推荐再去搞安卓开发了,目前行情是开发者严重过剩。已经过了当年ios、安卓开发非常火爆的年代了。用户不愿意在手机上安装一大堆不常用的App,另一个开发App的成本本身也比较大。很多企业开始转向微信的公众号、小程序开发。
Python应该是目前炒作做厉害的语言。我想说的是,真的只是各个培训机构的炒作而已。我过去自己长期用Python的Web.py框架开发项目。然而Web方向上Python一个比较完美的框架都没有。
Web.py,是一个好东西,然而作者仙去了。Django,用起来和Rails、Laravel比,太难用了。Tornado,性能高,可是严重缺轮子。
国内Python两大站点,一个豆瓣、一个知乎。除此外,你基本找不到其他有一定知名度的站点了。知乎目前主程序还要开始往Golang上迁移。
另外Python的大数据、人工智能等等,我劝你清醒一点。一般搞开发的公司不需要做这个,需要做这个的公司不会要你。尤其是人工智能,不是名校的研、博,或者有一定业界知名度的人士,你想都不要想。
Python的爬虫,我觉得也不是什么公司都需要的。正常自己开发运营的公司,用到的点也不多。
我觉得可能你学完后,就业最大可能的方向就是去搞服务器运维了。
毫无疑问,这是我个人最喜爱的语言,没有之一。语言本身的各种优点,人性化都让我深深喜爱。我自己公司的项目,我也选择了使用Ruby On Rails来开发,有兴趣的可以了解我在 ruby china 的另一篇帖子,展示一下自己的第一个 Rails 作品。各种完善便利我就不一一道来了。
那我主要想要谈的是Ruby的就业问题。在我所在的武汉这种城市,用Ruby做开发的公司,包括我,大概 4~5 家。满眼看下去,净是PHP、Java。你能在这种城市找到合适的Ruby工作,算我佩服。
但是如果你去一线城市,那就不一样了,这种机会就要多的多。
意见就是,如果你在一线城市,学Ruby是一个很好想法。如果是二线就算了,不要到时候饭都没有吃的。
PHP是我吃饭的家伙。不过我给我自己的女儿取英文名叫Ruby,儿子取英文名叫Python。家里的垃圾桶就叫Java。你就该知道我对他们的看法了。
我个人是先学了PHP,并一直以此为生。后来自学了Java,不过感觉Java的各种理念与我自由的内心实在不合,于是反而变得非常烦此语言。再后来又自学了Python,并用他做了一些项目。最后接触的是Ruby,也是我最喜欢的了。
如果你现在急着就业,那么PHP是一个比较好的选择。你可以和我一样,先由PHP入行,等这一门语言自己觉得能力没有任何问题了,再去学习其他的语言,开阔自己的眼界。
如果你在一线城市,Ruby也是很好的选择,二线城市请慎重。
Python我也比较喜欢,只是目前我没有怎么用它,主要做的都是PHP和Ruby的开发工作。你如果想从事运维工作,可以选择这个。Python的其他方向劝你慎重。
最后做一个总结,前三句话来自网络,最后一句是我自己加上的。
假如你想帮他尽快找个活儿,赚到钱,推荐
PHP。 假如你想让他成为一个高效工程师,推荐Python。 假如你想让他爱上他的工作,推荐Ruby。 假如你想让他自己跟自己过不去,就当一个书呆子,推荐Java。
套用一句经典的广告:别看广告,看疗效。
到底好不好,别要一味听网络宣传。只有自己去分析下真实的数据,自己都体验一下,你才知道到底哪个好,哪个适合自己。