首页 > 后端开发 > 正文

编程入门为什么要先要学C语言 驳“C语言无用”论

2023-06-26 19:15:26 | 我爱编程网

编程入门为什么要先要学C语言?



现在学编程的人越来越多,想必要学编程的同学第一个问题就是:那么多编程语言(C、C++、java、php、python、go、ruby等等),到底应该先学哪一个?

笔者的观点很明确:首选C语言!


纵观我国教育课程设置,各大高等院校普遍成熟的课程安排95%以上都是先学C语言(少部分非计算机专业院校安排VB或重点院校直接学C++),往后根据学校培养目标、课程体系需要决定开设C++或java或前端等其他开发语言。近几十年的计算机教育的发展也验证了这个课程安排的科学性。下面通过笔者这些年的感悟谈谈这样设置的好处及原因:


1.C语言本身的特点
语言诞生于上世纪70年代,本身在发明初期就定位为系统级语言,是面向过程编程,是专门为系统开发准备的中级语言,其安全性、效率、跨平台的特点决定了它最符合人们心目中编程语言的样子,加上其主导的特性,好多语言的解释器/编译器甚至新的语言本身都是通过C来改写或直接开发的,足以看出C语言的重要性

2.教学学习需要的安排
语言作为中级编程语言,从靠近机器还是靠近人的分级来看,最适合编程学习,适合奠定人们对程序的第一观念,为今后无论学习解释性语言、还是面向对象的高级语言都有决定性的铺垫作用,这也是很多高校把C语言作为第一门语言的原因

3.学习支持、应用场景多
无论是中学生还是成年人,学习C语言的应用场景都非常多,学习资料支持也非常多、成熟。中学生有NOI/NOIP竞赛、大学ACM、嵌入式开发、计算机二级等无论竞赛、开发、考试都无处不在C语言的影子



以上笔者十多年从业经验的感悟看法,希望对初学还犹豫的你有所帮助!

我爱编程网

驳“C语言无用”论

近些年编程发展迅猛,又出新语言go、swift等新语言,php号称世界上最好的语言,python又因为人工智能火了一把。于是人们纷纷把目光聚集在这些新秀上,而忘了C/C++这些老牌语言,甚至被冠上“C语言无用”“C语言淘汰”的帽子

下面笔者针对一些现象逐一反驳:

1. C语言只能写黑窗口程序,做不了界面可视化程序。跟不上潮流了
事实上,C语言并不是不能做,而是不擅长做。反之,其他语言擅长的能做,不擅长的做都做不了。这就是差距!
由于C语言的跨平台、可移植性的特性,可以做,在已知领域,还未发现C语言做不了的东西!

2. C语言语法难,容易出错,不适合入门
由于C语言历史早的原因,存在多个标准,让C语言不好判定对错。但这些也正是C语言书写灵活的优点。试问,还有哪个语言有世界乱码大赛呢?

3. C语言不安全,指针不好用
事实上,正是因为有指针,让C语言变得与众不同,指针才是C语言的核心,也是衡量一个C程序员功底深厚与否的标准之一。同样,C语言不安全,只是写代码的人写的代码不安全。C语言充分相信程序员,因此,也需要你具备足够的能力能够驾驭的了C语言!
所以,不要说C语言不安全,而要看自己是否具备驾驭它的能力!

C++
与“编程入门为什么要先要学C语言 驳“C语言无用”论”相关推荐
 驳“C语言无用”论
驳“C语言无用”论

关于c语言的一些概述性问题 关于c语言的一些概述性问题 1.c语言规定,变量命名必须符合标识符的命名规则,例如:floatUS$这样就是错误的,因为出现了非法字符:$ 2.在整形常量中,不可包含”,“,比如:1,200 3.指数后面必须为指数;若想要表示字符”\”,应该写为:”\“ 4.

2023-06-26 19:33:47
 编程入门为什么要先要学C语言
