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

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

[复制链接]
gaosmile 发布时间:2020-8-6 17:40
学编程的过程中,总是有小伙伴纠结我到底是该学C语言呢?还是Python呢?或者学Java?
) h; x( N$ u! x: y' o; W
那到底为什么编程需要这么多编程语言呢?
' h# o: _5 b/ `+ ~" H1 L% @2 T) r
编程语言的起源是怎样的?
微信图片_20200806173834.jpg
其实编程语言并不是一开始就有这么丰富以及好用的语言的,而是经过几十年的发展才逐渐有今天这样多样的语言。
- J$ O4 `% J5 T1 H6 G( O: N6 i
迄今为止,我们一般认为编程语言的发展主要有三个阶段:& Y- S$ x: s- Q
1、机器语言
2、汇编语言
3、高级语言
机器语言
机器语言是第一代机器语言,是0和1代码。因为计算机的CPU只能识别0和1,所以最初编程用的就是0和1。

' o8 U7 \) H" s0 b比较典型的设备是雅卡尔提花机的织布机:( i/ A; w5 w7 ^$ H. \+ V
微信图片_20200806173839.jpg
; ?% h1 A9 v/ Z( ?我们可以看到,写代码就是要在纸上打孔,这样写程序不仅很麻烦,而且程序还不好理解,我们也只看到了一个个的洞,不知道这是干嘛的。
& V) W. h$ O* P& u/ a& Q. R. Q$ h0 b6 y2 x, K9 z  m
为了能让我们在偷懒情况下,更好完成工作,科学家们经过不断地摸索试验,使得编程进入了下一个阶段——汇编编程。
3 A- j# J5 d' c) O
4 r( E7 D' M$ `4 W( U1 @
汇编语言
汇编语言相对于机器语言有什么差别呢?首先就是汇编能让人更好理解了。7 L  f. F6 g* h  s- B  G( f" y
比如表示3+2,机器语言可能是10111100 00000011 00000010。
2 U! f3 {2 u, J8 ]% f) n( G/ A而汇编就可以写成add 3, 2。8 U: O6 z+ ]( t" `, \4 t
add表示加,后面是两个数字。: f4 k0 g5 x" U' w& J/ j' N. {6 b
这样只要懂一点英文单词,就能够明白这个语句的意思。$ t" C2 I4 c; E
微信图片_20200806173842.jpg & E$ Z. Y" r' K
汇编语言就是将以前机器语言的命令,用一些简单的英文单词来表示,这样不仅很直观,对编程人员的要求也大大降低了。9 F1 k& |9 t8 m& P. E" y" q
+ o. B, T8 G1 R0 V  @& Z. W
但是用汇编语言写的程序不能直接在计算机上运行的,需要经过编译器,把汇编语言转换成机器语言。
$ N; g' w: N6 ^/ n+ S所以科学家们创造了一个接近人类语言习惯的编程语言——高级语言。

1 l  Q- N' }9 g4 R( n' |2 }) Z

. f1 S# S9 z" Q' A2 d
高级语言
高级语言的表达方式和人类语言的表达方式很接近了,而且也没有那么多的英文单词需要去记了。
" m  j: d+ W1 O. `' s高级语言的种类有很多C、C++、Python、Java等等。

9 k. o% _; ]  `2 l* z
微信图片_20200806173845.jpg
每种高级语言都至少有一个编译器,编译器就是把对应的语言转换成机器语言。 迄今为止,编程语言发展最高的是高级语言。9 i- a% J/ J/ h8 g/ a8 l
也许过几年、几十年,说不定有更好的语言出现,我们也期待有更好的语言出现。
3 \# V2 g$ M+ z; z* u: u: C
# o: x& P# F$ v$ D+ p. R2 k0 {7 T
那么为什么要有那么多的编程语言呢?

/ k: U8 S# r- M- O# O$ E: m+ G+ w
1、应用领域不同,导致需要不同的编译效率和代码质量以及执行速度的要求。2 M; b. X1 I4 ?( y  Q
4 Z3 h. ?$ U0 j* m3 M: |5 t& m6 j
2、使用的领域不同,导致侧重点不同。
6 V* j* T. R8 S" k7 e' e比如:PHP是面对应用领域的开发语言,要求快速看到效果,就不太在乎比C语言多损耗了点编译性能和多集成一些库了。' y" o5 ]; q8 l
所以,它最大特点就是:把N多常用的库都集成进来了,用起来就简单的多。
* N9 r, E4 D0 t; T但这并不能说明PHP就比C语言好,只是对开发者友好而已,只是他们用的领域不同。

* z$ w# O3 d/ y: @8 j3、开发时间决定
% w+ v+ l& ~, |0 k/ Q  p
微信图片_20200806173848.jpg
比如:PHP重要的是应用,应该在短时间内开发出应用,那就不能从头到尾的写,否则内容太多。( R; Y7 O& ~& _1 e

- F, x! C6 B7 i' O, D所以学习什么和实际怎么使用之间还有一个筛选的过程。
1 x$ \% u: A; K: K5 D2 l
4、体验度、友好性决定
! d* f) K4 h, R& k- \0 r
微信图片_20200806173851.jpg
C语言编程经常会被报告指针不能读和写!8 y9 A* O. y4 }; v' R* W
PHP,不会动不动弹出指针错误的那种恐怖窗口,因为它做了很多包容性好的异常处理。1 J9 e# l+ s) T4 [/ d

. C- c# {. q/ M! _5 c, ?% t但这并不能说明PHP就比C语言好,也不能说明C语言比PHP好。在他们各自擅长的领域,他们比谁都好。3 O% ~3 C( R3 y/ F) E
微信图片_20200806173854.jpg
每门语言因为自己定位在不同的应用领域,所以它的编译器,即使语法功能没做得那么智能和强大,也不会去升级,否则就失去了它的应用定位。

% K  x. V/ X" l. W9 e
其实这么多的语言,编程思想上没什么区别。只要掌握编程思想,一切语言都通了。
7 a1 W4 P5 X5 s1 `# a
赞 收藏 评论0 发布时间:2020-8-6 17:40

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版