TIOBE 发布了 5 月份编程语言排行榜。其中,前三名依然健稳不变,他们分别是 Java、C、C++,第四则为: Python ,第五则为 VB .NET。
下面两张图,我们可以看到:
2019 年 5 月 Top 20 排名
2019 年 5 月 Top 10 语言的趋势
2019 年 5 月 Top 50
而在2019年3月数据库流行度排行: Oracle 依然坚挺,MySQL大幅增长成月度赢家 ,java之所以能排第一的,
在语法上,java和C/C++没什么区别。论性能,在复杂应用的表现上,java也没有明显的弱。java代码能跨平台通用。相当于是一个解决了平台无关性的C语言。
无论是开发环境的组建,还是后续产品部署,都具有了直接用C所不具备的灵活性。所以在应用开发上,倾向用java会是不错的选择。
在生态上,java比python之类的要好太多:功能丰富,运行稳定。随着工具链的完善,java的开发代价也比python之类的高不了太多。所以很多应用的开发,选java会比python更方便。
这样比较一下,发现java确实会长期是编程语言的第一名。
但是,很值得一提的是 ,R语言却挤出了前20名,这也是大家普遍关注的,二Python却用的人越来越多了,呈现了每月上涨趋势最多的语言。很多人看好的Go语言,却仍在19左右徘徊。
不要过多的去追热
而现实却只有作为开发者我们知道,尽管Python是日益增长最快的,Java仍然独占鳌头,但是事实上互联网行情确是一片萧条,而那些堪称过度追热的也大部分就是搞培训的忽悠一下小白而已了。尤其是Py,过多人去追求python也可能不单单他能做的事情很多,也肯能是因为后面能做人工智能,殊不知就目前而言,python的需求虽然不少,但同时也导致了公司招聘比较难,求职者找一份合适的也比较难,这个问题也是时候值得大家深思了
其实很多公司要的不是你会18般武艺,而是在某一方面达到一定造诣,不要刻意追求一种语言,每一种语言都是有他的优势,选择合适的才是最重要的。
最后
happyfire大佬说的一段话很值得和大家分享:
曾经年轻的我也认为语言只不过是工具,任何语言都是拿来所用,所以没必要说什么语言更好。工作十几年后发现真实世界远比想象的复杂,有些事情是因为各种原因而形成了现在你看到的样子,就比如Go为什么会出现,是因为google内部维护c开发的工具感觉太麻烦了,而Go和python, java等语言自然有不一样的地方,多的不说,Go的协程是我知道目前写高并发网络应用最佳的方式之一,其底层自然还是基于IO多路复用的,但是在语言层面上提供了协程这一工具让你可以像写多线程那样写并发程序那么方便但是不用担心多线程的问题。
在这之前Nodejs提供了类似的功能,但Nodejs只能单进程,而Go可以自动利用多核,真的是相当强大。所以没有必要看别人推荐什么语言就一味的抵触,当然也没必要争论什么语言更好,现实世界中语言已经和他所应用的生态绑定在一起了,Go虽然好,但我觉得除了写网络应用特别是中间件之外,并没有必要拿他去替代Java,当然也没必要拿Go去写客户端,去写游戏。