TIOBE2017年4编程开发语言排名和20年经验体会

可以访问链接查看详细排名 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),Javaswing开发编辑器不是那么好用,就选择了C#,现在做winform程序如果不涉及到太高性能要求不需要跨平台,第一选择一定是c#,开发便捷方便,而且可以很容易和c++集成开发和调试,web端程序的开发也有很大市场,但我没有做过实际项目就不做评论,熟悉的同学可以帮忙补充。

HTML5 JavaScript

做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的应用,多媒体应用,总体趋势是向下的

只是一些感悟,不一定能给出新人学习语言的明确意见,但可以成为你做判断的参考。

51cto学员IT充电节

http://edu.51cto.com/activity/lists/id-47.html?qd=xysy

大家可以关注我在51cto学院上的课程

http://edu.51cto.com/user/user_id-12016059.html

时间: 2024-10-13 12:04:22

TIOBE2017年4编程开发语言排名和20年经验体会的相关文章

solidity编程开发语言——以太坊智能合约利器

这篇关于Solidity教程的博客展示了很多Solidity特性.本教程假定你对以太坊虚拟机和编程有一定的了解. 以太坊,"世界计算机"提供了一个非常强大的全球共享基础设施,使用名为Solidity的编程语言构建去中心化应用程序. 让我们开始我们的Solidity教程,介绍Solidity. 什么是Solidity? 以太坊Solidity是一种面向智能合约的高级语言,其语法与JavaScript类似.solidity是用于生成在EVM上执行的机器级代码的工具.solidity编译器获

2017年开发语言排名

www.tiobe.com 查看网站TIOBE language ranking 原文地址:http://blog.51cto.com/vbers/2137292

一个软件开发工程师的7年工作经验总结

这是在网上看到的一篇文章,写的是一个从事软件工程开发的大牛对从业七年的一些经验总结.感觉挺不错,转来与大家分享了,下面是正文. 1.分享第一条经验:"学历代表过去,能力代表现在,学习力代表未来." 其实这是一个来自国外教育领域的一个研究结果.相信工作过几年.十几年的朋友对这个道理有些体会吧.但我相信这一点也很重要:"重要的道理明白太晚将抱憾终生!"所以放在每一条,让刚刚毕业的朋友们早点看到哈! 2.一定要确定自己的发展方向,并为此目的制定可行的计划. 不要说什么,&

【编程开发】C语言中随机数rand使用注意事项

[编程开发]C语言中随机数rand使用注意事项 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:随机数在编程开发中非常重要,以C语言中的rand函数为例,使用时需要注意随机数的随机体现在哪里,比如是程序在不同的时刻执行时,相同位置的随机数是否需要一样,还是要每次执行生成的随机数也要不一样,等等,这些都是需要加以关注的地方. 经测试,发现,在不使用srand这个随机数种子的情况下:每次运行生成的随机数都是一样的.有的时候是需要这样子的,当然可以直接使

为什么要用golang语言进行区块链编程开发?

Go语言现在常常被用来做去中心化系统(decentralised system).其他类型的公司也都把Go用在产品的核心模块中,并且它在网站开发中也占据了一席之地. 我们在决定做Karachain的时候,考量(benchmark)了C,C++, Java, 甚至NodeJs,我们也试着用一些算法来作为考量标准.而现在,我表示我们正在用Go来实现此目标,并且感觉不错. 啊,现在建造一个区块链,恰如当时建造一个操作系统! 我们在建造像区块链平台这样复杂的东西时,把注意力放在了那些核心问题上.经过差不

IT视频课程集(包含各类Oracle、DB2、Linux、Mysql、Nosql、Hadoop、BI、云计算、编程开发、网络、大数据、虚拟化

马哥Linux培训视频课程:http://pan.baidu.com/s/1pJwk7dp Oracle.大数据系列课程:http://pan.baidu.com/s/1bnng3yZ 天善智能BI培训视频课程:http://pan.baidu.com/s/1pJ7FPXp 老方块Oracle培训全套课程:http://pan.baidu.com/s/1gdkpHxL Mysql培训课程:http://pan.baidu.com/s/1c0vliMW Oracle数据库性能优化实务课程视频+源码

哪有python开发语言入门教程免费下载?

人工智能时代,如果不想被机器人取代,最应该掌握的是编程.Python作为连续10年最受欢迎的编程语言,不但能开发Google .豆瓣等大型网站,还是人工智能领域的第一语言.那么,我猜你想问哪里有python开发语言入门教程. 千锋Python基础教程:http://pan.baidu.com/s/1qYTZiNE Python课程教学高手晋级视频总目录:http://pan.baidu.com/s/1hrXwY8k Python课程windows知识点:http://pan.baidu.com/

如何看待 Kotlin 成为 Android 官方支持开发语言?

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 如何看待 Kotlin 成为 Android 官方支持开发语言? - Thinkblog - 博客频道 - CSDN.NET Thinkblog 爱编程,爱分享,不仅限于技术. 目录视图 摘要视图 订阅 [活动]2017 CSDN博客专栏评选 &nbsp [5月书讯]

C++编程开发学习的50条建议(转)

每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少.本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真的理解了这些建议,相信能够在学习时准确的抓住侧重点,少走弯路.下面列出这50条建议: 1.把C++当成一门新的语言学习(和C没啥关系!). 2.看<Thinking In C++>,不要看<C++编程思想>. 3.看<The C++ Programming Language>