答主有幸,大学正好学过C语言,现在从事的也正好是C语言相关的工作。我来你这个问题。
我认为,大学C语言课程不用Linux的gcc编译器,主要原因有以下几个方面。
可以快速上手,无需理解编译原理
我上学那会儿,使用的还是vc6.0+,一款很古老的IDE,一个框写代码,上面点一下是调试,再点一下是运行,非常傻瓜的操作,简单明了,上手十分简单。
一切都是以图形化的界面操作,直观清晰。无需去记gcc的复杂编译命令,不必了解从代码编译成为二进制字节码经历了哪四个阶段。更不用去掌握Makefile如何去编写。可以把更多的注意力集中在C语言本身。而不必花更多的精力去学习C语言以外的东西(如果是Linux+gcc的话,至少需要掌握简单的Linux操作命令,以及gcc编译,gdb调试等,这些东西学习成本不比学习C语言低,在大学有限的课程里,没有那么多的时间去学习这些)。
考试机试的环境是VC(VS),与考试环境统一
我们学C语言考试时,期末考试直接是省二级C语言考试,后面又自己考了国家级C语言二级。不管是省二级还是国家二级,机试部分的编程环境,就是VC(当时的环境,现在不知道有没有改)。
因此,在平时教授课程的过程中,就让学生习惯这种开发环境,在考试的时候,就无需有重新熟悉开发环境的成本,可以快速进入状态。试想一下,如果平时上课使用VS,结果到了考试甩给你一套Linux环境,估计直接就懵逼了。
历史原因,长期以来的传统
大学里教C语言的老师大部分都是一些年龄比较大的(年轻人比较少),在他们执教数十年的生涯里,用的一直是VS系,很多老师甚至都很少接触Linux。在他们脑海中,根深蒂固的就是认为C语言就是应该这么学的。
我之前曾经看过侯捷大神(就是翻译《Effectice C++》的那位大佬)出的一个讲C++STL源码的视频,用的居然也是VC6.0,实在是有些不可思议。
因此,大学C语言课程不用Linux的gcc编译器,主要是出于以上三个方便的考虑。希望我的能帮到你。
有简单的为啥要用复杂的!有一键搞定的,为啥要在编译上搞那么复杂。优秀的产品不是越来越简单才好吗?学个开车,还得要学会修车吗?微软为啥厉害,就是把产品做的入门门槛底,让用户直接关注业务,才拥有了大量用户。
哪个方便哪个效率用哪个啊。
Linux C 体现的不是单单是语言本身,包括很多模块,在Linux下做C开发或教学需要很全面的系统工程能力,如gcc编译项、makefile,gdb、内存泄露工具等等,而VC++IDE涵盖这些,相对简单。
1、大多老师自己都不懂。
2、用VC教学更简单,对菜鸟更友好。