编程的环境究竟怎么选择呢?? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴AI 生成的内容
W1nd
V2EX    程序员

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

  •  
  •   W1nd 2013-03-10 14:45:44 +08:00 8535 次点击
    这是一个创建于 4611 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大一编程新人想自学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     Solana     5194 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 07:21 PVG 15:21 LAX 00:21 JFK 03:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86