可以访问链接查看详细排名 https://www.tiobe.com/tiobe-index/
每月一次的语言热门排行榜又发布了,当然国外的语言热门程度和国内还是有一定的区别,不过也可以作为参考,大家一起说下自己工作的语言,给想要学习的同学做一些借鉴,我先说下我了解和熟悉的一些语言。首先声明不保证观点都正确,只是根据我近20年的学习和研发经验得出的体会,我也不会认为哪种语言最好,只是每种语言有不同的应用场景。
先说下我各种开发使用语言的背景,这样你也能判断出我那些体会是有价值的。
先说我现在工作中还用到的编程语言C++:
也是从大学就开始学习使用,实际项目大概是从2005年开始使用,第一份工作也是从事c++开发,当时是开发防火墙类的项目,这个目前也是我工作主要用到的语言,做图像视频和嵌入式相关项目。
c++语言很多应用场景被c#、Python替代,相对于Java来说就业并不容易,并且c++对开发人员的基本原理掌握要求较高,对于新毕业的同学,有较好教育背景和扎实的技术功底还是很容易找到较高工资的工作。现在的热门趋势是物联网和人工智能,在这些领域c++还是拥有一定的不可替代性。
Lua:
2007年开始使用的脚本语言,当时用c++做编译实在太麻烦,自从引入了lua解决了很多问题,所以现在我的c++项目一定会引入lua,与c/c++的结合非常简单,可以很容易将lua源码编入到你的项目中,由于lua比较小巧效率也较高。lua最多应用是在网游中,任务脚本很多都是用lua。
C:
这个肯定是接触最早的语言,大学里面最先学习的语言,当时最早接触C语言都不知道他能做什么,只是做一些控制台程序,现在在实际项目中会涉及到,基本都是做底层涉及到,如做51、stm32,驱动。上层应用我基本都换为使用c++。
PHP:
最有争议的一句话就是php是最好的语言,我最早做出实际项目的语言是,大概是2000年,php一直使用至今。2000年是做了个二手网上商城,也没有推向市场,当时还没有taobao,不过以当时一个纯IT男就算推出很难做起来。目前项目当中涉及到web的,我的第一选择就是用php,在我们的开发的云相机项目中,也将php嵌入到了板子中。
C#:
当时做winform程序觉得c++ mfc太麻烦(当时还不知道QT),Java swing开发编辑器不是那么好用,就选择了C#,现在做winform程序如果不涉及到太高性能要求不需要跨平台,第一选择一定是c#,开发便捷方便,而且可以很容易和c++集成开发和调试,web端程序的开发也有很大市场,但我没有做过实际项目就不做评论,熟悉的同学可以帮忙补充。
做web肯定不会不用js,使用过jQuery,extjs,bootstrap等。
只做前端,现在属于比较紧缺的人才了,你只要精通前端就能,人才属于供不应求。但如果一窝蜂去学习很快也会饱和。
sql:
可能都不能算语言,现在nosql大行其道,但是sql虽然被部分替代但是还是拥有极其广泛的应用。我在项目中处理用sql做负责的统计,也用存储过程做过完整的短信项目。
Bash Shell:
应该也算一种语言吧,做Linux,Unix开发人员必学,用bash来处理很多任务真是特别简单,比如做一个网络服务器只要几行代码。
用过、学习过、可能应用的的语言
Python:
在一个项目中使用过,主要是基于OpenStack做开发,不是很熟悉的语言,最近准备开始学习。现在热门的机器学习很多都是基于Python。
java:
接触比较早的语言,语言刚推出没多久就接触研究了,大概是1998,当时是开发java applet,当时只觉得做出的东西很卡,也是研究生期间学习的语言,算是花了很大精力学习,当时找工作机会最多的语言,比如IBM大部分职位是针对java的,他们连窗口程序都是用java开发的。实际工作后带团队做过一个三年的项目基于ssh。java语言目前应该在中国应该还是最容易就业的语言,两年以上经验的java开发人员极端的抢手,在市面上很难招到,但java做外包项目的较多。
Pascal:当年为了考研学习的语言,考操作系统用到,现在估计不一定非要用pascal了,实际项目中没有应用,只是试着研究过delphi。现在数学领域应用很多。
Visual Basic:上学期间学习过,当时应该是做的一些和硬件相关的实验,没有实际项目应用过,但这个语言在国外很火,国内倒是很少听说有什么大的项目应用的。
ActionScript:flash的应用,多媒体应用,总体趋势是向下的
只是一些感悟,不一定能给出新人学习语言的明确意见,但可以成为你做判断的参考。
http://edu.51cto.com/activity/lists/id-47.html?qd=xysy
大家可以关注我在51cto学院上的课程
夏老师的课堂 http://edu.51cto.com/lecturer/12016059.html