学编程就选C语言
毛泽东有一首脍炙人口的赞美梅花的诗词是这样说的:
卜算子·咏梅
毛泽东
风雨送春归,飞雪迎春到。
已是悬崖百丈冰,犹有花枝俏。
俏也不争春,只把春来报。
待到山花烂漫时,她在丛中笑。
我觉得用这首诗词来形容C语言,也是相当贴切的。C语言从诞生到现在已有50余年,期间其它五花八门的语言层出不穷,仿佛欲置C语言于死地。但C语言从来不跟它们相争,独自做好自己的工作。时至今日,C语言仍然是各行各业使用最广泛的语言,是真正的“待到山花烂漫时,她在丛中笑”。
那究竟是什么原因能让C语言历经50年风雨,不但没有倒下,反而越发充满活力、深受人们的青睐呢?
01
C语言的用途
Purpose
01
C语言是现代信息技术(IT)和计算机科学(CS)的基础
诸如程序设计语言、计算机体系结构、操作系统、网络通信、数据库、图形用户界面、图形学、图像处理、并行处理、多线程、实时系统、设备驱动、数据采集、算法、数据分析和计算机游戏等许多IT 和CS 的工作原理都是基于C语言的。学习和使用C语言的经验会帮助人们理解IT和CS 的重要概念,C语言是几乎所有大学包括高职院校计算机专业学生的必修课。
02
C语言是工业领域最普遍的编程语言
学术机构有一个使命就是教授现实社会需求最普遍的技术和知识以便于将来学生满足公司的需要。运行在我们桌面上90%以上的程序,从操作系统、e-mail客户端到网页浏览器和文字处理器,都是由C语言或它的升级版本C++编写的。设备驱动程序和多数机器人底层控制软件也都是用C语言编写的。C语言也是嵌入式设备最广泛使用的语言,这些嵌入式设备包括冰箱、洗衣机、空调以及各种可穿戴设备。
03
C语言是几乎所有流行编程语言的基础
C语言是系统编程的选择语言,由于C语言的强大功能和可移植性,几乎所有大众的跨平台设计语言和脚本语言,如C++、Java、Python、Objective-C、Perl、Ruby、PHP、Lua和 Bash都是由C来实现的,或借用了大量C语言的语法和功能。它们共享相似的操作符、表达式、控制结构、数组、输入输出和函数。此外,几乎所有的语言都能够与C语言相连接,它们的许多工具包也是由C或者C++语言写成的。
02
C语言的优势
Advantage
以上说明了C语言的用途非常广泛,但究竟是什么特性或者优势让C语言有如此广泛的用途的呢?
01
高效性
C语言是一种高效的编程语言,因为它使用了低级别的语言结构,能够直接访问计算机的硬件资源,包含内存资源。因此,C语言编写的程序运行速度非常快,这使得C语言成为编写操作系统、编译器、数据库等高性能应用程序的首选语言。
02
灵活性
C语言是一种灵活的编程语言,因为它提供了各种数据类型、操作符和控制结构,可以用来编写各种类型的程序,从简单的小工具到复杂的应用程序都可以使用C语言来实现。
03
可移植性
C语言是一种可移植的编程语言,因为它是一种标准化的语言。C语言的代码可以在不同的操作系统和计算机上运行,只需要进行一些简单的修改。这点非常重要,如果一门语言不具有可移植性,那么你在一种平台上编写的程序,如果要移植到另外一种平台上的话,绝大部分代码都需要重写一遍。这将是一种资源上的严重浪费,在时间和人力成本都非常昂贵的今天,是不能接受的。
04
易学易用
C语言是一种易学易用的编程语言,因为它的语法简单明了,而且有很多的教程和参考资料可供学习。此外,C语言还有很多的编译器和集成开发环境可供选择,使得编写C语言程序变得更加容易。
05
语言标准化
C语言是一种标准化的编程语言,有ISO C标准和ANSI C标准等。这些标准确保了C语言的代码在不同的计算机上都有相同的行为,增加了代码的可移植性和可靠性。
06
开源社区
C语言有一个活跃的开源社区,提供了许多开源的C语言库和框架,使得程序员能够更加方便地使用现有的代码和工具,提高编程效率。
综上所述,C语言具有非常多的优势,并且使用领域相当广泛,那学习编程自然要选择C语言了。
03
误区解析
Misconception
但也有人提出不同的观点,有人说 Scratch 编程更简单,有人说Visual Studio 更易用,还有人说C++现在很流行。其实这些说法本身没有问题,但跟学习C语言都没有矛盾。让我来一一解释。
Scratch 编程
首先来说Scratch 编程。Scratch被称为是图形化编程语言,其实严格来讲,这根本算不上一种语言,它只是一些描述性的语句块,是给幼儿园的小朋友学着玩玩的,根本不可能用它来编写一个真正的应用软件。Scratch 编程是用搭积木的方式来编写程序,但是别忘了,能用积木搭一座房子跟真正造一座房子可差得远了。所以它只适用于很小的小朋友,纯粹是为了培养兴趣。对于小学四年级(含)以上的大小朋友,完全有能力直接学真正的编程语言。
Visual Studio
再来说说Visual Studio。为叙述方便,以下简称VS。VS是一个IDE(Integrated Development Environment,集成编程环境),而不是编程语言。它封装了很多操作,比如编译、调试。用它的确可以提高写代码的效率,但对于理解底层原理未必有多大帮助。为什么有些人写了20多年的程序但却不知道 cl(微软的编译器)和 msvsmon(微软的调试器)呢,因为VS 把这些命令隐藏掉了。另外,VS并不会教你怎么去写代码,尽管它提供了一些模板,但核心的代码还是要你自己写。编程语言和编程工具是两回事,这就好比你学习写作文,你需要学的是作文的立意、构思、段落安排、遣词造句等,而不是学习用 Word 来写,还是用 Notepad来写。
C++
最后说说C++。C++是C语言的升级模式,并且兼容C的一切语法以及数据类型,所以学习C跟学习C++并没有冲突,甚至可以说,要学习C++,必须先学C。这就好比你要考大学英语6级,你直接尝试考6级当然是可以的,但通常的做法都是先考4级再考6级。对于其它的编程语言,道理也是一样的,因为前面说过,C语言是几乎所有流行编程语言的基础。
当然,语言选对了,学习环境也很重要。C语言的发明者丹尼斯·里奇有一句名言:学习一门编程语言的唯一方法就是用它来实际写代码。
写代码就需要有环境。在实际的教学过程中,我们发现,如果每个人都使用自己的环境,那么学习效果会大打折扣。老师演示代码时,学员经常跟不上,因为这些环境千差万别,导致文件目录、命令格式、输出结果都不一样,一旦一个地方卡住了,整节课就泡汤了。所以我们强烈推荐,学习编程时,统一使用格蠹科技推出的幽兰本。幽兰本预装了编程所需的所有工具并有大量的开源学习软件,是学习编程者的首选。关于幽兰本的介绍,请看这里:https://www.nanocode.cn/#/yl。
附:2024年早春,格蠹科技推出了极客少年编程套餐(https://mp.weixin.qq.com/s/2E9B8e_9MsS9s8GlqQ-glg)和创客少年C语言编程培训课程(https://mp.weixin.qq.com/s/frt6borbZnmtzIdx23WElw)。极客少年编程套餐包含硬件和多媒体内容共8个组件,原价5359元,套餐价仅4288元。创客少年C语言编程单卖1800元,如两者同时购买则可享受总价5188的巨大优惠。
购买课程请扫描左下方 “盛格塾” 小程序图标或直接在微信中搜索 “盛格塾” 小程序。在小程序界面找到 “格课快递”,点击右侧的 “查看更多格课”,选择课程 “创客少年C语言编程2024春季班” 下单。点击右下方的群二维码可进行咨询。
盛格塾小程序
课程咨询群
【END】
【盛格塾】
正心诚意,格物致知
以人文情怀审视软件,以软件技术改变人生
格友公众号
盛格塾小程序
扫描上方二维码或在微信中搜索“盛格塾”小程序
可以阅读更多文章和有声读物
往期推荐