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

新手程序猿有必要深入学习 C 语言吗?

  •  
  •   yesiamloki · 2015-11-19 14:36:22 +08:00 · 8030 次点击
    这是一个创建于 3103 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人大一

    92 条回复    2015-12-14 11:27:33 +08:00
    wshcdr
        1
    wshcdr  
       2015-11-19 14:39:27 +08:00
    现在没必要了吧
    meloncrashed
        2
    meloncrashed  
       2015-11-19 14:44:43 +08:00 via iPhone   ❤️ 1
    应该不用,我也在自学。新人大概了解就行了,迅速用程序实现功能比较重要。因为新人更需要激励与成就感。可能学到一定程度再看 c 会有所感悟。
    meloncrashed
        3
    meloncrashed  
       2015-11-19 14:45:11 +08:00 via iPhone
    新人搞 python 好
    skydiver
        4
    skydiver  
       2015-11-19 14:45:33 +08:00   ❤️ 4
    C 语言这么简单都懒得学……还是别当程序员了
    mechanician
        5
    mechanician  
       2015-11-19 14:47:15 +08:00   ❤️ 1
    大一时就是因为学 C 语言时很有兴趣很有动力,才打算转行当码农的,不过还是拿 pithon 入门好些吧
    mechanician
        6
    mechanician  
       2015-11-19 14:47:26 +08:00
    python = =
    yesiamloki
        7
    yesiamloki  
    OP
       2015-11-19 14:50:34 +08:00 via iPhone
    @skydiver 并不是懒 只是想确定一个值得花精力的方向 QAQ
    deving
        8
    deving  
       2015-11-19 14:53:05 +08:00
    看你想干什么吧.现在总之不该带着偏见去学就对了,那种带着"c 是宇宙最快的高级语言","学了 c 可以鄙视一切其他语言"的心态总是不好的,虽然有了这种偏见会让你在学 c 无聊的时候带来一丝莫名的优越感
    pseudo
        9
    pseudo  
       2015-11-19 14:53:20 +08:00
    如果仅仅是要学会 for , if-else ,基本 OOP 之类的话,很多语言起步都差不多
    pseudo
        10
    pseudo  
       2015-11-19 14:54:47 +08:00
    想要表达的是很多语言都可以作为起步,因为学好一套语言的语法规则再去学别的就很快了
    g00001
        11
    g00001  
       2015-11-19 15:03:23 +08:00   ❤️ 1
    嘿嘿, C 语言还可以这样玩( aardio 代码 )

    code = /**
    #include <windows.h>
    __declspec(dllexport) int Msgbox( HWND hwnd )
    {
    struct { const char * message;int id; } argument = {
    .message = "测试消息来自 C 语言",
    .id = GetCurrentThreadId()
    };

    SendMessage(
    hwnd,0xACCE/*_WM_THREAD_CALLBACK*/,
    "onMessageChange( { string message;int id } )",
    &argument
    );
    return 0;
    }
    **/

    import tcc;
    vm = tcc();
    vm.addLib( "user32", "kernel32", "gdi32" )
    vm.output( "/bin.dll", code )

    import win.ui;
    var winform = ..win.form({})
    winform.messageOnly();
    winform.onMessageChange = function(param){
    winform.msgbox("调用:" + param.message );
    win.quitMessage();
    }

    var dll = raw.loadDll( "/bin.dll",, "cdecl" );
    dll.Msgbox( winform.hwnd );
    win.loopMessage()
    wdhwg001
        12
    wdhwg001  
       2015-11-19 15:04:59 +08:00 via iPhone
    TL;DR 有,而且推荐学 C ,再学 C++,再学 MFC 背熟,再学 WTL 和 QT 。
    我最后悔的事情就是 C 没学好,还养了一身 IDE 依赖症,以至于现在根本做不到用 VC6 写一个简单的桌面程序,大多数时候只能用批处理、 Electron 甚至是易语言和 autoit 糊弄一下…
    hienchu
        13
    hienchu  
       2015-11-19 15:07:19 +08:00
    大一还是踏踏实实把基础学好吧,操作系统,算法数据结构,这些东西懂了,语言只是一个实践的工具而已。
    cheng007
        14
    cheng007  
       2015-11-19 15:09:32 +08:00
    @wdhwg001 都什么年代了还学 MFC ,有这时间,学什么不好啊
    wdhwg001
        15
    wdhwg001  
       2015-11-19 15:11:37 +08:00 via iPhone
    @cheng007 有计算器的人会恨一辈子自己不擅长口算和竖式的,我同理。
    DiamondY
        16
    DiamondY  
       2015-11-19 15:18:39 +08:00
    这得看 LZ 要走什么方向了,要往底层或者嵌入式方向走,学 C 可以说是必要的,众所周知 Linux 是用 C 写的;如果往网络方向的话,学 C 就变得没那么必要了;如果是应用方面的话,那么就一半一半吧,学 C 并不十分必要。
    还是搞搞计算机基础,看看计算机发展历程,然后确定方向和想做的事情,再定语言吧。
    jackisnotspirate
        17
    jackisnotspirate  
       2015-11-19 15:19:32 +08:00
    没必要哈哈
    wdhwg001
        18
    wdhwg001  
       2015-11-19 15:20:52 +08:00 via iPhone
    @cheng007 启动速度、执行效率和程序体积都是 MFC 和 WTL 优越的资本,连 C#都比不上。
    所以…并不是“什么年代”的问题,同样也不是“好不好找工作”的问题,而是“这就是该学的”,就像一定要学好高数一样…
    顺便我一直在恶补的还有反汇编和逆向,以及驱动相关…同样是基于这个理由。
    jzfr
        19
    jzfr  
       2015-11-19 15:34:24 +08:00
    @wdhwg001 你一会说 MFC 是口算,一会说 MFC 是高数,请问你倒底分不分得清什么是高数什么是口算?

    即然你自己 VC6 用不好、自己都在恶补基础知识,那么你怎么就知道 MFC 是别人应该必须去学的呢? “这就是该学的” - 这种绝对权威不容质疑的语气似乎不该出自一个新人之口,人家用 PHP 用 Python 都可能用到 C 语言,但还就真用不到 MFC 。照你这种逻辑,你还得去恶补机器码才行。
    codingpp
        20
    codingpp  
       2015-11-19 15:39:05 +08:00
    别的都看了,就看 php
    hslx111
        21
    hslx111  
       2015-11-19 15:39:57 +08:00
    不用的话,没必要。不如多深入学学操作系统,数据结构
    FireCat
        22
    FireCat  
       2015-11-19 15:45:11 +08:00
    等以后学深了你就知道 C 语言是多么的重要。建议认认真真把《 C Primer Plus 》看一遍,认认真真完成练习。
    cxl008
        23
    cxl008  
       2015-11-19 15:46:55 +08:00
    wizardforcel
        24
    wizardforcel  
       2015-11-19 15:47:03 +08:00 via Android
    @wdhwg001

    mfc 等于高数?扯吧。 win32api 等于高数还差不多。

    学 mfc 对学 qt 有帮助吗?一点用都没有,只是都是拖控件画 gui ,能更熟练一些。

    但是有那时间干嘛不一开始就上手 qt ?都是一个 level 的东西 mfc 怎么就高人一等了?
    Banio
        25
    Banio  
       2015-11-19 15:50:09 +08:00
    我这种工作两年 就会用 C 的 没法活了
    FireCat
        26
    FireCat  
       2015-11-19 15:52:38 +08:00
    这问题就像问新手司机开好手动档车有用吗。
    lion9527
        27
    lion9527  
       2015-11-19 15:53:50 +08:00
    没必要, C 看上去高大上,学了还有优越感。然并卵。
    你看人家老美的大学都从 python 起步教,跟着别人走就行了。
    wizardforcel
        28
    wizardforcel  
       2015-11-19 15:57:20 +08:00 via Android   ❤️ 1
    @yesiamloki

    如果你要用 c 来开发,需要学 c 语言。如果你要玩 x86 的逆向,需要学 c 语言。

    如果你要学 c++,那就学 c++。 c 的一些特性在 c++里面不提倡使用,而且有更好的替代方案。先学 c 的话你会养成一些坏习惯,之后需要拼命忘掉他们。
    feather12315
        29
    feather12315  
       2015-11-19 15:59:51 +08:00 via Android
    也是个新人吧(已经一年了)。
    学了 C ,那就紧接着刷数据结构习题吧。
    其实,啥语言真的无所谓
    wdhwg001
        30
    wdhwg001  
       2015-11-19 16:03:51 +08:00 via iPhone
    @wizardforcel MFC 的确很恶心…然而事实上在我这种拿批处理和 electron 糊弄的人眼里连 QT 都嫌麻烦,这也是为什么我提 MFC 了…
    至于 win32api ,我是啃 MFC 的时候一起啃的,如果和 QT 一起啃的话可能更吃力一点,毕竟 QT 干净多了…
    MFC 所谓的高人一等大概是来源于我的偏见吧,见谅了,毕竟身边的人都是拿 VC6 和 MFC 写东西的,因为我看着会吃力所以有点偏见。

    @jzfr 同上面。以及 MFC 用处的确不大,然而我所说的“这就是该学的”的意思只是,“如果学校教这个,请把它学好学精”这样子。更方便的,找工作更简单的东西是实用的,但不要以抛下或应付课程内容为代价…
    megabits
        31
    megabits  
       2015-11-19 16:04:25 +08:00
    人生苦短,我学 python
    alexinit
        32
    alexinit  
       2015-11-19 16:14:54 +08:00   ❤️ 1
    根本深不起来的,你多虑了.
    GNiux
        33
    GNiux  
       2015-11-19 16:32:51 +08:00
    作为一个非 IT 从业者,我还是觉得, C 语言才是整个计算机专业的逻辑、理念精髓。
    oska874
        34
    oska874  
       2015-11-19 16:33:09 +08:00
    好好学吧,考试要考 C
    felixzhu
        35
    felixzhu  
       2015-11-19 16:34:25 +08:00
    学你感兴趣的东西,不要管有没有用

    因为到最后你会发现反正都是要学的。。。
    zmj1316
        36
    zmj1316  
       2015-11-19 16:36:02 +08:00
    不学 C 那么 C++总要学的吧,先点学简单的 C 也没问题吧,不知道 LZ 指的深入有多深,我反正是深不下去。
    skydiver
        37
    skydiver  
       2015-11-19 16:58:42 +08:00
    @yesiamloki 哪一个方向都不白费精力,很多东西都是通的。搞清楚哪个方向最好的唯一办法就是每个都学一遍~
    nicksite
        38
    nicksite  
       2015-11-19 17:18:12 +08:00
    c 语言大法好
    LINEX
        39
    LINEX  
       2015-11-19 17:55:25 +08:00
    有必要。
    clinkzlol
        40
    clinkzlol  
       2015-11-19 19:50:34 +08:00
    有必要啊,就算 python 起步,可是 python 的源码不也是 C 么。。。

    到后面总会遇到需要分析源码的时候的,熟练掌握 C 很有必要。
    ls2110609
        41
    ls2110609  
       2015-11-19 20:28:41 +08:00
    当然有
    pandachow
        42
    pandachow  
       2015-11-19 20:37:27 +08:00
    工作嘛还早,兴趣嘛你碰的太少也难说。

    由于 C 是少数几门非常易于清晰表达数据结构的语言,而数据结构你是一定要学扎实的,所以我建议你学。
    ayanamist9
        43
    ayanamist9  
       2015-11-19 20:41:09 +08:00
    现在程序员连 C 都懒得学了?
    anjunecha
        44
    anjunecha  
       2015-11-19 20:52:03 +08:00
    要学,毫无疑问。。

    这问题就像要不要上大学一样。。。
    haozhang
        45
    haozhang  
       2015-11-19 20:54:51 +08:00
    想学什么学什么,只要坚持都能学成。
    chevalier
        46
    chevalier  
       2015-11-19 21:03:24 +08:00   ❤️ 2
    不会 C 的程序员基本上半残废
    是,你可以三分钟用 Tornado 撸一个 Web 服务器出来
    但是,不会 C ,意味着你无法理解 Python 的引用 /对象堆 /调用栈等概念,意味着你看不懂 Python 的源码,意味着你无法理解 Linux 的系统调用……
    yxcxx
        47
    yxcxx  
       2015-11-19 21:07:33 +08:00
    大一你都懒得学 C ,你是大三大四赶着找工逼着学( js , Python , Java , Php , C#)吗?
    大一正是学基础的时候,不学 C 你 Linux 系统编程( apue , unp 等), CSAPP ,还有大把经典的教材用 C 语言描述的你都不学了吗?
    再说了, C 又不多难,现在的人已经懒到这个程度了吗?
    我:毕业半年的码畜,非相关专业,学编程到现在一年。学了 Python 和 Ruby , Javascript 。后来为了打基础,啃了 K&R 。
    czkwg8
        48
    czkwg8  
       2015-11-19 21:12:47 +08:00
    懂的东西多总是不亏本的
    chinvo
        49
    chinvo  
       2015-11-19 21:17:26 +08:00
    个人认为学习一门典型且 simple 的语言,比如 C 语言,是十分必要的基础。不然之后遇到一些比较高深的应用场景会遇到各种坑爹的问题。
    mornlight
        50
    mornlight  
       2015-11-20 01:11:57 +08:00
    可以尝试,但如果不是这个专业的学生而只是把编程作为兴趣的话,把 C 作为第一门语言的必要性不大。新手编程时有完成品和成就感的话会好很多, Python 更合适。

    如果本身就是计算机或者软工的, C 或 C++入门完全可以。
    cxbig
        51
    cxbig  
       2015-11-20 06:51:16 +08:00
    大部分语言的基础都是 C ,才大一当然要学。懂了 C 其他的都不是问题。
    allan888
        52
    allan888  
       2015-11-20 07:03:05 +08:00 via Android
    对正经的 cs 的人肯定是要学的,这个不容置疑。
    比如你不懂 programming language ,那你对 js 的闭包,自由变量,对 python 对 scala 的 lambda 的匿名函数就停留在会用上,但是你并不懂原理。
    如果你不懂 c ,你可以写 php 写 python 写 java 的 web 后端,那服务器怎么处理并发的, linux 进程间如何通信,
    MayLava
        53
    MayLava  
       2015-11-20 07:09:45 +08:00
    不一定要深入学 c ,深入的学好 java 也行。理解好 java reference 就很足够了。
    allan888
        54
    allan888  
       2015-11-20 07:12:02 +08:00 via Android
    @allan888 没说完不小心发送了,补充一下。
    不同的东西用了不同的机制,比如 aio 比如 netlink ,导致不同的最大并发数和不同的效率,你不懂 c 你就只知道啊这个轮子好,那个轮子弱,跟着别人的忽悠走。
    你的志向是停留在用轮子写非常上层的东西那就不用管了,这也是一条路,谈不上高低。但是你如果要做到既会用又懂原理,必要的时候能改底层来适应需求,那不会 c 就是不可能的。哪个大公司能只用很上层的别人的轮子而不涉及底层呢。你要成为万人敬仰的大神这是必经之路。
    至于说国外学校教 python 不教 c 都无力吐槽,胡扯之前最好看看别人 cs 的课表。
    sandideas
        55
    sandideas  
       2015-11-20 07:56:12 +08:00
    楼主是大一当然必须必须得学,而且要好好学,不是学个语法。
    最好去写 ACM 的题目。就算拿不到奖,在将来的学习中你会发现你的思路十分的清楚。
    反正我是能很明显的看出来有学过和没学过的区别,在面对新知识上,差距还是特别大的。
    vietor
        56
    vietor  
       2015-11-20 08:16:56 +08:00 via Android
    Python2 已经很老旧了, Python3 的分裂很麻烦。 C99 学学是值得的,看到那些其他语言吹性能,可以一笑了之。从 C++ 14 已经反人类的像极了动态语言。
    mianju
        57
    mianju  
       2015-11-20 08:23:38 +08:00
    在看 CSAPP ,发现 C 还是挺重要的
    onice
        58
    onice  
       2015-11-20 08:42:32 +08:00
    要达到能写控制台的 XX 管理系统的水平。其实最主要的是要把数据结构与算法学好,学校里开的课一般都是以 C 语言描述的。如果没 C 基础的话,那就完蛋了
    xuhaoyangx
        59
    xuhaoyangx  
       2015-11-20 08:58:17 +08:00
    @wizardforcel 十分赞同
    @allan888 国外不是不教 C 语言,而是很多都会用类 python 的语言作为第一语言课进行教学。
    效果往往比一开始就学 C 语言的效果更好,比如更加简单易懂帮助学生提升兴趣,和一些思想
    elgoog1970
        60
    elgoog1970  
       2015-11-20 09:09:27 +08:00
    C 作为程序员是必须要学习的,不信就算了
    harry890829
        61
    harry890829  
       2015-11-20 09:17:12 +08:00
    上次看到这个题目的时候,就想说些什么,但是又不知道说什么
    我现在是一个 c/c++开发,现在负责开发呼叫中心,其中包含 Linux 服务器与 pc 客户端,全都是用 c/c++编写,只能说非常痛苦,公司最早开始使用 c/c++写客户端的时候,应该是领导不太懂把……
    c/c++是一定要学的,不过就像上面各位大神说的一样,你入门开始学 c/c++你会经过一个非常非常枯燥的过程,完全在一个理论抽象的过程中思索,但是你要是学一个高层语言, java 等,这样你可以轻易的写一些自己能够看到的东西,一些小游戏等,这样可能会增加自己学下去的信息吧……
    zackkson1991
        62
    zackkson1991  
       2015-11-20 09:20:50 +08:00
    @chevalier 这位仁兄正解。深入学习 C 是必须。还需要学习计算机系统等基本知识,还要学习一下 C++,理解 OOP 。没有学习好 C 语言,真的“半残废”。
    allan888
        63
    allan888  
       2015-11-20 09:26:54 +08:00
    @xuhaoyangx 对本科生来说第一门课怎么好使怎么来呗,后面学什么内容就自己去搞定相关的语言。
    对 master 来说,从来就没有课是教语言的,需要用任何语言的话都是自己回去搞定。
    但是如果楼主一定要问深入 C 有没有必要,我可以说无可奉告,但是我没见过有人能在本科或者 master 毕业还能躲开不学 C 。
    gimp
        64
    gimp  
       2015-11-20 09:28:20 +08:00
    C 是一个大门, Lisp 是另一个

    直接学 python 虽然很实用,但是作为程序员, C 是一门必修课
    jimrok
        65
    jimrok  
       2015-11-20 09:32:30 +08:00
    c 本身没什么可学的, c 主要是做系统编程的,例如写驱动,写 Linux 的网络服务。背后的知识在熟悉系统底层的接口和工作特性。如果这些不是你的菜,学了也就是玩玩数据结构。
    Cloudee
        66
    Cloudee  
       2015-11-20 09:36:45 +08:00 via iPhone
    光学 C 也不难啊,总共没几个关键字,计算符号也很标准,简单粗暴一句废话没有。难的地方要么和计算机的运作方式有关要么和数据结构和算法有关,都是学其他语言也绕不过去的
    wizardforcel
        67
    wizardforcel  
       2015-11-20 09:41:50 +08:00 via Android
    @harry890829 c++玩好了照样能写各种看得见的项目 有轮子的话 web 那套也不成问题啊 现在的 c++标准库和三方库加起来再怎么着也够用了

    @wdhwg001 不赞成 框架什么的 无论是 ui 还是 web 在学校如果不讲就没必要单独花时间研究 边用边学即可 如果老师讲了也没必要深究 会用即可 没必要为此花太多时间
    g67261831
        68
    g67261831  
       2015-11-20 09:45:06 +08:00
    各种语言也只是工具,一切为工作服务,看以后做什么。
    harry890829
        69
    harry890829  
       2015-11-20 09:48:46 +08:00
    @wizardforcel 你都说玩好了之后啊,初学的时候,就只能搞内存,搞指针,理解那些蛋疼的搞来搞去的东西,起初那些 shell 下,枯燥的蛋疼的东西,作为初学者,还是很辛苦的……
    wizardforcel
        70
    wizardforcel  
       2015-11-20 09:55:48 +08:00 via Android
    @xuhaoyangx 其实国外的课程 基本上讲组成原理顺道也就把 c 讲了 说实话 c 的特性很少 并不适合单开一门课

    我们学校的 c 语言课 6 个星期就把 c 语言核心部分讲完了 剩下十个星期讲 linux c 讲 opengl 。。。

    指针什么的不理解 可以学组原的时候再返回来看 但如果就连这样简单的语言都不想学的话 也就不用继续学下去了
    wikimore
        71
    wikimore  
       2015-11-20 09:57:32 +08:00
    个人觉得需要!
    因为上层的语言基本都是用 C 来实现的,php/python/ruby/java/lua/erlang 等等等等....
    当你想深入了解其中原理的时候,都会需要和 C 打交道...
    wizardforcel
        72
    wizardforcel  
       2015-11-20 10:03:12 +08:00 via Android
    @harry890829 所以这就是大部分教材的弊病

    初学的时候可以用 vector string shared_ptr 先用起来

    等深入的时候再接触原生指针什么的 如果初学的时候就陷入这些东西 我估计没几个人愿意学的

    有时候我在想 obj-c 也涉及到内存管理什么的 但是愿意学的人好像要多得多 到底是什么原因
    mornlight
        73
    mornlight  
       2015-11-20 10:14:08 +08:00
    @wizardforcel OC 能容易地开出高工资,而且现在 OC 里有 ARC ,大多数时候不需要手动 release ,内存管理没有那么复杂。
    harry890829
        74
    harry890829  
       2015-11-20 10:25:13 +08:00
    @wizardforcel 所以,要是有个好点的人带还好,否则光看书,或者大学老师那种读书式的教学,简直抹杀编程的乐趣……
    wizardforcel
        75
    wizardforcel  
       2015-11-20 10:27:16 +08:00 via Android
    @mornlight 好羡慕

    相比之下智能指针引入的太晚了
    Wangxf
        76
    Wangxf  
       2015-11-20 10:55:28 +08:00
    据说大牛级别的程序猿都会 corc ++
    msg7086
        77
    msg7086  
       2015-11-20 12:45:21 +08:00
    @wizardforcel 为啥我记得智能指针也是个坑货?好像还要考虑引用计数什么的不知道有没有记错。
    xuhaoyangx
        78
    xuhaoyangx  
       2015-11-20 13:13:21 +08:00
    @allan888 赞同。
    @wizardforcel 了解。
    从国外课程了解,也只是通过我高中或小学同学了解的。也只能大概了解大概的一些内容。

    不讲讲了什么,最直接的一个感觉。
    都是差不多时间入学的,只不过我在国内,我的同学是在加拿大,妹子完全不懂电脑的那种。
    第一年,是妹子问我问题,第二年,是我问妹子问题。
    妹子是那种不喜欢编程,也不讨厌代码,她跟我说过一些他们第一门程序语言是 python 的,老师做了很多有趣的功能,而且也很好理解,算法也是通过这些有趣实用的功能举例。然后我就很好奇问了一些留学的朋友,基本第一门语言都不会用 C 讲,毕竟用 C 做点东西对于初学者相当难,做不出东西对初学者很难受应该是很难受的一件事。

    国内的课程很多本末倒置,课程时间也不够,国内体制是需要考核,在有限的时间内,让学生掌握需要考核的内容,导致一部分老师的确想讲的挺好的....然并卵
    wizardforcel
        79
    wizardforcel  
       2015-11-20 15:34:38 +08:00 via Android
    @xuhaoyangx 我这边还好点吧 有用 py 的 也有用 c++的

    讲算法和 plt 的老师亲自教 py

    讲 web 和架构的老师亲自教 c++
    loqixh
        80
    loqixh  
       2015-11-20 15:42:41 +08:00
    @xuhaoyangx 呵呵,事实是计算机相关专业国外入门基本也都是 c.............非计算机相关专业才是 python
    allan888
        81
    allan888  
       2015-11-20 15:49:41 +08:00
    @xuhaoyangx 也许缺的是带着爱去学 C 。
    国内可能教 xx 就抹杀大家对 xx 的兴趣,但是这不是 C 的锅。
    phoneli
        82
    phoneli  
       2015-11-20 15:52:27 +08:00
    看你定位。如果还没有定位好,就学下吧。也不难。
    w3hacker
        83
    w3hacker  
       2015-11-20 15:53:41 +08:00
    有必要学,还有必要学下 linux c, 帮助是巨大的
    xuhaoyangx
        84
    xuhaoyangx  
       2015-11-20 20:53:01 +08:00
    @loqixh 为什么要呵呵,没有说 C 语言的不好。只是吐槽国内的教学方式 教学内容
    qiuzeliang
        85
    qiuzeliang  
       2015-11-20 21:02:42 +08:00
    过来人告诉你,必须学 c or Python !!!
    hqs123
        86
    hqs123  
       2015-11-21 07:02:32 +08:00
    学会就行,学会触类旁通最重要.
    jimzhong
        87
    jimzhong  
       2015-11-21 09:36:24 +08:00
    如果你是计算机专业的,那么 C 是必须的,如果只是想学编程,那么可以考虑 Python 。
    3yvsye
        88
    3yvsye  
       2015-11-21 09:47:25 +08:00
    基友在加拿大读大学他们首门语言就是 Python , C 可以按兴趣学习对数据结构做题那些帮助挺大的。感觉 C 语言就像我们的四大名著那样,都说经典,但有耐心把它全部看完并理解它们经典的地方在哪里的人并不多,所以要看你自己的学习方向和学习深度了,怎么安排才是最关键的。
    matthewz
        89
    matthewz  
       2015-11-21 17:22:36 +08:00
    肯定得学啊 至少要会基础语法能写算法和数据结构

    但是不必一开始就学
    joshz
        90
    joshz  
       2015-11-21 17:42:05 +08:00
    要学的话也推荐使用[图灵社区 : 图书 : C 语言程序设计:现代方法(第 2 版)]( http://www.ituring.com.cn/book/208 )
    cheng007
        91
    cheng007  
       2015-11-23 13:35:58 +08:00
    @wdhwg001 扯的太过了, MFC 能和高数比较?一套过时的框架,花那么时间去研究这些。有着时间,玩 Android 都比 MFC 好,至少不过时。想到现在学校还在教着 MFC ,真特么想吐。
    大好青年的时间和精力浪费在这样的满是历史包袱的东西实在不值。
    spww
        92
    spww  
       2015-12-14 11:27:33 +08:00
    框架天天变,计算机原理不会变,如果编程只是组合 API 那确实不用学,但是如果不想一辈子搬 api ,怎么可能不多学一些基础的经典的东西。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1052 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 23:15 · PVG 07:15 · LAX 16:15 · JFK 19:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.