对还在强制用TC来编写C大程的老师无语了..... 大家觉得这像话吗

2013-03-26 00:43:13 +08:00
 zzNucker
今年变本加厉了..... 不用TC不行了
大家纷纷开始吐槽:

1.
C大程大部分老师还是要求用过时了几十年的Turbo C
连VC6都不让用
理由倒是不错,“为了让学生更好地了解底层”……
我就问下,这到底哪里有关系了?C大程到底是希望学生做什么的?用一个以后肯定用不上的IDE写一些以后都用不上的函数来画出落后时代几十年的界面?
底层以后还要学的啊,这门课能学到什么底层的东西啊?还不如利用这个难得的机会,好好学学某些库怎么用,总比苦逼对着Dosbox调试好啊。
这还跟国际接轨?接的是哪一年的轨道啊?

2.
学长们当年也许都是虽然说要TC,可是也并没有特别强硬地要求,到头来还是大批MFC甚至QT的情况。

而今年的情况是——老师命令禁止TC以外的所有IDE、编译器和库,白纸黑字地写明了一定要用TC写(题目也规定死了)。根据我询问几个学长去年的要求辞令,明显今年的用语要强硬了许多,而且至今所有老师(除了fm以外)都没有让步的意思。今年的情境比去年还严重。

3.
TC缺点:16位DOS程序,其本身和其编译出来的程序都无法在现代操作系统上运行,并且还要面临640KB的内存限制——写个字典程序连词库索引都放不下!另外,其绘制界面和控制硬件的方式已经不是“传统”,而是“完全淘汰”——就算是CLI程序,使用curses库来绘制才是正确的方式(ncurses或pdcurses),而一个用户空间应用程序控制硬件怎么还能用中断!最后,TC不遵从ANSI标准,有些ANSI C程序无法通过编译,而能够通过其编译的程序也大都不符合标准。

我想问,为什么我们在2013年还要抱着一个1989年的产品不放?为什么BORLAND出于纪念意义免费释放出来的TURBO C被我们当作宝贝一样捧着?为什么我们要浪费时间学习这辈子都不可能再用到的Turbo C graphics库?为什么我们要在内存上G的年代里受困于640K的限制?为什么我们要对着8bit界面谈什么“漂亮”、“设计”、“华丽”?



------------------------------------以下是老师的回复------------------------------------------
你的想法很好,我也和其他老师沟通过,该课程是否需要有所改变。我是这样理解的:
1、虽然我们现在接触的很多是超大规模集成电路,但电子课程还是需要从二极管、三极管开始讲。我们这里介绍很多基本的中断、微处理机知识,就是要让大家了解底层知识。
2、这么课的前置课程就是C,如果用到C++,VC甚至其他知识,就不是本课程的要求了,今后,可以有其他课程来完成。
3、我并不完全排斥用VC,但不希望用VC大量的库,只用其基本功能,发挥编程方便完全可以。
4、这门课时间非常有限,要求也不可能很高,我觉得你还是可以在底层知识方面深入研究,如对图像的处理、中断等。对底层研究很深的人,今后一定是计算机安全等领域的高手。



------------------------------------吐槽---------------------------------------------------------
我个人觉得强制用TC纯属浪费生命啊.... 老师的几个理由完全站不住脚
1. 中断什么的以后会有专门的汇编课来学习,C大程课的重点难道不应该是作为第一个大型程序来培养一种写代码的手感和能力么 凭什么就一定连按个键的响应都要用中断实现,并且就算是你想要求这样也完全可以用其它编译器达成啊,可以做成options供大家选择的
2. 不用TC也可以用VC啊 规定不能用C++很难么
3. 不用库你也可以规定啊 何必限死编译环境, TC很多地方都是培养恶习和陋俗的啊
4. ..............没让你要求高


大家觉得强制TC有道理么...... 这都什么年代了学校还在用TC...
无力了都
20376 次点击
所在节点    程序员
108 条回复
tt0411
2013-03-26 09:26:59 +08:00
强烈建议你们老师用tiny c compiler,完美支持C99,跨平台,小巧轻便,第三方库较少,适合初学者使用。
fuzzyJT
2013-03-26 09:28:25 +08:00
老师不懂其他IDE!编译器!!!!!!
VC是坑,VC编译C++更坑!!!!!!
劳师不赶时髦!!!!!!!!!! ! ! !
劳师要重新备课!!!!!!!!! ! ! !
TC上编译一遍,自己喜欢的编译一遍会
有惊人发现有木有!!!!!!!! ! ! !
CS各种自学有木有!!!!!!!!! !
有人连TC都用不熟有木有!!!!!! !
zzNucker
2013-03-26 09:36:20 +08:00
@chemhack
@yedingding
@for4
@cassyfar
关键不是在于用TC有没有关系, 关键在于为什么强制要用TC
如果你觉得TC趁手是可以用 但完全没必要强制每个人都用TC吧, 这对于培养基础也完全没有任何好处吧

