行业新闻

编程领域为什么要有那么多的语言?

学编程,意味着要选择一种编程语言,那么很容易产生的疑惑就是:为什么要有那么多的编程语言?

那么我们就一起探讨一下为什么要有那么多的编程语言:


1、应用领域不同,导致需要的是不同的编译效率和代码质量以及执行速度的要求。

底层是用户发出操作上层的各个软件发出所有指令的最终汇聚点,都要去控制CPU。相当告诉公里上的收费站,所有车辆都要汇聚到这里。

所以要求处理速度快,代码质量高,能用一句的绝不用两句,那么就意味着不能有很复杂的编译过程、同时代码质量要高、精简,不能笨重。

显然应该直接写机器码,起码也得写汇编语言,一步到位就能得到机器码。再不济也得用C语言,但为了开发起来友好点,想方便一点,C++也霸蛮的允许,因为它里面有面向对象可以极大的方便编程。但再不能是java了或者PHP以及JS这些了。

所以比如嵌入式领域或者底层驱动领域,你就不会看到用JAVA和PHP去写驱动就是这个原因。为了任务分配合理,开发人员偷懒,选择了引入操作系统,但也通常也只能是小的被裁剪了的操作系统内核,如uclinux,也绝不能是那种直接在电脑上运 行 的 庞 大 的 操 作 系 统 如 win7,win8,win10,redhat,centos;否则就意味着要么你的系统性能下降,要么就需要你的硬件升级。

 

2、使用的领域不同,导致侧重点不同。而不是编程语言本身的好坏。那么平常说的好坏只是对开发人员的友好性而言。


比如:PHP是面对应用领域的开发语言。要求的是快速看到效果,友好性好。因此就不太在乎比C语言多损耗了点编译性能和多集成一些库了。

所以,它的最大特点就是:把N多常用的库都集成进来了,让你用起来简单的多,如:mysql连接库,mysqli链接库等。

但这并不能说明PHP就比C语言好,只是对用户开发起来友好而已,只是他们用的领域不同而已。如果从驱动领域来说,PHP谈不上比C语言好!如果从开发微信交互来说,C语言谈不上比PHP好。

 

3、开发时间决定


 

如:PHP重要的是应用,应该在短时间内开发出应用,那就不能从头到尾的写,否则内容太多,比如你不可能从汇编写起来,否则功能还没写出来,几个月就过去了,所以PHP领域内会出现很多很多的框架和CMS系统,这些系统虽然参差不齐,有的代码质量本身就很差劲,但是能看到效果啊。

至于晚几毫秒,用户也根本体验不到,所以开发速度就要比代码本身的质量效率和解析效率要重要的多。否则,PHP的应用定位就失去了意义,它就不能说自己是面向应用领域的上层语言了,那是什么?鬼知道!

所以要求开发速度、能马上见到效果的领域,就要开发起来变得很简单,那么就得用上层的面向对象的方式去支撑。所以,PHP的开发就是直接用面向对象来应用。

那么用汇编和C语言去写非常好看的图形化界面,它的意义只在于学习,而不在于实际应用。你写了好几天的引入各种的图形库函数库最后看到个红颜色,还不如PHP里写一条控制CSS的color:red来的省事呢,当然用CSS就更加省事了。

所以学习什么和实际怎么使用,之间还有一个筛选的味道。

 

4、用户体验度、友好性决定

很多人在写C语言的时候感觉很头痛,因为C语言友好性不好(虽然比汇编还是友好点),特别是它的字符串处理很是麻烦,经常容易错,又难以理解,用起来一点都不如中上层语言方便,如:C++如PHP如Java;友好程度也不如他们。

比如:C语言你编程很可能经常会被报告指针不能读和写!但PHP,不会动不动给你弹出指针错误的那种恐怖的窗口。因为它做了很多包容性好的异常处理。

但这是需要消耗编译性能和速度的。所以:C语言明明可以引入这些,但是为了让编译效率高就是不引入。这就是C语言为什么那么多年了就是停留在面向过程的级别。而PHP就会把这些东西都早已集成进来了。那么意味着每次都要加载那么多的东西,势必效率就会慢。

这样自然不能用在操作速度要求很快的比如操作系统任务分配里了,也不能用在驱动里了,因为经常要经过这些动作,你每次都笨重,自然速度就慢。

但这并不能说明PHP就比C语言好,也不能说明C语言比PHP好。如果走到他们各自擅长的领域,他们比谁都好。

各门语言因为自己定位在不同的应用领域,所以它的编译器(或者叫解释器)即使语法功能没做的那么智能和强大,也不会去升级,否则就失去了它的应用定位。

 

其实这么多的语言,编程思想上没什么区别。只要学懂编程思想,一切语言都通了。