为什么C语言能够长盛不衰?或许是这几点

正向逻辑是“因为C语言好,所以长盛不衰”。但是大家都知道好东西未必就不可替代,甚至还有“劣币驱逐良币”的情况。C语言本身的好或坏,并不是长盛不衰的充分条件。

所以 C语言学习联盟:c-xuexishequ 试着反向分析一下:当我们把C语言换成其他语言,会发生什么?

1、Perl、Python、Lua等语言发明的动机

首先我们先看看其它容易被替代的语言,比如Python等。

“人生苦短,我学Python”的Python于1991年推出,差不多是同时期的语言,目标也是做一种易学易用的、能够代替命令行编程的通用语言。它受早期ABC语言启发较多,同样也是受到Unix shell的影响。(显然那个年代的解释型语言都受shell影响很大,毕竟那时候写正经程序用C语言,写日常脚本用shell是默认选择。)

2、这些语言凭什么立足

语言出现只是第一步,这些语言在众多语言之中能够立足、被大家所喜爱,主要凭借的是“在日常编程时的独特优势”,因为好用所以吸引很多人来用。一旦不好用就会丧失生命力。Python现在发展得这么好,离不开从1.x到2.x、从2.x到3.x的蜕变,也离不开每一次IT发展的风口。

Python至少占对了几次风口:快速网站开发(Web框架),爬虫、大数据和AI等等。如果某种语言在广泛比较中优势不大,还可以退一步,进入某个特殊领域立足。例如立足数据分析的R语言,立足寄生于其它系统的Lua等等。不管它们广义上是不是好语言,至少在特定领域它们非常能打。大体来看,很多语言都是靠自身优势吸引大量用户,然后再靠用户积累出成熟的类库/技术栈,从而逐步立足的。

为什么C语言能够长盛不衰?或许是这几点

3、C语言立足的基础

相比其他语言,C语言并不是靠易学易用、或者在特定领域的独特性立足的。C语言当下的地位不是在竞争中胜利而获得的,而是根本就没遇到过什么挑战。它和C++还不一样,C++还经常遇到争议,但是C语言很少有争论,或者说很难争论起来。

回归C语言的具体语法。如果不考虑虚拟机,直接用底层功能编程,我们实在想不出整数类型除了用按字节数归类为char、short、int、long,还能怎么分类。人们也想不出一种比指针更好的,表示引用的方案;人们想不出数组还能怎么写;人们也想不出结构体struct里除了变量,还要加点什么才能锦上添花而不是画蛇添足。

人们想出了无数种内存管理方法,但是基本的malloc和free依然没被代替;函数调用和递归还是用调用栈实现,连C#也是一样。C语言与现代计算机架构密切结合,代表着人们对于计算机系统的认识水平。

同时不排除未来遇到某种契机,C语言被另一种技术取代,那可能代表着人们对习以为常的计算机系统有了突破性的认知进步。想要了解更多C语言内容欢迎前往公 众 号C语言学习联盟:c-xuexishequ

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至22018681@qq.com 举报,一经查实,本站将立刻删除。

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
森林服务号的头像森林服务号
上一篇 2022年4月13日
下一篇 2022年4月13日

相关推荐

发表回复

登录后才能评论