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

编程的环境究竟怎么选择呢??

  •  
  •   W1nd · 2013-03-10 14:45:44 +08:00 · 7980 次点击
    这是一个创建于 4275 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大一编程新人想自学C语言(动画系- -),一直对计算机编程有很大的兴趣,但是以前因为读书和懒一直没空自学,现在大学了时间充裕了,不想再拿自己的青春开玩笑了。我就是想请教大家现在到底学习C语言编程是用Mac(电脑MBP),Linux(Linux的话我打算装Ubuntu)还是WIN?Mac用Xcode跟win下的VC6有什么区别吗?郝斌的视频貌似是用VC6.0的,还有很多人说OS X和LINUX的命令是差不多的,我都有点凌乱了。。编程环境的选择取决于哪些呢?有些教科书里也没有说要用什么编程软件。。能有高手解答一下吗,感激不尽!
    我也看了@minuo0day他发的求书籍的帖,发现推荐K&R的C Programming language比较多,打算先从这本书读起,自己也买过C Primer Plus,一起看~
    49 条回复    1970-01-01 08:00:00 +08:00
    zhouhua97
        1
    zhouhua97  
       2013-03-10 14:51:44 +08:00   ❤️ 1
    看你的概念还有很多混乱啊,C---VC---XCODE, ?先看看一些基本的。C语言在哪个平台下面都能有很多不错的工具。动画系?可以看看arduino啊,国外搞艺术的学生很多用这个平台来做互动程序,很有意思。
    ooscrewyou
        2
    ooscrewyou  
       2013-03-10 16:03:16 +08:00   ❤️ 1
    我只說一句,作爲程序員要尊重程序員的勞動成果,不要用盜版就好了。免費/開源的編輯器有Vim、Emacs、Sublime(免費試用),IDE有Eclipse、Code::Blocks。VS有簡化免費的Express,沒用過OS X,xcode是免費的嗎?如果你有錢買正版那也不錯,不過初學用編輯器夠了,你不是也說書上沒說用什麼軟件嗎。
    TankyWoo
        3
    TankyWoo  
       2013-03-10 16:05:38 +08:00   ❤️ 1
    为啥会环境要求那么高呢,前期你又学c,又时不时的纠结环境,很累的。。。找一个IDE呗
    Liutos
        4
    Liutos  
       2013-03-10 16:35:28 +08:00   ❤️ 1
    第一次是用Windows,而且还是Win-TC(惭愧

    后来该用Dev-C++,不好用。

    再后来用Code::Blocks,大爱啊~~~

    后来迁到Ubuntu上去玩了,一开始也是用Code::Blocks,不过渐渐地改成从命令行用GCC进行编译,用Emacs来写代码,一直都现在都是这样子了=。=

    我个人建议,能用Linux发行版的就用Linux发行版。工具取决于用的教程,我推荐看《Linux C编程一站式学习》这本东西,对我的益处很大,可以了解到很多方面的东西,不是一般的C教材。如果你选择了这本教程,那么工具应该就是GCC加上一款顺手的文本编辑器了。

    K&R的那本我稍微看过,不适合入门,因为在循序渐进的同时讲了很多超越语言的东西,可能会分散注意力吧=。=
    aveline
        5
    aveline  
       2013-03-10 16:41:06 +08:00
    W1nd
        6
    W1nd  
    OP
       2013-03-10 17:04:15 +08:00
    @zhouhua97 谢谢~我就是想知道该用哪个软件来写代码。。因为谷歌了有些朋友说MAC 的XCODE也可以写C语言。。所以我就有点乱了,XCODE不是用Objective-C写的吗。虽然它和C语言确实有关系。。但是总有些区别,不是吗?
    W1nd
        7
    W1nd  
    OP
       2013-03-10 17:05:04 +08:00
    @ooscrewyou Xcode是免费的,我下载了,但是如果要参与APPLE开发者项目的话是要收费的。没记错的话是99美元。。
    W1nd
        8
    W1nd  
    OP
       2013-03-10 17:06:54 +08:00
    @TankyWoo 嗯,谢谢,我就是要IDE,就是在选择哪个系统上的,Xcode也算是IDE把??如果XCODE可以用的话我就想先不装Ubuntu了,因为我原本打算装一个Ubuntu的。
    wang2191195
        9
    wang2191195  
       2013-03-10 17:52:29 +08:00   ❤️ 1
    @W1nd 顺手就好,经济允许可以买个mac,界面好看,又有强大的shell,不然装个linux也挺好的~反正我觉得vim挺好用的,轻量功能又全,不像vs那样一开半年就过去了。。。学C的话就好好学C吧,先不要纠结oc啦
    yuelang85
        10
    yuelang85  
       2013-03-10 17:58:55 +08:00   ❤️ 1
    mac+vim+gcc
    W1nd
        11
    W1nd  
    OP
       2013-03-10 18:40:38 +08:00
    @wang2191195 谢谢回答~,我现在用的就是Mac,我没纠结OC就是我在想XCODE可以写C语言吗?
    yuelang85
        12
    yuelang85  
       2013-03-10 18:59:44 +08:00   ❤️ 1
    @W1nd 不要用ide去学习C,不是为了锻炼,而是你需要学习IDE,经常爆出你无法理解的编译错误,还不如直接和编译器打交道(GCC),IDE经常让你偏离你的目标。

    所以推荐 mac+vim+gcc,如果不会vim,可以试试别的编辑器,比如sublime text2。一开始不要去配置环境,就最简单最直接的就可以了。
    W1nd
        13
    W1nd  
    OP
       2013-03-10 19:21:02 +08:00
    @yuelang85 好的,我知道了,谢谢!十分感谢
    wezzard
        14
    wezzard  
       2013-03-10 21:00:07 +08:00   ❤️ 1
    既然是非科班出身的初学者,又拥有Mac,那么使用Xcode最好不过了。

    楼上那个yuelang85同学关于IDE报错的话显然是不对的,原因可能是他没有用过Mac或者没有了解过Xcode究竟是采用的何种编译器和Debugger。

    Xcode并不会出现爆出无法理解的错误,因为Xcode所使用的编译器并不是GCC,而是LLVM,LLVM作为一个由Apple协力开发的项目,报错是相当人性化的。关于LLVM和GCC的区别,楼主有兴趣可以自己谷歌一下。

    同时Xcode的自动补全也可以让你少记大量的函数名字,只需要跟着提示一步一步找就行了。使用Xcode的另外一个好处就是不用自行配置开发环境,只需要下载下来,然后敲代码,编译,运行就行了。

    推荐你用《Learn C on the Mac》,K&R的书也不错,但是可能对于你而言太枯燥,而且K&R的书并没有告诉你怎么配置开发环境,无论你是用Xcode还是自行配置,都是一道极费神的事,可以直接抹杀你的兴趣。
    W1nd
        15
    W1nd  
    OP
       2013-03-10 21:36:04 +08:00
    @wezzard 恩恩,非常感谢,我这就去看看!
    sinxccc
        16
    sinxccc  
       2013-03-10 22:23:26 +08:00   ❤️ 1
    作为初学者其实不需要在编程环境上纠结啥,因为你没有什么其他的可以选的,就是 gcc/llvm + 一个顺手的编辑器。在写出千行以上的程序之前不要考虑任何 IDE,连编辑器里的自动补全功能最好都不要用,对基本库的最低记忆是必要而且必须的。

    K&R 这本书面对的不是编程初学者,是已经熟练掌握某种其他语言的 C 语言初学者,拿它来入门会很痛苦。另外也不要看任何的所谓教学视频,那些不靠谱。
    Dai
        17
    Dai  
       2013-03-10 22:29:52 +08:00   ❤️ 1
    linux或者mac吧…对以后工作有好处,真的,不骗你。至于C,用code:blocks不错。
    我觉得用VS来写C一上手会觉得特别凌乱的,对我个人来讲,用VS基本是写C#,虽然现在已经远离了。
    W1nd
        18
    W1nd  
    OP
       2013-03-10 23:05:16 +08:00
    @sinxccc 非常感谢!能推荐一些书籍吗?
    likuku
        19
    likuku  
       2013-03-10 23:25:32 +08:00
    只是想学编程,那么从学习Python开始是最佳选择,请看本站 Python 节点 http://v2ex.com/go/python
    sinxccc
        20
    sinxccc  
       2013-03-10 23:50:58 +08:00
    @W1nd 抱歉,我很久没碰过这类的书了,所以不敢推荐…
    W1nd
        21
    W1nd  
    OP
       2013-03-11 00:05:17 +08:00
    @sinxccc 好吧,还是谢谢啦~~
    yuelang85
        22
    yuelang85  
       2013-03-11 07:21:38 +08:00
    @wezzard 对于我来说,xcode报错真的不如gcc的好理解。同时使用gcc和xcode开发的人。。。。
    anthozoan77
        23
    anthozoan77  
       2013-03-11 15:41:34 +08:00   ❤️ 1
    同大一。。正在看《C Primer Pllus》
    感觉不错。。
    W1nd
        24
    W1nd  
    OP
       2013-03-11 17:11:44 +08:00
    @anthozoan77 嗯,我觉得这个每个概念都很清楚,但是好像结构不太好。
    shiran
        25
    shiran  
       2013-03-11 19:53:28 +08:00   ❤️ 1
    C Primer Pllus 。。或者推荐这本《C程序设计语言》http://book.douban.com/subject/1139336/
    经典C语言教程
    anthozoan77
        26
    anthozoan77  
       2013-03-11 22:11:33 +08:00
    @W1nd
    从寒假·
    anthozoan77
        27
    anthozoan77  
       2013-03-11 22:17:00 +08:00   ❤️ 1
    @W1nd
    (刚才手贱了)
    我是从寒假开始看的,零基础入门。
    给我最大的感受就是例子很多很详细,并且前后衔接很好,现在刚看到第九章《函数》,而在第八章以及前面或多或少提到相关很简单的例子。这样感觉学到新的内容不会感到很突然。
    每个程序讲解很详细,关于优化也有很多说明。
    觉得挺适合我的。
    个人观点。。
    一起进步!
    Mutoo
        28
    Mutoo  
       2013-03-11 22:31:51 +08:00
    动画系,果断学processing啊。 http://processing.org

    官方开发环境跨平台的,mac/win/linux无压力。

    另外推荐你两本书。

    http://ishare.iask.sina.com.cn/f/34957524.html
    http://ishare.iask.sina.com.cn/f/33726377.html
    ipconfiger
        29
    ipconfiger  
       2013-03-11 22:51:43 +08:00   ❤️ 1
    @W1nd 良好的编程的环境首先要有一定的仪式感,比如古龙写书前要沐浴更衣修剪指甲。对于需要灵感迸发的脑力劳动来说,开始工作前的仪式有利于对自己提出心理暗示,oh,接下来我要开始干一件了不起的大事情,然后就能迅速进入角色。当然也有可能灵感不到半天憋不出一个屁来。but,这些都不重要,最重要的事情其实是,搞一台super fast的机器,不要把系统搞得乱七八糟。这个也不是很重要,最重要的是要到什么山头唱什么歌,每个成熟的平台下都有一套成熟的开发工具链,follow it,不要给自己找不痛快,写.NET就在windows用VS.NET,写IOS APPS就果断上Mac用Xcode。要玩GCC,写C就找机器装Linux............如果啥都想玩就装多系统,或者上虚拟机。ok super fast的机器还是很重要,鉴于你用的mac,ok啦
    HarryZD
        30
    HarryZD  
       2013-03-11 23:06:04 +08:00
    好NB的大一新生
    W1nd
        31
    W1nd  
    OP
       2013-03-12 00:15:44 +08:00
    @shiran 嗯,谢谢~~
    W1nd
        32
    W1nd  
    OP
       2013-03-12 00:15:59 +08:00
    @anthozoan77 好的哈哈~!
    W1nd
        33
    W1nd  
    OP
       2013-03-12 00:19:27 +08:00
    @ipconfiger 恩恩,很好的一段话!非常感谢!


    @HarryZD 不NB啊。。那么喜欢计算机的活了这么久竟然不会一门编程语言。。
    lightening
        34
    lightening  
       2013-03-12 00:19:28 +08:00   ❤️ 1
    我觉得以lz现在的level,不必花钱去买什么特别的硬件。用手头有的电脑,有什么系统用就是了。
    shiran
        35
    shiran  
       2013-03-12 11:03:03 +08:00
    其实我也是入门级别的菜鸟o(╯□╰)o
    W1nd
        36
    W1nd  
    OP
       2013-03-12 11:41:34 +08:00
    @lightening 嗯,我不买硬件,就是那时候在纠结操作系统该用哪个,现在了解了,Mac OS X也可以!我就不装Linux了。。谢谢哦!~~
    W1nd
        37
    W1nd  
    OP
       2013-03-12 11:41:59 +08:00
    @shiran 呵呵~~一起努力!
    slixurd
        38
    slixurd  
       2013-03-12 12:04:44 +08:00   ❤️ 1
    C Primer Plus本来就不适合没有编程经验的人看,虽然我也见过不少硬啃下来的,但是入门就注意那么多细节总感觉有点侧重不对。另外“还有很多人说OS X和LINUX的命令是差不多的”这仅仅在命令行接近而已,因为都是*nix系,不过对于新手编程来说根本不会接触到这个层面的东西- -这更多是系统的问题而不是编程入门的问题。
    cassyfar
        39
    cassyfar  
       2013-03-12 13:58:12 +08:00   ❤️ 1
    学C没什么环境的特别要求。Mac应该是个很好的OS,既可以命令行用Gcc和Make,也有不少IDE可以选择。
    我初学的时候是用Code::Block, 一个不错的IDE,主要是可以不用建Project,单独编辑一个source file,很适合初学写小程序练语法和体验算法。
    ceyes
        40
    ceyes  
       2013-03-12 23:15:57 +08:00   ❤️ 1
    我觉得吧,你真的纠结的太早了,太多了,就像"小马过河"瞻前顾后,担心这个,犹豫那个,我觉得你肯定没好好写过几段C代码.
    每个人的偏好都不样的,有人喜欢windowns,有人喜欢linux,有人喜欢用IDE,有人喜欢vim+gcc...
    行动起来,去尝试,很快就会找到你个适合自己的solution.

    不过我的建议是在linux下,使用vim写代码,用gcc编译,使用gdb调试. 清晰明了.

    大一啊,真好.满脑子想法,一腔豪情
    希望能实现自己的想法,切记 最重要的是 踏实 不然...你可以看到好多人到了大四也会来问一些这样的问题~.~
    W1nd
        41
    W1nd  
    OP
       2013-03-14 20:23:21 +08:00
    @slixurd 谢谢,那我应该看The C Progranmming Language吧~


    @cassyfar 嗯,谢啦,我打算先用vim编辑,以后一定要用code::Block,很多人都推荐!


    @ceyes 教导的极是,我一定努力学习,不放弃!^_^
    luikore
        42
    luikore  
       2013-03-14 21:45:48 +08:00   ❤️ 1
    Unix is the best IDE. 现在 vim 用 clang_complete 插件功能已经比 IDE 强了

    http://www.vim.org/scripts/script.php?script_id=3302

    安装需求是 clang, clang 是 llvm 的编译器, 错误提示各种比 gcc 强大, mac 装 xcode 和 command line tools 就有了.
    lsby1984
        43
    lsby1984  
       2013-03-15 10:48:19 +08:00   ❤️ 1
    我觉得先学了语言后,才会明白自己用什么环境好。有些人一屁股坐在舒服的环境中,依然什么都学不进去。
    gaussz
        44
    gaussz  
       2013-03-15 12:04:12 +08:00   ❤️ 1
    先不要去纠结要用哪种开发工具,要用什么语言。编程是一种思维方式的建立和经验的积累,这是一个长期的过程!我的建议是从英文的tutorial开始了解语法基本并实践,先不要用ide,你在输入的过程慢慢熟悉简单基本的语法使用和结构控制。之后,自己给自己设置一个项目,项目大小根据自己兴趣、创意和经验的积累程度来设定。有了具体目的,你想实现哪个平台运行,了解如何才能完成项目,有什么库可以利用,写的过程中肯定会遇见很多很多问题,比如ide使用问题、结构问题、调用问题、编译问题。带着这些问题,利用google、stack overflow搜索,解决问题。一定要学会如何debug,善于收集debug信息,要不然你都不知道该怎么搜、该怎么问!完成后,利用sourceforge和github参考别人的实现,有了对比才能理解别人为什么这么做,这么做好处在哪儿,自己可以学到些什么。在下一个项目或着重构的时候可以进一步提升!
    编程和乐器、体育项目一样都是靠锻炼,只靠阅读而无自己深刻的体会是无用的,没有实践一切等于0,just do it!
    W1nd
        45
    W1nd  
    OP
       2013-03-17 00:17:17 +08:00
    @gaussz 谢谢,说得很好,深有感触!实践出真知!


    @lsby1984 对,看了大家那么多的回复后,也有概念了,总而言之,实践再实践,一定要动手写!先不考虑环境这些


    @luikore 谢谢~装了Xcode和Command line tools
    lbj96347
        46
    lbj96347  
       2013-03-17 19:26:33 +08:00   ❤️ 1
    因为入门的时候选择了Web前端开发,所以很多东西很简单。最初的时候学习HTML+css+js,只需要在windows下使用nodepad++。后来慢慢地有点深入了,就需要学习后端脚本,于是使用了linux,学习了lamp和ruby on rails。再后来慢慢地需求也变多了,就开始学习iOS开发,买了一台Macbook Air。其实楼主并不用在开始的时候太纠结这些事情。当你需要学习的时候,自然会遇到问题。

    遇到问题就去解决。自然就会走上这条路了。Good Luck!
    Ludwiyk
        47
    Ludwiyk  
       2013-03-17 20:42:55 +08:00   ❤️ 1
    我觉得虽然Xcode十分方便,但是还是应该尝试自己去配置编辑器+编译器比如gcc+Vim这样的开发环境,使用过程中遇到各种各样的问题也会提升解决问题的能力,加深对语言的了解。总之多折腾没坏处,就是避免少走弯路...
    W1nd
        48
    W1nd  
    OP
       2013-03-20 11:16:43 +08:00
    @lbj96347 嗯,非常感谢。多遇到问题代表着会积聚更多经验。


    @Ludwiyk 谢谢!
    poppinl
        49
    poppinl  
       2013-03-20 13:48:15 +08:00
    觉得平台呀系统呀什么的对于学习一个语言没什么影响吧,看你自己哪个用着最顺手了,,,编辑器的话win dev-c++,linux vim,mac xcode
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5255 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:16 · PVG 15:16 · LAX 23:16 · JFK 02:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.