以下观点,仅仅代表我个人观点,有一些地方可能个人感情色彩比较重。 如果你支持我,我会回复。 如果你要来骂我,我不理你。
每天统计的全球网站,所使用的 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
。
套用一句经典的广告:别看广告,看疗效
。
到底好不好,别要一味听网络宣传。只有自己去分析下真实的数据,自己都体验一下,你才知道到底哪个好,哪个适合自己。