编程入门为什么要先要学C语言

关于c语言的一些概述性问题 关于c语言的一些概述性问题 1.c语言规定,变量命名必须符合标识符的命名规则,例如:floatUS$这样就是错误的,因为出现了非法字符:$ 2.在整形常量中,不可包含”,“,比如:1,200 3.指数后面必须为指数;若想要表示字符”\”,应该写为:”\“ 4.

2023-06-26 19:23:17
C语言中左值和右值的区别 驳“C语言无用”论
C语言中左值和右值的区别 驳“C语言无用”论

C语言中左值和右值的区别 C语言中左值和右值的区别 在C语言学习过程中,大家或许听到过左值和右值的概念,甚至在调试程序时编译器也会给出”leftoperandmustbel-value”即左操作数必须为左值!,今天我们将为大家详细解释这两个词,以及两者的区别! 简单而言,在赋值运算符“=”左边的就是左值,在赋值运算符“=&r

2023-06-26 19:11:59
C语言中左值和右值的区别 编程入门为什么要先要学C语言
C语言中左值和右值的区别 编程入门为什么要先要学C语言

C语言中左值和右值的区别 C语言中左值和右值的区别 在C语言学习过程中,大家或许听到过左值和右值的概念,甚至在调试程序时编译器也会给出”leftoperandmustbel-value”即左操作数必须为左值!,今天我们将为大家详细解释这两个词,以及两者的区别! 简单而言,在赋值运算符“=”左边的就是左值,在赋值运算符“=&r

2023-06-26 19:30:20
关于c语言的一些概述性问题 驳“C语言无用”论
关于c语言的一些概述性问题 驳“C语言无用”论

关于c语言的一些概述性问题 关于c语言的一些概述性问题 1.c语言规定,变量命名必须符合标识符的命名规则,例如:floatUS$这样就是错误的,因为出现了非法字符:$ 2.在整形常量中,不可包含”,“,比如:1,200 3.指数后面必须为指数;若想要表示字符”\”,应该写为:”\“ 4.

2023-07-16 10:26:24
关于c语言的一些概述性问题 编程入门为什么要先要学C语言
关于c语言的一些概述性问题 编程入门为什么要先要学C语言

关于c语言的一些概述性问题 关于c语言的一些概述性问题 1.c语言规定,变量命名必须符合标识符的命名规则,例如:floatUS$这样就是错误的,因为出现了非法字符:$ 2.在整形常量中,不可包含”,“,比如:1,200 3.指数后面必须为指数;若想要表示字符”\”,应该写为:”\“ 4.

2023-07-16 10:25:34
C语言逆向之表达式短路分析及应用 编程入门为什么要先要学C语言
C语言逆向之表达式短路分析及应用 编程入门为什么要先要学C语言

C语言逆向之表达式短路分析及应用 C语言逆向之表达式短路分析及应用 大家在学习C语言过程中,可能会见到过一些这样的题,就是表达式短路,表达式短路主要体现在C语言中逻辑运算符&&和||。今天将对表达式短路的做逆向分析,来深入理解它。 首先利用表达式短路,我们可以写一个很经典的累加求和的函数,代码如下: 功能很简单,就是求1+2+…+99+100的数

2023-06-26 19:27:31
C语言自定义函数如何返回数组(上) 编程入门为什么要先要学C语言
C语言自定义函数如何返回数组(上) 编程入门为什么要先要学C语言

C语言自定义函数如何返回数组(上) C语言自定义函数如何返回数组(上) 最近看到一些同学问题,有提到说:如何在一个函数中返回数组呢?能否直接在自定义函数中,写成char*类型返回值,直接返回呢?,代码如下: 直接返回str数组名(注意不需要加&,还有好多同学犯这个错)但事实上,运行结果并非正常,我们尝试在调用函数中输出,可以看到结果并非是原来内容(当然你的电脑输出可能还不

2023-06-26 19:16:03