{eval=Array;=+count(Array);}
去年,我在网络上读过这样一段文字:“代码其实是存储在存储器(内存、硬盘或者闪存等)中有序电压高低,编译出的结果还是电脑中存储的有序电压高低。从代码的编辑到最后对电路的控制都是电压在起作用,只是为了方便而给我们展现的形式不一样,本质其实一样的。世界上本没有软件,软件只是对硬件的一种反映,就像意识是对客观世界的反映一样的。”
同样是在去年里,IEEE Spectrum杂志向人们发布了2017年度编程语言排行榜。并且,IEEE Spectrum是在获取了Stack Overflow、Twitter、Reddit、IEEE Xplore、GitHub、CareerBuilder等10个重要的数据源之后,再对48种编程语言进行排序的。
不难发现,单从各语言的应用范围和流行度来看,C、C++、JavaScript、Java、Python,便是优秀的程序员最应该精通的语言。另外,我的建议是,初学者首先就应该从最难的C/C++学起,并学精。每个程序员不可能去学完世界上所有的编程语言,在精通了C/C++、JavaScript、Java、Python等语言后,根据个人的志向以及工作的需要,再选择性地学会几门语言,是完全值得肯定的做法。在我看来,一个优秀的程序员,应该能完全精通2到5门的语言,同时会个10门左右的语言,都是很正常的。况且,现在很多的公司在外面招程序员时,也更喜欢那种T型人才(一专多能型)。一个程序员会更多门的语言,往往体现着这个人的大脑聪明,以及有着爱钻研,不怕吃苦,学习能力强等品质。再则,一个程序员在精通了几门的编程语言这个基础上,还会更多门的语言,在工作时解决问题的能力往往会更强(思路更开阔),工作起来的效率也更高,当然也更得老板的喜欢。
C语言是一种通用的命令式编程语言,于上个世纪70年代中问世。可以说,C既是最老的语言,又是应用范围最广的语言。C语言为其他语言如JavaScript、Java、Python、C#等提供了构建模块,且被人们广泛地应用于不同的操作系统和应用中。由于C语言为其他语言提供了基础,所以初学者最好先是从C/C++入手。
C++的应用范围非常广,起初是作为C的增强版而问世的。C++是一种静态数据类型检查的,支持多重编程范式的语言。C++支持过程化程序设计、数据抽象、面向对象程序设计和泛型程序设计等多种程序设计风格,C++已被应用在FireFox、Adobe Programs等知名软件中。C++可被用来开发系统软件、应用软件、客户端应用程序和视频游戏等。
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,同时也被广泛用于客户端Web的开发,常被用来给HTML网页添加动态功能。JavaScript还可用于开发游戏和桌面应用等。
Java是基于类的面向对象的语言,具有跨平台、面向对象、泛型编程的特点,被广泛用于企业级Web应用和移动应用的开发。最初Java的名字叫Oak。上个世纪90年代,互联网兴起并发展,Sun公司预见到了Oak在互联网行业中的应用前景,便改造了Oak,并于1995年5月正式对外发布Java。之后,Java一路伴随着互联网发展至今,逐渐成为了重要的网络编程语言之一。Java是为跨多个软件平台而设计,一个在Mac OS X上开发出来的程序同样能在Windows上运行。
Python是一种高级的服务器端脚本语言,适用于网站和移动应用的开发。对初学者而言,Python确实是简单易学。其他如C#、PHP、SQL、Objective-C、Ruby等语言,这里就不一一介绍了。顺便补充一下,去年网络上有过一篇文章,标题是《2017中国程序员生存报告》。该报告中就有一组数据显示,C、C++、JavaScript、Java、Python,PHP等语言相对占主流。
说到编程语言,一个重要的参考就是TIOBE排行榜, 该榜单是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube等统计出排名数据,以此反映某个编程语言的热门程度。
下图是今年四月份前20排名的编程语言榜单:
从此榜我们可以看出排名前三甲的分别是Java,C和Python,说明这三种编程语言的热度最高。当然,除了看每个月的榜单外,还应该关注编程语言热度的长期变化,以此来分析某种编程语法发展的趋势。
从这个图中可以看出,C与Java长期占据榜单的前两名,C++曾经也辉煌过,但是热度有明显的下降趋势,而Python则相反,处于上升的趋势。所以从数据来看,最流行的应该是Java。
TIOBE只是反映语言的热度,并不能说明一门编程语言的好坏,或者一门语言编写代码的数量多少。学习编程语言还是要根据个人的兴趣爱好和行业要求进行选择。
编程语言都有哪些
编程语言分为四大类,分别是汇编语言、脚本语言、机器语言和高级语言。
汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。
由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。
高级语言是大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。
常见的编程语言包括C#、Basic、Pascal、C语言、C++、JAVA、AAuto、易语言、SQL。
2如何挑选编程语言
计算机软件开发的过程中,程序员要对多种编程语言进行综合考虑。具体考虑包括软件将要安装的硬件环境、软件的平台支持性、开发设计成本和效率、选择相对熟练的计算机编程语言和客户对软件的使用要求。
Python 的优势在于容易上手,适合作为初学者的第一门编程语言。常用于爬取数据、数据挖掘、人工智能、机器学习、网站搭建。
C 语言是国内计算机专业学习的第一门编程语言。常用于操作系统开发、硬件开发等。
一个非常好的问题。计算机编程语言已经发展近100年了,中间经历了多次迭代进化,出现了很多种编程语言。
根据最新2020年4月份TIOBE编程语言指数排行榜,排名前3的分别是Java、C、Python。其中C是最古老的编程语言之一,现在依然使用广泛。
TIOBE编程排行榜根据全球工程师、课程和搜索引擎数量为指数得出,在一定程度上反映了编程语言的发展趋势。
最常见的编程语言在不同软件开发领域会有差别,要看题主从事的行业了。整体来看,Java、H5/JavaScript、Python和C当前最为常用。
在企业应用开发中Java最被青睐,尤其是电商系统、企业信息管理、各种应用系统,Java语言+ Spring Boot框架组合处于绝对的垄断地位,丰富的组件和易用的功能,使得学习起来比较容易。
根据IDC的统计数字,Java程序员市场需求量占到了所有软件开发类人才的60%~70%。
随着移动互联网的发展,大前端开发逐渐成为重点,这时的H5前端已经成为跨平台应用开发。作为H5 Hybrid架构三剑客之一的JavaScript,是一种解释型的脚本语言,由解释器加载执行,用在网页前端动态展示、调用服务后端交互等场景中。
Python在AI算法研究和开发中使用最为普遍,语法灵活,支持面向功能、面向对象和面向过程的开发方式,简单易学,有丰富的第三方库和框架,并且对AI算法的动态适用性非常好。结合Jupyter Notebook交互式笔记本,基本是标配。
众多的Python技术社区非常活跃,推动整个语言生态健康发展。
随着物联网技术快速发展,C语言再次得到关注和使用,主要开发领域是底层模块驱动程序和嵌入式应用。
C语言具有很好的可移植性和很高的运行效率,运行时环境占用资源少,几乎与所有系统兼容,常用于操作系统和嵌入式系统开发。
我是工作多年的Web应用架构师,陆续发布关于软件开发方面的文章,欢迎关注我,了解更多IT专业知识。
5
回答1
回答0
回答0
回答3
回答0
回答0
回答4
回答0
回答0
回答