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

大学编程课真不该用 VC/VS 这种 IDE 来教,好多人写了好多年程序都不知道 editor, compiler, linker, interpreter, debugger, IDE 这些概念

  •  
  •   cbsw ·
    dengshuan · 2014-08-26 01:00:18 +08:00 · 15521 次点击
    这是一个创建于 3735 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前段时间花了好长时间才给实验室一师兄讲明白这几个概念。刚才和妹子打电话,妹子看别人用漂亮的 sublimetext 写 python 程序,就一直认为 sublimetext2 那个黑底彩色的编辑器就是 python 语言的一部分,就要学 python。跟她说了半天那个东西仅仅是一个编辑器,可以用来写各种程序,python 也可以用任何文本编辑器写,接着又给她讲了半天 editor, compiler, interpreter, debugger, IDE 的区别,结果还是没搞明白,错误的观念根深蒂固啊。

    问一下各位,国外教学一般都用什么开发环境。国内大学似乎基本上都用 VC/VS(其中很多还是盗版) 教编程,编程入门真不该用 IDE 来教,更不该用盗版的 IDE,给学生灌输了一大堆不清楚的概念和错误的理念
    109 条回复    2015-03-12 17:10:01 +08:00
    1  2  
    rekey
        1
    rekey  
       2014-08-26 01:05:25 +08:00   ❤️ 1
    根据我的印象。楼主似乎是个标题党。
    rentaro
        2
    rentaro  
       2014-08-26 01:06:04 +08:00
    rentaro
        3
    rentaro  
       2014-08-26 01:08:00 +08:00
    jprovim
        4
    jprovim  
       2014-08-26 01:12:44 +08:00
    Java, Android: Eclipse
    C, gedit (ubuntu)
    canautumn
        5
    canautumn  
       2014-08-26 01:12:45 +08:00
    一般会说可以学生自选编辑器开发环境,用开源的更多,因为商业的很多也要学生自己掏钱买才能在自己电脑上用,虽然也有教育折扣什么的
    little_cup
        6
    little_cup  
       2014-08-26 01:14:19 +08:00   ❤️ 1
    很多老师都分不清楚,你叫他们怎么教?
    reeco
        7
    reeco  
       2014-08-26 01:15:31 +08:00 via Android
    使用IDE是一个好习惯
    g0thic
        8
    g0thic  
       2014-08-26 01:15:31 +08:00
    因为有的老师自己也不知道啥 sublime,这写东西还是靠学生自己吧
    davidli
        9
    davidli  
       2014-08-26 01:20:10 +08:00   ❤️ 2
    这其实是你认识的这两位同学的个人水平问题, 与大学课程无关.
    我的学校是教 eclipse + java 的,但以上名词即使是那些整天LOL的学渣也都能分辨个八九不离十.
    基础不扎实不要怪IDE
    cbsw
        10
    cbsw  
    OP
       2014-08-26 01:30:40 +08:00
    @little_cup 老师连这些概念都不知道,还有资格教学生吗?
    @rekey 非也,不过可能曾经标题了一两次
    @reeco 对于学习编程,尤其是入门时用 IDE 是个烂主意,IDE 对大型工程来说是提高生产力的工具,好比学剑术的人刚开始就给他一柄威力强大的剑绝对不是个好主意
    @g0thic 这里只是举 sublimetext 的例子,老师至少应该告诉学生写的程序仅仅是一个文本文件,用记事本也可以编写,另外好歹也该知道 gcc 编译器
    multiple1902
        11
    multiple1902  
       2014-08-26 01:51:30 +08:00   ❤️ 1
    「刚才和妹子打电话,妹子看别人用漂亮的 sublimetext 写 python 程序,就一直认为 sublimetext2 那个黑底彩色的编辑器就是 python 语言的一部分,就要学 python。跟她说了半天那个东西仅仅是一个编辑器,可以用来写各种程序,python 也可以用任何文本编辑器写,接着又给她讲了半天 editor, compiler, interpreter, debugger, IDE 的区别,结果还是没搞明白,错误的观念根深蒂固啊。」

    注定……
    zhttty
        12
    zhttty  
       2014-08-26 02:18:47 +08:00 via Android
    11L才是正解。注定…
    aheadlead
        13
    aheadlead  
       2014-08-26 02:24:04 +08:00 via iPhone
    11L.....
    nine
        14
    nine  
       2014-08-26 02:24:11 +08:00
    LZ 活该一辈子没有女盆友 (逃
    pimin
        15
    pimin  
       2014-08-26 03:32:00 +08:00
    把精力都省下来关注核心问题不好么?
    难道学书法之前先学选纸、制笔?学钢琴之前先会调琴?
    我认为那都是本末倒置,扩展的知识是自己兴趣所在去探索的,而且我认为,有需求的时候不用谁吐槽,他们自然会去做。
    boai
        16
    boai  
       2014-08-26 04:15:51 +08:00
    给11楼跪了
    KK233
        17
    KK233  
       2014-08-26 04:30:46 +08:00
    我第一反应和11L是一样的(逃
    lightening
        18
    lightening  
       2014-08-26 05:16:08 +08:00
    11楼你怎么可以说出来……

    我们这里就是教你用命令行工具编译,编辑器随便选的吧。那时候我用的还是 Emacs。
    treo
        19
    treo  
       2014-08-26 05:32:25 +08:00   ❤️ 1
    如果不是学cs的,干嘛要搞清这些东西?
    c742435
        20
    c742435  
       2014-08-26 06:49:13 +08:00
    记得当时写java好像就是文本编辑器,然后要自己javac java运行。为此还写了个便携式小工具,运行就把自己从u盘中拷到电脑里并注册右键菜单,可以编译运行.java文件,拔掉U盘就自动卸载。
    c742435
        21
    c742435  
       2014-08-26 06:50:36 +08:00   ❤️ 1
    不过我倒觉得只要知道什么是编译器和运行时就好了,不用分得这么清楚啦。
    loveminds
        22
    loveminds  
       2014-08-26 07:26:53 +08:00
    @multiple1902 It's Only a luxuriant notepad
    ChiangDi
        23
    ChiangDi  
       2014-08-26 08:10:48 +08:00 via Android   ❤️ 1
    难道正确做法是......
    “想学 python 啊,好啊,晚上到我这里来,我教你啊”
    abscon
        24
    abscon  
       2014-08-26 08:35:29 +08:00
    @treo 即使是搞IT的,照样大把人分不清 Linux 和 userland 的区别。他们觉得多亏有了Linux,否则世界上就不会有这么多好用的工具,比如vim, bash什么的
    lucifer9
        25
    lucifer9  
       2014-08-26 08:36:35 +08:00
    大学哪有编程课
    职高或者软院的吧
    akfish
        26
    akfish  
       2014-08-26 08:53:20 +08:00   ❤️ 1
    入门不用IDE难道用记事本?初学就该有侧重点,把80%的精力耗费在环境配置,编译流程上,还学毛线。
    挨踢专业基本上就是靠自学,偏偏有的人就指望着什么都有人教,大学课程只是给你一个知识体系框架。
    人蠢不能怪课程,更不能怪工具。
    BTW,国内大多数大学的VS现在都是education license,而非盗版。
    liuxu
        27
    liuxu  
       2014-08-26 08:56:48 +08:00
    就我看,中国从小学的计算机课就应该用ubuntu类似的linux系统。
    error
        28
    error  
       2014-08-26 09:07:17 +08:00
    其实这些东西有专门的编译原理课程来讲的。
    pandada8
        29
    pandada8  
       2014-08-26 09:08:58 +08:00 via Android
    不不不,楼主都说了是妹子了……
    tmqhliu
        30
    tmqhliu  
       2014-08-26 09:14:26 +08:00
    VC/VS/IDE 神马的不重要。 回头妹子跑了 你就不会纠结于这些概念了
    holmesabc
        31
    holmesabc  
       2014-08-26 09:23:48 +08:00
    都说了,妹子。。。
    有这么好哄的妹子,楼主这是在炫耀
    lu18887
        32
    lu18887  
       2014-08-26 09:24:08 +08:00
    @akfish 都是盗版好么,2012毕业的……
    humiaozuzu
        33
    humiaozuzu  
       2014-08-26 09:25:06 +08:00
    我中山大学软院老师的名言:大家乖乖的用 IDE,只有那些装逼的黑客才会去用 记事本 写代码
    cad0420
        34
    cad0420  
       2014-08-26 09:26:52 +08:00
    -。- 这个和用不用IDE无关,和智商有关。
    macemers
        35
    macemers  
       2014-08-26 09:35:52 +08:00
    @humiaozuzu 校友表示:顶~
    glogo
        36
    glogo  
       2014-08-26 09:36:04 +08:00
    ...请问LZ今年大几...
    VC VS一样有这些概念......
    oott123
        37
    oott123  
       2014-08-26 09:38:02 +08:00 via Android
    我有特别的秀妹技巧系列贴
    jsq2627
        38
    jsq2627  
       2014-08-26 09:40:06 +08:00 via iPhone
    我大一C++平时作业用Mac+Clang+CMake,老师说不行,你装个VS2005再说,要不不给批作业。给跪。现在装虚拟机就这个用途。
    shoumu
        39
    shoumu  
       2014-08-26 09:53:44 +08:00
    我觉得大学教编程的是应该让学生喜欢上编程,工具什么的只是一个辅助作用。如果一开始就搬一大堆工具出来,让学生就产生畏惧的心理,其实是得不偿失的。
    superwbd
        40
    superwbd  
       2014-08-26 09:54:21 +08:00
    http://www.utsc.utoronto.ca/~bharrington/csca08/software.shtml

    Python

    In this course, we will be programming in Python. We will be using Version 3.3. Please do not install older versions (in particular, lots of people are still using version 2.7). Python is installed on all computers in the BV wing computer labs. You may also wish to install it on your own computer.

    There is extensive documentation available online, but again, make sure that you're looking at version 3.3 or above.

    ***We will also be using the Wing IDE 101 v4.1 development environment both in lectures and in tutorials.*** You can download the software for yourself here. Wing 101 is freely available for academic use.

    PEP-8

    You can either download the pep8.py file from the Official Python.org website (requires use of command line). Or simply paste your code into the online style checker. I recommend the latter, unless you are already familiar with the command line, and/or want to be able to check code without an internet connection. (I know how often you all want to check the style of your code while on vacation).



    顺便说下,WingIDE不漂亮,真的。
    aszxqw
        41
    aszxqw  
       2014-08-26 09:55:55 +08:00
    核心原因是那些老师除了 vc/vs ,其他啥也不会。
    jy02201949
        42
    jy02201949  
       2014-08-26 10:03:35 +08:00
    我上大学那会用的还是 turboC呢,楼主有什么想说的
    hahastudio
        43
    hahastudio  
       2014-08-26 10:08:04 +08:00
    详细的区别是编译原理教的,编程课是个大平台的课,电子啊生物信息啊机械啊都会学的
    kmvan
        44
    kmvan  
       2014-08-26 10:11:14 +08:00   ❤️ 1
    跟大家说个笑话:中国大学编程课…………哈哈哈
    durrrr
        45
    durrrr  
       2014-08-26 10:13:38 +08:00
    师傅领进门折腾在个人
    JingXiao
        46
    JingXiao  
       2014-08-26 10:20:05 +08:00
    可是那才是大学啊,不然呢,大学老师会陪你折腾?
    Admstor
        47
    Admstor  
       2014-08-26 10:25:41 +08:00
    我觉得这个是个人问题吧,当年学C++的时候,老师就说过代码本质就是一段文本,用notepad写完后改cpp后缀是一样的...用VC只是方便编译调试


    另外一点我觉得不知道你们实验室是做什么的,非计算机实验室,不了解这些也挺正常,因为编程对其他学科就是一个解决问题的工具,和计算器一样,并不需要深入了解工作原理,会用就行了...
    bengol
        48
    bengol  
       2014-08-26 10:33:46 +08:00   ❤️ 1
    visual studio 多么好的工具
    zmj1316
        49
    zmj1316  
       2014-08-26 10:35:01 +08:00
    我们老师上课还是用的tc
    有意见么
    yxz00
        50
    yxz00  
       2014-08-26 10:44:17 +08:00
    你觉得老师教完怎么用这些东西一个学期够不?
    hvsy
        51
    hvsy  
       2014-08-26 10:49:01 +08:00
    大学的课程还是放在引起兴趣,让学生入门的更好.太多的人在接触计算机的时候就被各种概念一通乱砸给砸晕了.而失去了学习下去的兴趣.这就是像从小学数学的时候不会跟你讲数论什么的一样的.
    w2angel
        52
    w2angel  
       2014-08-26 10:53:30 +08:00 via Android
    遇到这种人只能说明他们自己没学好
    ChiChou
        53
    ChiChou  
       2014-08-26 10:57:33 +08:00
    @rekey
    hahastudio
        54
    hahastudio  
       2014-08-26 11:02:47 +08:00
    http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-096-introduction-to-c-january-iap-2011/Syllabus/
    MIT 的课程吧,这个?
    on Windows you can use Microsoft Visual Studio on Windows (registration with Microsoft DreamSpark required)
    viila
        55
    viila  
       2014-08-26 11:06:04 +08:00   ❤️ 1
    上课和编程明显不一样。老师总不能手把手配环境教写各种makefile。各自编程用工具还真是觉悟问题。
    ASM课因为没有听课谎称IDE太新和老师不兼容的飘过(误)
    aaalzk
        56
    aaalzk  
       2014-08-26 11:11:45 +08:00
    当年选修linux的时候简单的讲过文本编辑器和编译器这些东西,不肯学的话老师讲得再多也是水过鸭背
    robertlyc
        57
    robertlyc  
       2014-08-26 11:13:18 +08:00
    其实lz只是在花样晒妹而已
    fasling
        58
    fasling  
       2014-08-26 11:21:49 +08:00
    @robertlyc 赞同
    jiyinyiyong
        59
    jiyinyiyong  
       2014-08-26 11:40:05 +08:00
    在介绍 Sublime Text 之前, 先说一般 Vim 跟 Emacs, 再说下两个有多难用,
    然后说一下还有 Brackets, Atom, LightTable 那么几个跟 Sublime 很像,
    最后说 Sublime 才不是 Python 写的呢, 人家是 C++ 作品的, Python 用于写插件.
    belin520
        60
    belin520  
       2014-08-26 11:42:27 +08:00
    11L 正解
    cbsw
        61
    cbsw  
    OP
       2014-08-26 12:27:31 +08:00
    @error @yxz00 不用非常清楚,至少要有这些概念啊
    @humiaozuzu 你别说,我那师兄之前不知道 fortran,然后我告诉他写程序只需要一个编辑器和一个编译器就够了,甚至用记事本写程序都可以,没想到后来他真在 windows 下用记事本写 fortran 程序,然后用 gfortran 编译,还跟我说 gfortran 很好用,整得我都不好意思了
    @w2angel 这是一个普遍现象,而不是个人的问题
    tonyluj
        62
    tonyluj  
       2014-08-26 12:31:31 +08:00
    归根到底 写代码方便就好
    nsa
        63
    nsa  
       2014-08-26 12:39:31 +08:00
    11楼提示楼主要手把手搂着教。。。
    beordle
        64
    beordle  
       2014-08-26 12:45:04 +08:00
    我只知道 学生知道不知道这些 和 教学用不用 IDE 完全不是一回事....楼主的问题很像知乎里面先扯个关系再问为什么...
    Rambot
        65
    Rambot  
       2014-08-26 12:48:21 +08:00
    11正解
    acros
        66
    acros  
       2014-08-26 12:49:36 +08:00
    用ide不是很方便么,这样精力可以更多地放语言本身上面。
    难道还真用vim、sublime text来教学?环境你自己搭,编译器自己选,配置再自己弄一遍,上个机你累不累啊。这些完全是个人喜好和工程上的偏向。
    imn1
        67
    imn1  
       2014-08-26 12:53:40 +08:00
    我在想,LZ的声音是否很磁性,特别在电话里……
    唉,我遇到这情况一般不是“以后再聊”,就是直接挂电话了~
    drakeet
        68
    drakeet  
       2014-08-26 12:54:28 +08:00 via Android
    @jy02201949 目前为止我们学校的C语言课仍然一直在使用TurboC...
    vob636
        69
    vob636  
       2014-08-26 13:43:53 +08:00
    11L正解
    loading
        70
    loading  
       2014-08-26 13:49:41 +08:00 via iPhone
    记得课堂上,老师教装 sql server 用了两节课,电脑太慢~
    tushiner
        71
    tushiner  
       2014-08-26 14:09:17 +08:00
    大学哪个专业不是这样教学的
    Automan
        72
    Automan  
       2014-08-26 14:11:33 +08:00
    我们这Java是 unix+ vim.....上机考试也是用vim ...
    treo
        73
    treo  
       2014-08-26 14:16:25 +08:00
    @abscon 难道他们没有想过为什么vi bash已经有近三十年历史了,而linux二十年前才出现
    momo5269
        74
    momo5269  
       2014-08-26 14:22:11 +08:00   ❤️ 2
    一般人用电脑真不该用品牌机,好多人用了好多年电脑都不知道处理器内存硬盘这些概念。

    1)以偏概全,并非所有用IDE教学的都不讲述这些概念(只是很多都一带而过…)
    2)混淆因果,灌输不清楚的概念和错误的理念和用IDE来教没有必要关系。
    3)国外教学一般都用什么开发环境→ 简易编程工具、开源IDE、文档编辑器+命令行。
    momo5269
        75
    momo5269  
       2014-08-26 14:25:53 +08:00   ❤️ 1
    补充 1)所谓一带而过:讲述相关概念,并以没有必要无需深入为结语。
    修正 2)没有必然关系
    补充 3)国内还有用TC的,但反对声音同样不少。
    tushiner
        76
    tushiner  
       2014-08-26 14:27:14 +08:00
    楼主适合混知乎
    tushiner
        77
    tushiner  
       2014-08-26 14:29:44 +08:00
    @Automan 哪个学校?
    wog
        78
    wog  
       2014-08-26 14:40:44 +08:00
    用什么不都一样么,想弄明白的人怎么都能弄明白,不想弄明白的就是开门编译原理给他他也不会
    Automan
        79
    Automan  
       2014-08-26 14:45:57 +08:00
    @tushiner 澳洲。。
    shenyi26
        80
    shenyi26  
       2014-08-26 15:13:35 +08:00
    1. 大学计算机相关可能不会专门讲一门特定的技术,比如java,C++,如果是这么上的话肯定课程安排有问题,而应该换成面向对象变成等概念性的东西。
    2. 老师一般不会教用什么ide,编辑器。但肯定会用某一种特定的IDE做示范,学生选用什么工具完成任务不重要其实。
    3. 国外用什么看开放课程就可以很容易看到,一开始肯定应该关注编程本身, 把配置编辑器,配置环境等工作不要影响主业。
    tushiner
        81
    tushiner  
       2014-08-26 15:22:39 +08:00
    @Automan 你是在逗我么。。。。根本就不在同一个教育体制内,有可比性么。。。。
    davepkxxx
        82
    davepkxxx  
       2014-08-26 16:23:51 +08:00
    你说的编程基础和具体语言编程不在同一个课程里吧,你是没上过大学还是在钓鱼?
    ioth
        83
    ioth  
       2014-08-26 16:44:52 +08:00   ❤️ 1
    话题党。
    睡不好怪床歪。
    学不好啥都是问题。
    chilaoqi
        84
    chilaoqi  
       2014-08-26 16:53:02 +08:00
    幼稚, block;
    doraemonext
        85
    doraemonext  
       2014-08-26 17:29:07 +08:00
    LZ注孤……
    orvice
        86
    orvice  
       2014-08-26 17:56:11 +08:00
    学C用tc怎么破(
    ant_sz
        87
    ant_sz  
       2014-08-26 18:45:42 +08:00   ❤️ 1
    我倒是挺同意LZ的。

    并不是说不让用VS教。但是教的过程中不能给学生树立 C = VC 的概念。如果一开始的观念没搞正确,以后要扭就扭不过来了。

    C 作为一种入门的语言,一般来说是为学生学习其他语言打好基础的。有些语言没有 VC 这样的 IDE,这对于有 C = VC 观念的学生来说,是一个不好跨越的门槛。

    从一开始就树立正确的观念,明白编程语言、编译器、编辑器等等的关系,我觉得是非常基础和重要的。
    Automan
        88
    Automan  
       2014-08-26 18:52:36 +08:00
    @tushiner 我又没回你。。LZ 问的是国外教学一般都用什么开发环境。
    xupefei
        89
    xupefei  
       2014-08-26 19:39:51 +08:00
    国外党表示,只要达到目标,你想用啥用啥。
    不过,如果老师教学用的是 A IDE 而你用的是 B IDE,那么使用过程中遇到的问题请自行谷歌解决。
    而且,国外大学一般都有 DreamSpark 里免费的 VS 用吧……
    jiaqi228
        90
    jiaqi228  
       2014-08-26 19:44:39 +08:00
    有心的人会自己去了解的啦。
    fishleen
        91
    fishleen  
       2014-08-26 19:45:00 +08:00 via iPhone
    好奇国外怎么教C和C++的,以下是答案:
    我校是美国农村大校(不能透露太多,不然暴露身份了),学C是要求学习写Makefile的,是要懂得什么是compile,什么是assemble,什么是link的,一般都是用vim来写。开发环境:ssh到学校服务器+vim。
    结果:很多人在这门课下都崩溃了。对于没有接触Linux和C的人来说学习曲线太长,但是4个projectdue,midterm都有3个(我们是semester制)。老师只能curve给分。
    至于学好C的好处就是后面上操作系统这门课不会那么吃力。
    scola
        92
    scola  
       2014-08-26 19:52:59 +08:00 via Android
    入门用的 tc,哭了,咋个就不是vc
    hussion
        93
    hussion  
       2014-08-26 20:15:01 +08:00
    11L...
    hjc4869
        94
    hjc4869  
       2014-08-26 20:19:44 +08:00
    @xupefei 国内大学也可以通过DreamSpark获得免费的VS,Windows Server。我(马上大一)就获得了。
    reverland
        95
    reverland  
       2014-08-26 20:25:44 +08:00
    这不能怪大学选什么。老弹的C语言里说得多清楚,VC not equal to C

    学生缺少自己探索的习惯,没兴致怎么硬灌输都没用。
    wdlth
        96
    wdlth  
       2014-08-26 20:46:53 +08:00
    以前我们Java老师就是喜欢记事本写,javac编译……
    solar
        97
    solar  
       2014-08-26 21:21:12 +08:00 via iPad
    11L 露珠 forever alone啊
    shiweifu
        98
    shiweifu  
       2014-08-26 21:50:26 +08:00
    hitsmaxft
        99
    hitsmaxft  
       2014-08-26 22:21:44 +08:00
    @humiaozuzu 对面大学表示差不多了, 计科老师都是些二流货色.. 好在学生争气
    hitsmaxft
        100
    hitsmaxft  
       2014-08-26 22:27:24 +08:00   ❤️ 1
    问题是教育出来的学生自学能力低下, 连怎么寻找对应学科知识的能力都没有, 这不是 vc/vs 的问题, lz 你看问题没看在本质上.

    不懂 sublimetext 不是问题, 不懂 vim 也不是啥问题. 你说的这些, 大部分在编译原理和计算机系统上有的.

    大学教育的问题是, 教师水平低下, 又很傻逼地觉得写代码很弱, 因为他们本来就靠压榨廉价研究生活获利的, 怎么可能在编程语言技术教学上投入呢..
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2780 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:41 · PVG 20:41 · LAX 04:41 · JFK 07:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.