TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据,只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。虽然如此,但是TIOBE排行榜,还是可以作为程序语言的整体风向标!
对于想入门的人来说,都会犯选择困难症,不知道到底哪门语言更好!那么老司机告诉你,学哪一门语言都可以,因为语言是相通的,学会一门后,再学其它的语言都会非常快速。
你肯定还是会一头雾水,那还是得选择一个啊!要选择一门语言来入门,首先应该先了解该语言的难易程度,其次是语言的主要应用领域,最后我们才能根据自己的实际情况来进行选择。那么接下来,我就带着你来了解这些知识,帮助你进行选择!
应用领域
我们将各语言可以从事的应用领域,进行一个简单的分类,帮助大家更好的理解。我不会用学术性的描述来讲解各领域的含义,我会用最直接最简单的举例子来告诉大家,某个领域是做什么产品,通过产品产生直观的映像。
应用软件开发
应用软件开发一般是制作桌面软件或者手机应用软件等等,比如:Word,Excel,PS,Steam,图书管理系统,360浏览器,腾讯视频等等。
游戏开发
游戏开发很好理解,即我们玩的电脑游戏,手机游戏,主机游戏等等。比如:王者荣耀,阴阳师,绝地求生,和平精英,只狼,最终幻想,仙剑奇侠传等等。
服务器开发
服务器开发这个不太好举实际的例子,因为对于用户来说我们是看不见它的,你可以简单的理解,我们在玩游戏时,使用一些联网软件时,我们的数据都是通过远程的服务器进行处理,转发,存储。它对于用户,是一个相对抽象的存在。而服务器开发可以理解成程序员做了一个用户看不到的软件,运行在远端的计算机上,专门用于一些数据的处理。
嵌入式开发
嵌入式开发是一个硬件软件结合的开发领域,你可以简单的理解为偏硬件的开发,比如手机硬件,机顶盒,调制解调器,机器人硬件等等。
web开发
web开发可以简单的理解为网站网页开发,比如一些复杂的电子商务网站:京东网站,淘宝网站,拼多多网站等等,或者一些简单的个人主页,个人博客,某服装品牌官网等等。
数据库
数据库相对也是一个比较抽象的概念,数据库是用于存储用户数据的,比如软件用户,游戏用户的数据都是存到数据库中的,一般情况下会通过服务器将用户数据存储到数据库中,用户是不会直接接触数据库的。
工具开发
这里的工具指的是用于一些专业领域的特殊工具,对于一般用户来说是接触不到的。比如游戏开发过程中的地图编辑器,关卡编辑器;比如大数据领域用的数据采集工具,数据分析工具等等。
排名前十的语言
我会通过语言的应用领域,以及语言的难易程度,简单直观的让你对他们有一个基本了解。
Java
难易度:中
应用领域:服务器开发,Web开发,应用软件开发
正式出现:1996年
C
难易度:高
应用领域:嵌入式开发
正式出现:1972年
Python
难易度:低
应用领域:Web开发,工具开发,服务器开发
正式出现:1991年
C++
难易度:高
应用领域:游戏开发,应用软件开发,服务器开发
正式出现:1998年
C#
难易度:中
应用领域:游戏开发,Web开发,应用软件开发,服务器开发
正式出现:2000年
VB
难易度:中
应用领域:应用软件开发,Web开发
正式出现:1991年
JavaScript
难易度:低
应用领域:Web开发,服务器开发
正式出现:1995年
PHP
难易度:低
应用领域:Web开发
正式出现:1995年
SQL
难易度:低
应用领域:数据库
正式出现:1986年
R
难易度:中
应用领域:工具开发
正式出现:1980年
总结:以上10种语言是世界排行,在中国的使用情况,前十中除了R语言和VB。其它8种语言在国内的使用率是相当普遍的。
我将这8种语言再给大家进行一个简单分类。
全能型选手,应用领域广:C++、 C# 、Java
Web选手,主要应用于Web开发:JavaScript、Php、VB、Python
术业有专攻:C、SQL、R
对于程序爱好者,不以就业为目标的同学,老司机建议从较为简单的语言来进行学习,比如各Web选手,他们相对于其它语言来说都是较为简单的。
对于以就业为目标的零基础同学,老司机建议学习全能型选手的三者之一。他们的就业领域广,市场需求大,薪资待遇高。而其中C++和C#两门语言相对Java的优势是可以进行游戏开发,因为目前市面上使用范围最高的两大游戏引擎Unity和UE4就是分别使用C#和C++进行开发的。