百科问答小站 logo
百科问答小站 font logo



大一新生做C语言课设被强制要求使用 Borland C++ 3.1,此IDE相对于其他IDE有何优点? 第1页

  

user avatar   limingyang666 网友的相关建议: 
      

我发现大家存在一个误区,混淆了教具和生产力工具的区别。

教具追求的是让学习曲线变得平缓,降低门槛,同时帮助学习者快速了解原理,为以后的继续学习与自我强化建立基础。

生产力工具追求的是多快好省地产出。

二者目的不同,自然设计方向迥异,好的教具往往不是好的生产力工具,反之亦然。

现代IDE确实很强大,是良好的生产力工具,但是它存在过分隐藏内部原理,功能繁多,学习曲线陡峭的问题,对大一学生尤其如此。

大一学生,仅仅具有高中知识,其专业知识极其匮乏,你直接上一个VS,这么复杂的IDE,光是安装配置,就可能出很多问题,学生一旦遇到能力之外的问题无法解决,挫败感极强。

我曾经去日本交流过一段时间,当时还是学生的我,对日本老师的做法非常不理解,但是这么多年过去,我慢慢领悟到为什么老师要这么做。

日本大学生也学习C语言,老师会给学生一个虚拟机,里面已经配置好了实验要用的所有东西。

虚拟机的好处是,直接屏蔽了操作系统问题,管你是windows 10还是windows 7,管你是macOS还是Linux,只要你装个VMware,我就能保证你的作业环境是一致的,学生可以完全专心于课程本身。日本的大学居然买了VMware的正版,按学号去领取license,这点真的要点赞,我当年学校老师都让我们自己去下盗版。

令我吃惊的是,这门课没有IDE可用,就是记事本,所有的缩进、排版、代码都要自己手敲。

连工具链都是老师自己做的,没错,编译器、汇编器,全是老师自己做的。

IDE上点一下运行就能做到的事儿,现在你要自己搞,预处理器、编译器、汇编器、链接器,每一步的输入输出,明明白白。

编译器优化?不存在的,就算你有个没用的变量,我都会原原本本给你汇编出来。要的就是原汁原味,让学生理解这一步步到底在干什么。

如果你嫌挨个运行命令麻烦,那你可以参考老师给的讲义,自己写一个脚本,把这几个工具串起来。

如果你觉得记事本不好用,那你可以参考老师给的讲义,自己做一个基于前缀文本匹配的代码提示器。

如果你觉得老师的编译器效率底下,你可以尝试修改老师的代码,优化下。

这些都是你自己的兴趣爱好,做了,老师会给你更好的分数,不做,也没关系,核心考察点在于C的语法、了解从编程到编译到执行的过程,你能了解这些,就很好。

这么一个学期下来,学生很容易就能入门,学习到的知识也很多,未来他们再面对IDE的时候,上手会极其容易,即使遇到问题,也会很容易解决。

我们很多大学上来就是VC6.0吧,有多少人遇到LNK2001错误然后一脸懵逼?

回到本题:

Borland C++ 3.1发布于1992年,确实是老古董了,很多C语言的新特性,都不支持。

但也正因为它功能简单,因此门槛较低,易于学习,之前被很多学校选中。

虽然我觉得它依然不是合格的教具,因为还不够简单,纯粹。

不要把教学和实际工业生产混淆了,这是两个领域。


大学要学四年是有道理的,不要急功近利。

系统而全面的培养,可以让学生受用一生,尤其是自主学习和解决问题的能力。

也正是这种系统的培养,让大学生有了比培训机构学生更高的上限和后劲儿。

培训机构就是急功近利的典型,完全速成,只教工具和框架的使用,批量制造出一堆堆人力编码器,几乎没有自我学习和发展的能力。一旦行业趋冷,这帮人是最早被淘汰的。


user avatar    网友的相关建议: 
      

让你不需要写大项目就得到十大好处:

1)明白号称多牛的编译器都是不完美的

2)发现标准之外还有很大的趣味世界

3)体会到内存得省着用

4)见证交换文件

5)操作系统入门

6)实时程序的简单实现

7)可怜人的抢占式多任务实时软件设计

8)从软件到硬件速成

9)字符界面窗口和控件的快速开发

10)放弃治疗,走进 emacs/vim/mc+autotools+gdb/ddd+git 的和谐世界


用其它IDE?