虽说大学不是为了培养技能的, 但总是训练更贴近实际的更好吧,比起折腾再也不会用到的16位系统,用更高级的也更能贴近现实系统的底层吧。。

而且TC也不见得比其它编译环境好设置吧 - -

拿过来是因为想看看程序员们和我们学生或者老师的看法区别
bunorte
2013-03-26 09:40:09 +08:00
这就像为什么现在很多人买车都买自动的,但是驾校里都是教的手动型类似的道理。

大学里学的那些东西很多在以后的工作中没有什么实际用处,更何况按你所说的来推断你的水平已经超越一般的大一学生,那么你学C语言很大程度上只需要学习思想就够了,老师教的东西你按照要求完成就行,其余的很多时间你可以自己研究学习,不明白你为什么有这么多槽要吐。
Kymair
2013-03-26 09:46:09 +08:00
即使不想学生用IDE, 也应该鼓励用GCC + Make + GDB + Vim之类的吧… 强制用Turbo C实在是!@#$%^...
zhanggggfd
2013-03-26 09:47:03 +08:00
只要能用来学习,不就行了么?既然给定了就不用选择了啊,可以花更多心思去研究啊,何必纠结于工具呢?
zzNucker
2013-03-26 09:48:18 +08:00
@bunorte 可能我没说清楚吧... 不是我有这么多槽要吐... 这是很多人的槽 - - 我转述一下来看看观点的
至于我的观点就即使是基础教育也不应该强制用这么脱节的编译环境, 这坑害学生

槽点不在于用不用, 而在于强制用和不强制用
如果我们都这么想那TC似乎会永远用下去, 我觉得这跟IE6有点像了
rrrrutdk
2013-03-26 09:49:25 +08:00
@bunorte +1

在这里纠结这些,还不如省点时间去学习。
skydiver
2013-03-26 09:51:36 +08:00
@liwei 同问,C大程是个什么奇葩的简称?。。。大学编程?
zzNucker
2013-03-26 09:52:27 +08:00
@skydiver
大意就是用C编写个相对比较复杂的程序..... 比如有GUI的小游戏之类的
coosir
2013-03-26 09:54:09 +08:00
1.只是学学基本知识和思想,TC已经够了
2.你读的也不是技校
3.很多东西你可以课外去实践
zzNucker
2013-03-26 09:56:34 +08:00
@coosir 其实我觉得现在用TC学基础知识跟用IE6学CSS差不多

而且这个大程课也不是基础知识了, 是属于实践课了.... 完全不应该限制环境
duoglas
2013-03-26 09:58:30 +08:00
这种事情不去98讨论来这里?

就是因为你们这样98才越来越少人了!!!!!!!!!!!!!!


关注一下FM的微博, 你就知道TC也有很多东西可以挖掘。
zzNucker
2013-03-26 10:01:12 +08:00
@duoglas 98我回了很多了 要放眼不同群体嘛 我可是98忠实用户别黑我 -,-
不否认TC有很多东西可以挖掘
但是这并不是强制用TC的理由 FM也不赞成这么做吧
bunorte
2013-03-26 10:01:42 +08:00
@zzNucker 别人吐槽关你鸟事啊,老师强制要求你用TC编写一个非常复杂的程序了么? 我看你真是闲的蛋疼,有这时间你足够把老师布置的任务完成,还能利用业余时间自己写点别的东西。,比如你所说的有GUI的小游戏。
bunorte
2013-03-26 10:04:02 +08:00
@zzNucker 如果你把IE6都搞定了,还有什么浏览器能难倒你?
zzNucker
2013-03-26 10:05:39 +08:00
@bunorte 我现在是很闲 而且我觉得我有必要关心下这事 因为TC实在太坑爹了
老师强制写的就是一个大程序 而我觉得在TC上布置上千行的程序完全不妥
sinxccc
2013-03-26 10:10:31 +08:00
“98”是个啥?“FM”又是个啥?
BB9z
2013-03-26 10:12:26 +08:00
TC确实淘汰了,但我觉TC适合学习。

少用库在学习阶段是对的,只会搭积木不行啊。

TC的绘图函数库挺适合学习的,足够基础,刚刚够用,函数不多,掌握起来快。短时间以打基础为目的的话,其他大型完善的库不合适。

“其本身和其编译出来的程序都无法在现代操作系统上运行” —— C的可移植性不是体现在你编译成二进制之后可移植的…… 如果 GUI 程序你还得保证库支持跨平台啊。

“并且还要面临640KB的内存限制” —— 现实的限制太多了,640KB 已经不小了。

当年大一时用的WinTC和Notepad++。画对数坐标、响应曲线都没问题,花了一个变了一个mini仿Windows的GUI系统……
bhuztez
2013-03-26 10:18:16 +08:00
没办法的事,教C语言的老师根本就不懂C语言,学校让他教他就来教了,你还想咋样...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/64027

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX