【编程入门】不同编程语言的比较与特性

发表时间: 2024-03-29 15:07

如今 PythonJavaCC++JavaScript 等编程语言五花八门,而各种编程语言也各有优劣,那么,我们该如何去选择?
其实,不同的语言适合于不同的领域 ,以下就九大编程语言的简介、用途、发展趋势等做简单介绍,供大家参考。

2024-03-29 TIOBE Index排行

list

写了十年代码,愈来愈发现,编程语言就是一个工具,没有最好,也没有最坏。有人说Golang好,但也有人用Java。有人说Java好,但也有人用PHP。语言的价值是业务的落地实现,线下业务与线上的融合。脱离了业务的任何技术讨论就像空中楼阁,海市蜃楼,空有一副皮囊。一切的一切,终究要回到商业上来,回到业务上来。纯技术的极客是理想主义者,没有支撑,为爱发光。此处并不存在贬低,就本人而言,认为编程语言的选择要符合市场化的需求,除非终其一生,于一家单位退休。
一位外国友人用《如果编程语言是武器》对各个编程的区别和特征做了生动形象的描述。

C语言是M1式加兰德步枪,很老但可靠。
(开发效率太低,开发门槛高,不要以为语法简单就门槛低,指针、内存、操作系统底层才是门槛所在)

C++是双截棍,挥舞起来很强悍,很吸引人,但需要你多年的磨练来掌握,很多人希望改用别的武器。

(太复杂,如果现在的程序员全部被强制去写C++,估计90%会崩溃或者转行)

Ruby 是一把外嵌红宝石的宝刀,人们使用它通常是因为看起来很炫。

(拥有广泛的工具及功能库,使得构建应用十分轻松,但很难找到关于Ruby良好的说明文档且运行速度差。)

PHP是水管子,你通常会把它的一段接到汽车的排气管,另一端插进车窗里,然后你坐进车里,开动引擎。
(拥有庞大而活跃的社区,面对Web开发难题都有现成的解决方案,但PHP错误处理机制比较糟糕,因为它的开发历史过长且需要支持大量旧有功能。)

Python是一种“v2/v3”双管枪,每次只能用一个管子发射,你永远不知道该用哪个管子发射好。
(因为该语言易于掌握拥有极高人气,但在语言设计上存在问题,在移动计算领域表现比较糟糕。)

JavaScript是一把宝剑,但没有剑柄。
(它的代码函数可立即运行,无需等待服务器做出回应,因此速度非常出色。但由于代码在用户计算机上执行,有时会被恶意活动所利用。)

Java是M240通用弹夹式自动机枪。
(同样的效果,Java用简练的语言即可进行输出,封装了大部分的算法,用自带的库/开发环境运算,所以运行速度能像机枪一样快~)

Scala是M240通用机枪的变种,但它的使用手册是用一种看不懂的方言写的,很多人怀疑那只是一些梦话。
不难看出以上威力最大的武器就是Java了。的确,相对而言Java是开发效率、开发门槛、性能、跨平台这几方面平衡得最好的语言。