你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

为什么编程需要这么多编程语言呢?

[复制链接]
gaosmile 发布时间:2020-8-6 17:40
学编程的过程中,总是有小伙伴纠结我到底是该学C语言呢?还是Python呢?或者学Java?

那到底为什么编程需要这么多编程语言呢?

编程语言的起源是怎样的?
微信图片_20200806173834.jpg
其实编程语言并不是一开始就有这么丰富以及好用的语言的,而是经过几十年的发展才逐渐有今天这样多样的语言。

迄今为止,我们一般认为编程语言的发展主要有三个阶段:
1、机器语言
2、汇编语言
3、高级语言
机器语言
机器语言是第一代机器语言,是0和1代码。因为计算机的CPU只能识别0和1,所以最初编程用的就是0和1。

比较典型的设备是雅卡尔提花机的织布机:
微信图片_20200806173839.jpg
我们可以看到,写代码就是要在纸上打孔,这样写程序不仅很麻烦,而且程序还不好理解,我们也只看到了一个个的洞,不知道这是干嘛的。

为了能让我们在偷懒情况下,更好完成工作,科学家们经过不断地摸索试验,使得编程进入了下一个阶段——汇编编程。

汇编语言
汇编语言相对于机器语言有什么差别呢?首先就是汇编能让人更好理解了。
比如表示3+2,机器语言可能是10111100 00000011 00000010。
而汇编就可以写成add 3, 2。
add表示加,后面是两个数字。
这样只要懂一点英文单词,就能够明白这个语句的意思。
微信图片_20200806173842.jpg
汇编语言就是将以前机器语言的命令,用一些简单的英文单词来表示,这样不仅很直观,对编程人员的要求也大大降低了。

但是用汇编语言写的程序不能直接在计算机上运行的,需要经过编译器,把汇编语言转换成机器语言。
所以科学家们创造了一个接近人类语言习惯的编程语言——高级语言。


高级语言
高级语言的表达方式和人类语言的表达方式很接近了,而且也没有那么多的英文单词需要去记了。
高级语言的种类有很多C、C++、Python、Java等等。

微信图片_20200806173845.jpg
每种高级语言都至少有一个编译器,编译器就是把对应的语言转换成机器语言。 迄今为止,编程语言发展最高的是高级语言。
也许过几年、几十年,说不定有更好的语言出现,我们也期待有更好的语言出现。

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

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

2、使用的领域不同,导致侧重点不同。
比如:PHP是面对应用领域的开发语言,要求快速看到效果,就不太在乎比C语言多损耗了点编译性能和多集成一些库了。
所以,它最大特点就是:把N多常用的库都集成进来了,用起来就简单的多。
但这并不能说明PHP就比C语言好,只是对开发者友好而已,只是他们用的领域不同。

3、开发时间决定

微信图片_20200806173848.jpg
比如:PHP重要的是应用,应该在短时间内开发出应用,那就不能从头到尾的写,否则内容太多。

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

4、体验度、友好性决定

微信图片_20200806173851.jpg
C语言编程经常会被报告指针不能读和写!
PHP,不会动不动弹出指针错误的那种恐怖窗口,因为它做了很多包容性好的异常处理。

但这并不能说明PHP就比C语言好,也不能说明C语言比PHP好。在他们各自擅长的领域,他们比谁都好。
微信图片_20200806173854.jpg
每门语言因为自己定位在不同的应用领域,所以它的编译器,即使语法功能没做得那么智能和强大,也不会去升级,否则就失去了它的应用定位。

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

收藏 评论0 发布时间:2020-8-6 17:40

举报

0个回答

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版