VisualStudio 类 -- 掉进去,从此只看到井口那一片天。


user avatar   zhang-hao-72 网友的相关建议: 
      

优点估计就是老师会用这个,别的不会。

不过。。用现在新出的电脑把BC31的运行环境搭起来,这个过程也能学到点东西吧。用不用得上另说。

ps. 推荐这个, 在网页上跑的古代pc模拟器。你只要找到bc31的安装盘就能用了,省得折腾qemu之类了。

pcjs.org/software/pcjs/


user avatar   will-57-72-57 网友的相关建议: 
      

不少人连问题都没看明白就洋洋洒洒一大堆。题主问的是此IDE相对其它IDE的优点而已,没让你评论强制使用Borland C++3.1到底对不对,利弊如何。

先说此IDE的优点,就拿差不多同时期流行的VC++6.0来比较:

1)界面开发容易,几乎无学习成本,让学生更加关注C++语言本身(反观VC++6.0, 那一套反人类的MFC, 绝对是初学者的噩梦)

2)对C++语法支持完善。VC++6.0的一个知名bug, for循环中的变量作用域是整个函数,曾经让不少人认为是自己对C++标准理解不透吧,然而BC++3.1就不会做这么误人子弟的事。还有你在VC++6.0中写模版类套模版函数,编译会报错,让你怀疑自己是不是对模版有什么误解?然而BC++3.1会告诉你你理解得没错,傻B的是VC++6.0

仅从这两个方面来说,选BC++3.1作为课件没错。


以下说说对强制使用BC++3.1的看法,我认为一点没错。学的是C语言本身,又不是学IDE的使用,不停地追IDE干什么?学IDE如何使用的学习成本应该是越低越好,这点BC++3.1做得不错。至于C++11/14/17, 是大一C语言课学的内容么?C++98的内容之于大一C语言课都嫌多。唱反调的,你们应该问“为什么大一C语言课不教C++”,而不是“为什么C语言课用的IDE不支持C++2020,以至于挡着我装B了”?

至于说反对的原因是因为现在业界没有用BC++3.1的就更加可笑了,学生毕业工作,还不是碰到什么IDE就用什么IDE,实操经验跟一门C语言课用的是什么课件有什么关系?学的是C语言本身,以后学生爱在什么环境下用C语言有谁拦着么?BC++3.1下写的C代码,在其它编译器下编译不通过么?就拿写Linux的大神来说,当年学操作系统用的minix, 是业界流行的系统么?就算学校课件跟你装机小王子的电脑一样几个月就更新一次,紧跟时代步伐,等学生毕业仍旧是业界流行?可以一直吃下去?相反要是计算机系的学生,更新个IDE都不会,那基本算是个废人了。为什么总有人用网管的眼光来看待大学教育?

想来学校里有很多过时的电脑。这些电脑放任何地方都是没用了,除了在学校里继续发挥余热。怎么,你以为学校里的电脑跟你家的一样,两三年就更新一批,装最新最流行的IDE,淘汰下来的全部砸了?


user avatar   pansz 网友的相关建议: 
      

其实有个恰当的比喻解释这个,就好像问以前99平的房子是二房,为什么现在会有人把99平的房子做成三房,买大点不行吗?

答案:因为大了,比较费钱。




  

相关话题

  C++ 父类对象赋值给子类对象是未定义行为么? 
  如果要改进C语言,您最希望添加哪些语言特性,移除哪些语言特性? 
  有哪些值得推荐的小型 C 语言开源项目? 
  C 语言这些宏定义前面的 __extension__ 是什么意思? 
  只会c如何快速上手STL? 
  typename = int 这种语法的意义是什么? 
  如何编写异常代码?比如处理bad-alloc的时候,是不是应该先销毁当前资源? 
  Unix网络编程里的阻塞是在操作系统的内核态创建一个线程来死循环吗? 
  C++ 语言会不会在十年内退出市场? 
  中国为什么不做编译器和编程语言? 

前一个讨论
诸葛亮文臣出身,为什么谥号忠武?为什么被追封武兴王?
下一个讨论
一根携带1A电流的导线,需要离这条导线多近,它的磁场才会和地球的磁场一样强?而且会对人体造成危险吗?





© 2024-12-23 - tinynew.org. All Rights Reserved.
© 2024-12-23 - tinynew.org. 保留所有权利