V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zzNucker
V2EX  ›  程序员

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

  •  
  •   zzNucker · 2013-03-26 00:43:13 +08:00 · 20321 次点击
    这是一个创建于 4262 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今年变本加厉了..... 不用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...
    无力了都
    第 1 条附言  ·  2013-03-26 09:51:35 +08:00
    可能我没说清楚这不是我吐的槽... 我只是把大家积怨已久的吐槽综合一下发出来看看大家观点......
    我的观点就是用这么脱节的编译环境其实是坑害学生, 而且我们大家都不反对的话大概会一直用下去, 跟IE6一样...
    第 2 条附言  ·  2013-03-26 12:47:45 +08:00
    再append下, 也许之前没说清楚,这个课叫C大程是因为它并不是C语言之类的基础课程,而是一个类似于做出一个相对的大项目的一个课,基本是学生独立选题组队做出作品。 所以我不认为这个课的IDE跟老师备课什么的有关系,同样也不觉得这个和学习C语言基础知识有什么关系。 这个课的目标应该是让学生体验大项目的开发过程和得到一些编码经验,而不是为了一些弃用的IDE特性而折腾来折腾去。
    108 条回复    1970-01-01 08:00:00 +08:00
    1  2  
    momo5269
        1
    momo5269  
       2013-03-26 00:46:50 +08:00
    我学校NOIP时候也是这么说的 但是我都给装上vc6.0了 后来还弄了Dev-Cpp...实在是不清楚为啥要TC 要是说故意给我们用386和奔1机器用tc还说得过去 可是我装出好几台图拉丁啊
    momo5269
        2
    momo5269  
       2013-03-26 00:47:37 +08:00
    就算不用tc和vc 替代方案也不少的...
    lingyired
        3
    lingyired  
       2013-03-26 00:48:35 +08:00
    呵呵
    一边强制教你asp.net,一边苦口婆心的告诉你:“一门通门门通”
    darcy
        4
    darcy  
       2013-03-26 00:49:01 +08:00 via iPhone
    楼主可以给贵校老师推荐一下codeblocks 既可以很"底层"的工作,又符合标准(gcc),还有更加人性化的UI
    darcy
        5
    darcy  
       2013-03-26 00:50:22 +08:00 via iPhone
    @momo5269 dev c++ 很久没更新了
    zhouhua97
        6
    zhouhua97  
       2013-03-26 00:53:20 +08:00
    也许是老师上这门课太久了,不想换新东西,呵呵。
    zzNucker
        7
    zzNucker  
    OP
       2013-03-26 00:56:43 +08:00
    @darcy @momo5269
    鄙校老师看来是完全没打算放弃TC 愈演愈烈
    闹了好几年了都不该 感觉C大程课就是用来让你学TC的坑爹bios库和更坑爹的图形库
    这感觉就跟写汇编没区别啊尼玛.... 还是C程课么...

    这事跟强制大家学谭浩强的教科书有区别么.... 就TC那坑爹的语法兼容性
    Linxing
        8
    Linxing  
       2013-03-26 01:00:55 +08:00 via Android
    @lingyired .net这门课开了根本木有用..我这个学期也在学.net感觉现在用.net写的网站很少很少了,浪费生命啊..不如开PHP

    PS.讲起C语言就让我想起了那位sb老师..
    chemhack
        9
    chemhack  
       2013-03-26 01:51:19 +08:00
    我觉得你们老师回复的很好啊。大部分计算机专业的学生上大学之前基本是什么都不懂的,如果都和你一样的水平就不用开这门课了啊。用VC++估计教怎么设置环境就够烦死人的。美国一堆大学还在教lisp呢.
    SharkIng
        10
    SharkIng  
       2013-03-26 01:54:49 +08:00   ❤️ 1
    我们老师强制用LInux下 VIM或eMacs lol
    yedingding
        11
    yedingding  
       2013-03-26 02:05:49 +08:00
    TL;DR 你知道的太多了.... 我当年进去的时候连编程是啥都不知道,给用 TC 就用了,觉得也挺好,而且不需要做 CLI 相关的东西,感觉没什么问题,不知道现在课程是怎么安排的,为什么需要用图形库... 不过我相信大多数学生应该不像你那么有基础,即使现在是 2013 年。FM 算很开明了,他在 weibo 上已经表态不颤和这事...

    Anyway,这事内部讨论讨论好了呗,干嘛上 V2EX。
    yyfearth
        12
    yyfearth  
       2013-03-26 02:16:20 +08:00
    相比VC应该用GCC才对,又可以运行在现在的OS上面(Win/Unix),而且用命令行可以了解一些用IDE不能了解的细节。
    而且开源免费,可以用各种编辑器,不会养成对IDE的一来。
    我们这边的教授教C的时候都是用这个。
    @momo5269
    @zzNucker
    老师强调用TC的原因,我认为主要是因为教材和懒惰。因为他们的教案,他们所知道的东西都仅仅针对TC,如果你用VC可能很多问题他们解决不了,就比如C标准的问题,由于和教材不一致,就会造成很多问题,他们不想产生更多问题,所以才严格限制TC。
    gateswong
        13
    gateswong  
       2013-03-26 02:35:37 +08:00
    我们学校的C语言老师要求用Borland C,过了几节课后就教了VC6的用法
    当然没有要求死
    所以我从头就在用VS的最新版。(大一时是2008)

    我觉得老师的引导很重要
    因为几乎所有的学生的代码都用txt保存,甚至有word保存的。
    典型的操作:VC里编写 --> 保存到TXT,复制到U盘 --> 下次上机打开TXT --> 复制粘贴到VC里

    而且要是学C的话,应该不会首先教库吧?
    包括C++也是,只是课堂上的话应该也只是基本的语法知识,最多涉及STL的iostream什么的

    还有LZ说TC是16位程序。
    那么在现在来看真心不合适了。许多电脑都装了64位系统,为了16位程序还要跑模拟器/虚拟机/32位系统。真的是很麻烦的一件事情。

    还有LZ提到的库的问题
    我感觉大学基本没有区分出来库的概念。都是将库揉进语法里讲,就好像输入输出语句就是语法的一部分一样。
    当然不知道是不是我自己平时学习不够的问题,我到后来才明白库的重要意义。大学几年里没少造轮子
    for4
        14
    for4  
       2013-03-26 02:57:18 +08:00 via Android
    也觉得你们老师回复得挺好的。
    cassyfar
        15
    cassyfar  
       2013-03-26 04:20:20 +08:00
    我觉得你们老师说得有道理。
    其实站在老师的角度,无论VC,TC,还是GCC,都只是一个C的编译器,只是一个工具而已。他想交给你们的是编程的思想,比如他举到的中断,微处理机知识,至于用什么工具去把这些实践出来,重要吗?
    LZ确实这方面基础不错,但上大学并不是简单学几个流行的工具毕业后直接拿技能就业的,那不成技校了。
    另外你提的那些对TC的不满,如果不能增加课程的学习难度,其实是无所谓的,毕竟老师重点在科研,教学上只要这些工具能满足实验要求就可以了。如果你们要编译32bit kernel或者写32bit driver,那么TC确实蛋疼,但是如果没有,又何必要求人家兼容32bit OS呢?
    momo5269
        16
    momo5269  
       2013-03-26 04:45:18 +08:00   ❤️ 1
    @darcy 是啊不过 我们学校NOIP是09年时候的事情... 后来我就休学了

    @yyfearth 是撒 VC有些地方比较烦 可是又不是只有VC一个 = = gcc的dev cpp就挺好啊。我也觉得教材也是因素,节省他们的各种成本。

    @cassyfar 这个还是有些关系的 比如你初学自行车 现在的小型和常见自行车不用 非得去用单杠的凤凰自行车 虽然照样能学会 也只是工具而已 可是毕竟麻烦许多啊 。重点并不是用什么工具去实践,而是某种工具本身落后了,之外选择很多,为什么不选择?

    而流行工具和技校那个就扯远了 - - 工具再好也是为思想为人服务的,学会用工具谁不能。人家只是吐槽一下工具而已。 你看tc用来做最基本的题目都比较d疼,因为不符合现在的习惯 不能够良好的进行交换(尽管可以通过打开输出文件来交换)而内存限制和不符合标准等楼主的问题,也不是小事情吧? 使用TC的好处也只有培养录入习惯和他们省事而已吧?

    说个题外的NOIP的环境 我们那时候一开始是dev cpp 后来是他们自己的工具 好像再后来是kdevelop等等。
    (我只针对楼主第2、3点进行的说明)

    p.s.不过我还是留了一份TC在硬盘里面。
    cassyfar
        17
    cassyfar  
       2013-03-26 05:38:08 +08:00
    @momo5269 我当时NOIP是用的turbo pascal,大学第一门C的课是在很老的solaris 8上用nano敲的(连VIM都没有...)。但是当时一个大牛硬生生用nano敲出了个支持鼠标的CLI程序之后,我觉得沉得下心来搞技术的,才是王道。所以我觉得TC什么真的没什么,老师是懒,但是没什么错。
    kneep
        18
    kneep  
       2013-03-26 08:22:52 +08:00
    显然不像话。我想不出任何理由用tc。
    tc在现实中早就消失了。
    用编辑器+gcc不就行了,和以后的现实接轨。

    我觉得这老师也不是懒,就是对技术没啥sense,不够热爱。不够热爱的事情,咋做都无所谓,没啥强烈的是非观。估计也就一照本宣科的普通教员。
    liwei
        19
    liwei  
       2013-03-26 08:56:13 +08:00
    我只想问“C大程”是什么东西?
    robertlyc
        20
    robertlyc  
       2013-03-26 09:12:41 +08:00
    TC的确应该淘汰了

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

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

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

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

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

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

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

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

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


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

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

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

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

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

    当年大一时用的WinTC和Notepad++。画对数坐标、响应曲线都没问题,花了一个变了一个mini仿Windows的GUI系统……
    bhuztez
        40
    bhuztez  
       2013-03-26 10:18:16 +08:00
    没办法的事,教C语言的老师根本就不懂C语言,学校让他教他就来教了,你还想咋样...
    kenpusney
        41
    kenpusney  
       2013-03-26 10:20:24 +08:00
    无论该用哪个IDE/编译器来教学,所出现的成果都不一定能够好到哪里去。
    因为C语言被拿来当作教学的工具本身就被国人给滥用了,用坏了。

    同意 @cassyfar 同学的前半部分,说C语言知识用来教授面向过程式的结构化程序设计思想的,但是现在无论是课堂还是课外,学生大部分都还是被各种工具的争端所感染,而没有深入到思想层级上。并且高校里打出的也是教C语言的名号,而不是说什么“结构化程序设计引论”等等之类的。
    而C语言内部更高级的能够应用的东西不会被学生所触碰到,比如@bunorte 的说法,大学里学的东西都用不上,可是不应该怪我们学的问题,是不是想想课程该不该这样子设置?动辄就是写一个XX管理系统出来,难道高校的老师们就不觉得无聊么?

    另外就是对IDE的纠结。到现在给很多人解释GCC的工作机制的时候头都要大半天,让他们学习GDB都很困难。国内高校被IDE限制的太紧了,以至于很多人初始上手一些东西的时候都不会用。毕竟IDE跟语言也是同一个性质的,语言相对思想来说是工具,而IDE相对语言来说也是工具,如果仅仅纠结于工具的细节忽略了思想,真的是本末倒置了。

    @kneep =V=编译器+GCC是什么东西?GCC不就是编译器套件集合么?
    YUCOAT
        42
    YUCOAT  
       2013-03-26 10:21:08 +08:00
    @zzNucker 因为老是只会TC、VC……其他的环境给他们一看他们就蒙了!
    duoglas
        43
    duoglas  
       2013-03-26 10:24:55 +08:00
    @sinxccc 浙大用语
    bunorte
        44
    bunorte  
       2013-03-26 10:25:37 +08:00
    @zzNucker 既然你们老师强制要求你们用TC写一个大程序,如果这个影响到课程最终得分的话,劝你还是少在网上发牢骚,想想办法怎么过吧。因为就现在看来,你改变不了什么。
    sinxccc
        45
    sinxccc  
       2013-03-26 10:25:54 +08:00
    @duoglas 所以你们就打算继续这么讨论下去也不解释一下么?
    zzNucker
        46
    zzNucker  
    OP
       2013-03-26 10:27:54 +08:00
    @bunorte thanks 不过这课我已经过了 所以有精力来帮学弟学妹们吐槽一下 :)
    0bit
        47
    0bit  
       2013-03-26 10:28:44 +08:00
    想起了谭浩强这货了!
    WarWithinMe
        48
    WarWithinMe  
       2013-03-26 10:30:07 +08:00
    认真你就输了。首先是你现在没有办法改变这些顽固的(混饭吃的?)老师们的想法,所以你只能逆来顺受了。
    摆正心态吧,反正就算他们让你用VS2012,他们也教不了你很多东西。你就当做是“出来混所必须交的学费”来浪费一些时间来完成他们的任务吧。你花半天时间去完成他们的任务,剩下的时间你可以去学你自己真正需要的东西。

    不要试图从中国的大学教师身上获得前沿的知识。
    bityet
        49
    bityet  
       2013-03-26 10:31:40 +08:00
    当年张引倒是不要求。。。
    Ludwiyk
        50
    Ludwiyk  
       2013-03-26 10:57:11 +08:00
    非计算机专业的很多教C/C++的老师不过是混饭吃,机房重新配软件他们都嫌烦,上课也就是照本宣科,很多老师压根就不愿意接受新鲜事物...不过LZ的老师能给你回复已经不错了,至少说明他知道那么回事,而且用TC也不是完成不了课程设计。
    学来学去,学的是思想,用的只是工具
    thcode
        51
    thcode  
       2013-03-26 10:57:13 +08:00
    曾经和一位老师讨论过这个问题,谈到MIT用scheme、python作为教学的第一门语言,老师表示,完全按照MIT的课程进行教学在技术等方面没问题,但是找不到合适的老师来教,而且原先那些老教师们就没法安置工作。
    Zuckonit
        52
    Zuckonit  
       2013-03-26 11:07:18 +08:00
    @SharkIng
    好老师
    SharkIng
        53
    SharkIng  
       2013-03-26 11:11:50 +08:00
    @Zuckonit 我们老师还算好,基本属于符合规则的来。只是要求一些比如学Haskell的时候只能用Huge说是为了改作业方便
    duoglas
        54
    duoglas  
       2013-03-26 11:12:00 +08:00
    @sinxccc 98这浙大内部一个论坛, fm是一位计算机学院的老师, 也是我的导师.
    所以我的本意就是这种夹杂着私货的话题就应该放到内网去讨论.
    duoglas
        55
    duoglas  
       2013-03-26 11:12:32 +08:00
    @zzNucker 刚才让FM来看你这贴, 他回复说这烂坑一百年不跳
    wzxjohn
        56
    wzxjohn  
       2013-03-26 11:22:20 +08:00
    @zzNucker
    @thcode
    老师是懒得备课了懒得学新东西了。。。你说你用TC遇到问题了他基本都能解答。但是你要是用VS2012遇到问题了我敢说90%的问你你老师都不会。。。所以。。。。。。。。。还不懂么。。。

    国内的教育完全不像国外,国外是为了“培养”人才,国内是“为了”培养人才。国外老师会鼓励你用新的东西,鼓励你学新的东西,他们自己也会去学习研究这些新的东西。国内的老师哪有时间陪你玩新的东西,他们要忙着赚钱,忙着发论文,忙着做“科研”,忙着教学检查。哦,偶尔忙着集体旅游?乃觉得他们有时间学习新东西?有时间更新PPT?有时间更新教案?有时间去使用VS并且熟悉里面的所有设置以便回答学生的所有疑问?在国内你只要指望老师说的东西不是错的就行了,内容什么的就别强求了。我们这学期有一门Linux课,老师在讲正则表达式的时候,整张PPT上全是错,真的不好说什么了。。。
    zzNucker
        57
    zzNucker  
    OP
       2013-03-26 11:24:07 +08:00
    @duoglas 汗。。 我昨晚就知道他不愿意跳了。。。 你知道了还让他来看。 囧
    不过FM是个好老师
    hfeeki
        58
    hfeeki  
       2013-03-26 11:45:45 +08:00   ❤️ 1
    觉得你们老师这样做没有一点问题,而且很理解他/她。
    学习C语言而已,有必要弄那么多什么IDE、工具进来吗?再说对工具的喜欢每个人都不一样,你说用VC好,那有人肯定说TC好,这个帖子上面还有用VS2012、dev-c++、codeblocks、vim等等,而且还有非常多的类似工具,一定会让你目不暇接,看看这个帖子的回复就知道谈到工具的使用,不可能让所有人满意的。因为万变不离其宗,所以不变应万变。
    学习C语言而已,干吗老想着那些IDE呢?要知道要用好IDE,还是要花不少时间的,而且花的时间80%都是与C语言本身无关,或者关系不大的问题上面,例如工具的配置,错误提示的理解上,不同的工具都会有不同的问题,而老师本身已经对TC环境很熟悉了,如果每个学年都换一种新的开发工具,那老师们恐怕都没有精力去准备你们的教学了,注意后面的们了吗?换一种新的开发工具、环境影响的不是一个老师,而是很多老师,计算机环境得换吧,教材、辅导教材得换吧,老师、辅导老师得学习新的知识吧,这些都是牵一发而动全身的问题,任何一个成熟的企业,只要是有可能,都不会随意更换现有的有效的系统、工具,这是一个基本工程常识问题。
    bingwenshi
        59
    bingwenshi  
       2013-03-26 11:53:01 +08:00
    @zzNucker 其实么,内部讨论讨论就好了,LL他们又不是不明事理的人,我相信会改进的
    hugodotlau
        60
    hugodotlau  
       2013-03-26 11:57:35 +08:00
    我认为在xnix平台下学习比dos、win系列系统更具备优势。C语言比较容易接触底层代码,在这点上xnix平台有独特的优势
    ranye
        61
    ranye  
       2013-03-26 12:00:36 +08:00
    我学 C 和 C++ 的时候都是要求 ssh 到一个 unix 服务器上,用 vim 写,然后 gcc 编译的。后来自己选了一门 software engineering 才开始接触 IDE 这个概念。
    我后来想想倒觉得这样挺好的,一开始就选定一个 IDE 接触各种 OS 特有的库对学这门语言并没有什么好处,本来许多需要自己练习的东西调一个库就解决了。
    fangpeishi
        62
    fangpeishi  
       2013-03-26 12:23:17 +08:00
    @zzNucker
    学习C的时候,
    IDE 记得大一的老师 推荐了Dev-C
    另外 推荐了linux平台。希望我们 去了解学习下vim/emacs
    了解 编辑器 编译器 等的各种区别。

    如果只是老师用,他拿这个来教。他说他习惯了。那也没办法。
    不过 他如果强制你们也要用。那就 有点让人无语了。

    工具只是工具。

    @duoglas 这种事情、话题 是比较适合放在校内论坛/BBS等讨论。不过lz发到这里 也无可厚非。他只是吐个槽,让大家说说看法。
    kingwkb
        63
    kingwkb  
       2013-03-26 12:33:35 +08:00 via Android
    我觉得老师没问题,那只是工具而已,人家有人家的教学目的,既然选择了他的课那就认真学,当然谁也阻止不了你用更新的东西,但是他的课你没决定权,你可以不选择他的课。既然自己有想法又不认可人家就另辟学境吧。
    hahastudio
        64
    hahastudio  
       2013-03-26 12:35:04 +08:00
    我觉得吧,你们老师1和4说矛盾了= =1说“就是要让大家了解底层知识”,4又说“要求也不可能很高,我觉得你还是可以在底层知识方面深入研究”= =

    说一下我的观点,因为我们的老师对IDE没有规范,只是说明测试环境是GCC,我觉得这样比较好。老师可以说测试的时候用TC编译,顺带加上些时间限制、内存限制什么的,但你们写的时候随意。

    嘛其实你完全可以用着CodeBlock、VS什么的最后再试试能不能在TC跑什么的= =
    momo5269
        65
    momo5269  
       2013-03-26 12:40:42 +08:00
    @cassyfar 当然喽 只是因为一些不足才不用TC的 又不是非得要一个现代化的IDE。我没在NOIP组待几天,不过给换了平台和IDE我们老师也没说啥。关键还是学会写程序重要啊,换IDE只是更方便省事罢了。

    @hfeeki 他提到了VC6.0,虽然这货好不到哪去,但是很多学校或者课程基本都有用这个,这个的成本并不高。(我觉得VC也早该换了....)

    觉得楼主的意思不是非得用那么多IDE,而是因为不足不想抱着老TC啃下去。 至于每个学年都换IDE 真的想多了 - - 不用现代IDE,用文本文档写,GCC编译什么的,不是什么问题吧?也不会需要换来换去的。(计算机环境不用换,教材就算是tc党谭浩强的书,也不需要换————我这话是基于 [那书基础内容没有多复杂] 和 [有麻烦丢给现有文档] 讲的)

    当然你的意思并没有错,学习语言不需要那么多乱七八糟的。只是我觉得不完全适用于楼主的情况罢了,楼主的情况是辞令,把学生使用其他方案 自己承担成本都给否决了。
    kneep
        66
    kneep  
       2013-03-26 12:41:58 +08:00
    @kenpusney 抱歉,是编辑器
    zzNucker
        67
    zzNucker  
    OP
       2013-03-26 12:43:26 +08:00
    @hfeeki 你说的是很有道理 我也想问一句:“学习C语言而已,干吗死规定一个IDE呢”
    老师教学和学生使用是两码事 这个课是规定学生用TC才充满槽点的
    老师用TC教我没任何意见 他用久了喜欢熟练是他的事情 但是何必强求学生一定用TC呢
    我不觉得我们换一种开发环境开发一个大程给老师验收会影响到教材,备课,辅导等各种。。。
    lossdante
        68
    lossdante  
       2013-03-26 12:55:14 +08:00
    用什么写你们老师能看出来么?只要符合ANSI C标准源码拿到哪都能跑不就行了
    cassyfar
        69
    cassyfar  
       2013-03-26 12:59:13 +08:00
    @zzNucker 当我看到你用出“强制”二字时,我已然感到你“太认真”了。你们那个老师对这课可能都是 does not give a shit, 图个省事定下一个规定,然后被你上升到一种自由权利被剥夺的人权被藐视的境地(不知我感受对了没)。所以LZ你还是安心上这个课吧。
    如果真个性,请drop,请劝你其他不爽的同学都drop,这样来年没人选,他就会换IDE了。
    zzNucker
        70
    zzNucker  
    OP
       2013-03-26 13:16:38 +08:00
    @cassyfar 你似乎没看我append的两段啊 - -
    这是客观事实不是我的上升...... 而且上升到人权的地步你也太能感受了吧...
    这是学弟学妹今年被更压迫的现实
    另外 这是必修课drop不了..

    @lossdante 这是大程课 要验收....
    bunorte
        71
    bunorte  
       2013-03-26 13:25:51 +08:00
    你还是闲的蛋疼。这个话题可以结束了吧。
    tywtyw2002
        72
    tywtyw2002  
       2013-03-26 13:27:22 +08:00
    老师强制使用 linux 和gcc/g++的路过。
    没事讲讲 makefile 完全无压力呀。。。。 TC真的落伍了, 学c还是跟linux有联系吧
    Hexcles
        73
    Hexcles  
       2013-03-26 13:55:16 +08:00
    楼主,这样把98里的帖子全文转载到这里来不大好吧……还删掉了里头发言者的ID,征询过他们的意见么?……

    嘛,只是提醒一下而已,我个人的那部分是不介意被转载,其他人就不一定了。

    校外的可能不是很了解情况,你还要先花费很多精力给他们解释清楚(现在就有不少楼层是浪费时间在争辩“强制”、“自由”什么的),所以目前的情况还是先在校内造势讨论比较有效吧。当然,收集一些V2EX上高人们的论点也不错就是了(尽管目前看来还没有什么强力、有趣的新论点)。

    P.S. 原来V2EX上也有不少觉得无所谓甚至赞成TC的人啊……诶
    Echoldman
        74
    Echoldman  
       2013-03-26 14:01:43 +08:00
    很明显,这老师只会也只用 TC 作为 IDE,完全是靠这个混工作的,管他干嘛。
    justfindu
        75
    justfindu  
       2013-03-26 14:09:39 +08:00
    学习阶段让你们接触太多的库还有个毛学头不是~ 所有的东西都是代码提示~ 最后你们会不及格的- -
    youdu
        76
    youdu  
       2013-03-26 14:35:51 +08:00
    看大家的讨论,好像学习下TC……
    ruchee
        77
    ruchee  
       2013-03-26 14:39:38 +08:00
    学校很多老师都是老古董,或许就只听过TC,只会用TC

    这其实也没什么大不了的,学习求知欲强的学生自然会想办法接触到GCC+Linux的,没那么好学的就任其自生自灭吧,无所谓
    qiukun
        78
    qiukun  
       2013-03-26 15:51:31 +08:00
    自行免修吧。现在我也蛋疼,但没办法。
    likuku
        79
    likuku  
       2013-03-26 16:06:57 +08:00
    老师上学时只会TC,后来也懒的去学其它的了,教科书和试题答案都是拿现成的TC,这样当然老师最方便省事了。
    reusFork
        80
    reusFork  
       2013-03-26 16:19:56 +08:00   ❤️ 1
    不允许使用mfc和qt之类的库可以理解,不允许使用tc之外的编译器就不对了
    不过,就算只能用tc又怎样,只是个编译器而已,不懂底层的给你gcc给你clang你还是不会写,懂的给你tc你也能编译过。turbo c graphics库和中断之类的用法,一两天就能掌握。这点能力都没有的话,你有什么值得被人坑害的?
    LokiSharp
        81
    LokiSharp  
       2013-03-26 16:25:54 +08:00
    VIM + gcc 算什么水平呢?
    glume
        82
    glume  
       2013-03-26 18:16:15 +08:00
    老师的诉求和学生的诉求不统一。老师们想的根本不是那回事。看你们老师的回复就明白人家知道怎么回事但根本不在意。你就是自己写个C编译器又怎么样,在课堂上要听话,至于你要学好,自己努力吧没有人拦着你,但你要老师帮助你创造一个学好的环境,凭什么?
    cloudream
        83
    cloudream  
       2013-03-27 12:28:35 +08:00
    墨尔本的学校是这样:
    IDE:
    教师们:VIM
    学生:随意

    运行测试评分采用学校提供的sun solaris + gcc
    darklowly
        84
    darklowly  
       2013-03-27 12:44:20 +08:00
    小题大做。
    不就是上个实验课,要你用tc呗。课上自己练练手,把课程内容完成好。
    课下自己爱用什么用什么。多大点事情。
    况且大学里面高手100%都不是课上那么点东西。更多更多的是课外。

    而且你们老师说的部分话,还是有道理的。没有站不住脚。
    node
        85
    node  
       2013-03-29 17:59:13 +08:00   ❤️ 1
    我觉得楼主的吐槽很靠谱,作为一个非常熟悉底层的过来人,你们老师的那些个回复纯属外行,你对其中每一条的吐槽,句句在理,我当年没你这么好的底子,所以本科也就稀里糊涂的混过去了

    在国内的学术圈子混了那么多年,我是很清楚圈子里所有角色的水平和立场的
    1. 老师是靠paper混饭的,编程能力多数不及动手能力强的学生
    2. 多数老师也不太care教学工作,因为这对他们的收入待遇没什么影响
    3. 多数老师远离产业界,对工业标准、流行的商用产品根本不了解,许多还抱着他们上大学时学到的知识体系不放,美其名曰“基础”,却基本无法对将来要就业的学生起到帮助作用
    4. 每个人的学术研究领域都非常狭窄,很多分配给老师的本科教学课程也不是对口的,难免赶鸭子上架

    当然,我也了解到有些教学水平很高的老师,但实在凤毛麟角

    就楼主这个课程而言,目的是增强学生的动手实践能力,就应该在编译器这个不太重要的环节上采取包容态度,vc有什么不可以,不一样可以编译纯c代码么,和ansi c的差异不会比tc更大吧,即便是考虑到库的因素,按照现在业界的标准,编译器显然应该选gcc,围绕unix环境和gcc的开源库一应俱全,相应的ide可以选择比较友好的codeblocks、dev c++或者是eclipse,tc时代能有几个库?资料现在还好找么?学会了以后能用的上吗?笑话!
    至于他回复的好让学生了解中断、微处理机的底层知识,神马?居然用pc来了解?!他是准备让大家都拆掉自己保护模式的操作系统,装上实模式的dos,然后int两下软件中断来了解吗?本来还想偷偷给他推荐bochs或者qemu去折磨楼主的学弟学妹们的,不过想想估计他也不愿意学 XD 好吧,玩笑话,至少我上微机原理课的时候还是有专用的教学设备查看8086管脚时序图的,现在8051的仿真器开源软件网上都能找的到,用pc来了解,我只能呵呵了~ 而且最后那句今后一定是计算机安全等领域的高手,我只能再呵呵一下了
    说到底,这种限死编译器纯粹是懒惰和推卸责任的表现
    XDA
        86
    XDA  
       2013-03-29 18:11:04 +08:00
    vim+gcc
    thinkinnight
        87
    thinkinnight  
       2013-03-29 22:11:43 +08:00   ❤️ 1
    LZ,看了你老师的回复和你的吐槽

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



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

    感觉你可以继续和老师进行沟通,其实你老师的第3条已经说明了,并不排斥使用VC,只是不希望使用VC的大量类库,估计也就是MFC或者codeproject,sf,codeplex上面的一些库吧。
    不过你老师用词不是很准备,让你误认为是强制使用TC吧。
    看了之后,感觉你老师还是很认真负责的,首先他和其他老师讨论过,同时还列出123来回复你,这就是一个负责的老师。

    首先不管这个课程的目的,这个老师布置任务的目的是:
    1. 前面的课程是使用C,所以大家完成任务使用C语言
    2. 不管使用什么样的IDE,不要使用大量现成的类库
    3. 最好能在里面使用到中断,以及图像处理算法等

    只要达到这个目的就可以了,并不一定要纠结于IDE环境,如果不想用TC,那直接用CL好了,或者gcc,这个我感觉并不矛盾。
    像LZ吐槽里面,规定死不用C++,不用库什么的实际上操作比限定TC要困难,而且前面就已经有先例,交上来如果不符合不用C++,不用库的话怎么办?打回去重新做吗?不可能吧。

    其实,做项目没有什么神秘,如果要真正像一个项目来操作,可以参考下面。
    1. 使用正规的软件流程,如waterfall,如Scrum
    2. 使用UML,可以使用一些开源的UML画图工具
    3. 使用SVN,git来进行项目管理
    4. 使用单元测试
    5. 定时间点,进行Report,例如周报等

    主要是能够分清接口和模块,分清每个人负责的模块,然后各自实现。尽量能够实现重用的目的。

    与其抱怨IDE,不如不断的实现和重构,你可以列出TC的不足,那就在TC上实际操作一个系统的实现,然后针对这个具体系统的实现,来写下在实现它过程中的不足,然后再使用一个其他IDE,如VC,不使用C++,不使用库,来再次实现这个系统,其实项目经验就是这么来的,而且在你第二次实现的时候,会发现TC中系统中很多部分是可以重用过来的,而不能重用的部分,可以重构出来。

    希望对你有用。
    darasion
        88
    darasion  
       2013-03-30 00:03:06 +08:00
    当年在学校的时候,一个老太太老师教我们机械电算课,用tc做矢量计算加减乘除...
    各种苦恼,好在没有任何算法数据结构的,一个超大大的main函数搞定。
    zx900930
        89
    zx900930  
       2013-03-30 00:23:35 +08:00
    学校的时候,可以自由选择,其它人包括老师都是Emacs+gcc,就我一个vim+gcc,对,还有用kdevelop的,不过学校里的版本有些古老
    binux
        90
    binux  
       2013-03-30 00:52:27 +08:00   ❤️ 1
    作为一个面向可能从未接触过电脑的学生的课程,他们问出的问题*一定*和C无关,如果不指定IDE,问个VS怎么编译,老师不知道,也没有义务知道,这不是愿不愿意接受新知识的问题。
    能提出这样问题的学生,一定是有编程基础的,但是并能保证能完全搞定一个不一样的环境,也就是说,无法保证学生不问出C以外的,有关环境的问题。上面说过,这样的问题,老师是没有必要知道答案的。为了避免这种情况的最好方法是什么?

    如果环境和C两者你都能搞定,可以尝试申请免修,如果这太麻烦,就用TC完成课程很难吗?
    LZ也无需为学弟学妹争辩什么,除非你能保证他们不问出TC以外的环境问题。如果无法保证,我认为老师所做的是合理的。
    zzNucker
        91
    zzNucker  
    OP
       2013-03-30 01:33:46 +08:00
    @node
    @thinkinnight

    谢谢各位 这个问题的最新情况是多数老师也支持我们的 现在院长准备在4月初开一个座谈会让我们去和老师公开讨论 决定这个课程的最终归属

    我们学院的老师还是很好的 我们的意见能够得到重视很满足
    hxgdzyuyi
        92
    hxgdzyuyi  
       2013-03-30 01:39:04 +08:00
    这就是情怀啊
    Xe0n0
        93
    Xe0n0  
       2013-03-31 10:01:01 +08:00
    难道贵校是 ZD?之前在 twitter 上看到一个同学吐槽的说。
    XDA
        94
    XDA  
       2013-04-01 14:12:35 +08:00
    你下课来我办公室一趟!
    larkifly
        95
    larkifly  
       2013-04-02 18:04:53 +08:00
    换vc老师要有学习代价的啊,于是老师懒了,就不让用
    whtsky
        96
    whtsky  
       2013-04-02 18:24:17 +08:00 via iPhone
    我们还在用 Free Pascal ……
    zeroten
        97
    zeroten  
       2013-04-03 15:21:37 +08:00
    @darcy Dev-C++ 5.0也不算太久吧
    erylee
        98
    erylee  
       2013-04-03 16:27:44 +08:00
    你们老师很棒:) C这么漂亮的语言,用VC这屎一样的工具写,是不应该的。
    jimrok
        99
    jimrok  
       2013-04-03 22:50:43 +08:00
    还是不要弄c++先,现在大部分的库还是C做的,稍微复杂的业务一般就是python + C。TC教学没有什么问题,通过这门课程了解C语言就行了。其实最原汁原味的还是在Unix上学习C。VC可以放放。大学教育其实重视的是基础。国外也是一样的,大学学习基础的知识,研究生做基础研究,企业负责将研究转换为应用实现。
    srdrm
        100
    srdrm  
       2013-04-03 23:55:15 +08:00
    看了这么多回复,我觉得一条很重要,老师已经落后了,怎么可能让教出来的学生一毕业就能适应社会需要?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5350 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 09:39 · PVG 17:39 · LAX 01:39 · JFK 04:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.