我觉得不是计算机相关专业的就不应该学 C 语言 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aheadlead
V2EX    随想

我觉得不是计算机相关专业的就不应该学 C 语言

  •  
  •   aheadlead 2014-10-11 20:42:50 +08:00 6749 次点击
    这是一个创建于 4096 天前的主题,其中的信息可能已经有所发展或是发生改变。
    学学python多好

    给不是计算机专业的妹子解释C语言里面的诸多问题的时候
    还要顺便科普计算机组成原理
    内存地址啊 数据长度啊 艹




    (pp是最好的语言)
    60 条回复    2014-10-12 19:21:08 +08:00
    omi4399
        1
    omi4399  
       2014-10-11 20:54:25 +08:00   1
    我一直以为非专业学 C 其实学的不是语言,而是思维,不是吗?
    yuelang85
        2
    yuelang85  
       2014-10-11 20:54:51 +08:00
    我觉得还是要学的。

    不过学编程的话,python入门,C深入,挺好的。

    我觉得应该学lisp类语言。
    yuelang85
        3
    yuelang85  
       2014-10-11 20:55:47 +08:00
    补充一下,我觉得为了门语言专门开一门课是不合适的,应该是某一门课用某种语言授课,用这门语言解决问题,我觉得这个才是合适的
    icedx
        4
    icedx  
       2014-10-11 21:07:36 +08:00
    为什么我解释没这么费事
    fox
        5
    fox  
       2014-10-11 21:12:10 +08:00
    主要是为了考二级,其实学啥无所谓。
    mornlight
        6
    mornlight  
       2014-10-11 21:17:18 +08:00   3
    “今晚这方面内容解释不完了,太多了”
    “没事,你可以留在我这嘛”
    sandtears
        7
    sandtears  
       2014-10-11 21:25:15 +08:00
    +1

    说真的我觉得很多非计算机专业的, C 语言基本学完就扔了
    Python 之类的好歹可以用来做点小东西,比如做做数据处理小爬虫什么的
    t6attack
        8
    t6attack  
       2014-10-11 21:50:58 +08:00
    就算学Python,也是学算题、打星号。学完就扔了。
    BGLL
        9
    BGLL  
       2014-10-11 21:54:35 +08:00   1
    大学非计算机专业就不应该学什么编程(个别理工科除外;尤其是C语言),弄成选学课的形式就够了,浪费时间精力,学完了没点用
    dangge
        10
    dangge  
       2014-10-11 22:01:33 +08:00   1
    计算机专业的表示我们不学C。。。。
    BTW 我记得现在计算机组成原理是公共课 都要上的吧
    <del>不明白纯粹是因为没听课+没兴趣学</del>
    anjunecha
        11
    anjunecha  
       2014-10-11 22:07:02 +08:00 via Android
    恩,队很多专业来说,我觉得改成选修课更为合适,想学的人肯定会选的,不做硬性规定为好
    aheadlead
        12
    aheadlead  
    OP
       2014-10-11 22:08:21 +08:00   1
    @omi4399
    学习思维没错,我觉得学习语言,不应该 关心没必要关心的细节,一个化学学生学那些乱七八糟的指针(指向指针的指针的指针……)干嘛
    @yuelang85
    你说得更棒!
    @t6attack
    总比C上手容易。
    @icedx
    重点不在这里。
    icedx
        13
    icedx  
       2014-10-11 22:18:39 +08:00
    @aheadlead 那在哪里...
    aerofloyd
        14
    aerofloyd  
       2014-10-11 22:26:57 +08:00
    嗯,lisp是正经事。
    txlty
        15
    txlty  
       2014-10-11 22:30:00 +08:00
    计算机二级还真没Python
    C、C++、VB、VF、JAVA自选一类报考。还有数据库(Access)和Office高级应用。
    spacewander
        16
    spacewander  
       2014-10-11 22:35:22 +08:00
    你让学电子和学自动化、学通讯的童鞋情何以堪……他们也需要用C语言解决专业问题,说不定毕业后还和计算机专业的一起抢工作呢。
    spacewander
        17
    spacewander  
       2014-10-11 22:36:44 +08:00
    不过化工类学C的确奇葩了……但是机械类/电子类还是有必要学下的。
    aheadlead
        18
    aheadlead  
    OP
       2014-10-11 22:37:40 +08:00
    @icedx 重点在学语言、艺术、影视、会计这类的专业学C语言干嘛?化学专业的学MFC学的那个逗啊...
    aheadlead
        19
    aheadlead  
    OP
       2014-10-11 22:38:08 +08:00
    @spacewander 我错了,我的认知是这些专业是和计算机相关的...没想到造成了歧义
    icedx
        20
    icedx  
       2014-10-11 22:40:33 +08:00
    @aheadlead
    <del>培养逻辑思维</del>
    我倒是想问问我一个CS 的为毛要学复变函数和积分变换( 哭哭
    t6attack
        21
    t6attack  
       2014-10-11 23:16:56 +08:00
    其实就是为了让你意识到,程序员是多么牛X。

    同样是C语言,同样是学过编程的人,我们只能用来算题、打星号。
    但人家程序员却能写出操作系统、游戏、浏览器、办公软件、工业控制软件,甚至写出另一种编程语言(php、python)。

    从此对程序员佩服的五体投地,认为自己智商和人家存在差距。(脚本级程序员跟着沾光了)
    BGLL
        22
    BGLL  
       2014-10-11 23:38:49 +08:00
    @spacewander
    会计、国际贸易、电子商务、建筑设计、土木工程......哪个学编程语言(还是C)不是逗,
    过去这些专业都是要考计算机2级证,这个连求职都没用的证
    不知道现在还要不要
    myrual
        23
    myrual  
       2014-10-11 23:43:41 +08:00
    有妹子问问题?我怎么从没遇到过?
    inreality
        24
    inreality  
       2014-10-12 00:09:21 +08:00
    @mornlight 极好极好
    zts1993
        25
    zts1993  
       2014-10-12 00:11:04 +08:00
    能解决需求的语言才是好语言~
    Tink
        26
    Tink  
    PRO
       2014-10-12 00:15:37 +08:00 via iPhone
    自动化的表示C学的那叫一个渣
    ipconfiger
        27
    ipconfiger  
       2014-10-12 00:20:27 +08:00
    非CS的同学不学C语言,那么CS的学长们哪有机会借教C语言的机会把到非CS的系的妹子呢?
    aheadlead
        28
    aheadlead  
    OP
       2014-10-12 00:23:03 +08:00
    @zts1993 别扯这个...我是觉得部分人没有必要学C...
    spacewander
        29
    spacewander  
       2014-10-12 00:30:25 +08:00
    @BGLL 不同学校不一样的。我们学校就没强求一定要考到二级证。不过电子商务要学Java,而且是必修课。可惜虽然认识几个电商的妹子,但是没有人过来问我Java方面的问题啊(所以说其实考试应该难度不大容易过)
    ezreal
        30
    ezreal  
       2014-10-12 00:31:02 +08:00
    其实C挺好玩的,学完C顺便学下汇编,然后就可以搞搞软件破解,漏洞分析什么的
    mahone3297
        31
    mahone3297  
       2014-10-12 00:32:34 +08:00
    我觉得,c是一门很好的语言,很有学习的必要。。。我真心这样认为。虽然我没学好c
    大家喷我吧。。。
    cha1
        32
    cha1  
       2014-10-12 00:38:20 +08:00
    @ezreal 鄙人就是学c顺便后学点汇编。。。我能说汇编都忘光了么T.T
    aheadlead
        33
    aheadlead  
    OP
       2014-10-12 00:38:40 +08:00
    @ezreal
    @mahone3297 请为别的专业的同学考虑一下
    Heracles
        34
    Heracles  
       2014-10-12 00:40:18 +08:00 via iPad
    既然学编程思想我管内存干毛
    确实不应该学C语言。
    ezreal
        35
    ezreal  
       2014-10-12 00:48:42 +08:00
    @aheadlead 我是设计专业的诶
    wisatbff
        36
    wisatbff  
       2014-10-12 00:48:53 +08:00
    c速度快,跑算法还是要写的
    sandtears
        37
    sandtears  
       2014-10-12 01:08:10 +08:00 via Android
    @wisatbff 大学生非计算机相关专业(此处计算机专业为泛指,包括搞嵌入式的之类)的能有什么算法需要用 C 写才能够效率?
    而且就算真到以后工作了用到对效率要求高的东西比如统计之类的,用 Matlab 这种汇编代码级别优化的东西估计比 gcc -O3 都强
    est
        38
    est  
       2014-10-12 01:41:34 +08:00
    @omi4399 C语言有个毛的思维。学的就是计算机结构。
    xifangczy
        39
    xifangczy  
       2014-10-12 01:50:12 +08:00
    讲C是为了涉及方面更多吧,如果一开始讲python 以后遇到要声明变量的语言岂不是完全傻了。学点C 转其他编程语言更轻松,至少我是这样的路线,觉得除了一些什么lisp 其他的都可以轻松应付。
    ilihai
        40
    ilihai  
       2014-10-12 03:02:30 +08:00
    最后一句是不是亮了?
    Perry
        41
    Perry  
       2014-10-12 04:53:47 +08:00
    能理解你的意思,我们学校的 CS 入门课就是 python
    WhyLiam
        42
    WhyLiam  
       2014-10-12 07:47:25 +08:00
    @omi4399 +1

    一直感觉学了 C 以后,之后的语言可以很快的上手。语言基本的逻辑都是一样的,大部分只是写法不一样而已
    zts1993
        43
    zts1993  
       2014-10-12 07:59:54 +08:00
    @aheadlead 对啊,很多人不需要C;学学python就够用
    angelface
        44
    angelface  
       2014-10-12 08:10:40 +08:00
    学C不就是学操作系统基础么?
    hooluupog
        45
    hooluupog  
       2014-10-12 09:07:43 +08:00
    大一c,大二java(那年刚好没有c++,后面的几级又学c++了)。
    c挺好
    1.刚学编程的不需要接触类,多态,继承等等这些东西,直接用结构化编程,写一小段函数,完成某个特定的功能,不需要做什么工程化的项目,c很适合;
    2. C有小巧的,傻瓜化的IDE,这个对新手帮助很大。
    3.不论是往高走,将来接触java,python这些,还是往低走,搞编译原理,单片机,嵌入式等等c都很很好的衔接。
    4.c的一个优点就是小巧,简单(不深究的话,尤其是内存管理方面),很适合入门。
    magine
        46
    magine  
       2014-10-12 09:12:07 +08:00
    @yuelang85
    非常赞同这种说法,我猜兄台一定是看了SICP。。。
    magine
        47
    magine  
       2014-10-12 09:12:44 +08:00
    @omi4399
    不要扯淡了,速度起床去办公室把那个破电脑修了QAQ
    wisatbff
        48
    wisatbff  
       2014-10-12 09:55:27 +08:00
    @sandtears 我们这边搞图像的,光MATLAB肯定不行,有些地方毕竟没法优化,还是要根据平台自己写
    krfantasy
        49
    krfantasy  
       2014-10-12 09:58:51 +08:00
    看来楼主是真心想教会妹子,换我我都直接把她们作业做好考试过了的……
    Chigogo
        50
    Chigogo  
       2014-10-12 10:11:01 +08:00
    为什么PHP是做好的语言?我感觉Javascript好精致啊!
    sandtears
        51
    sandtears  
       2014-10-12 10:15:42 +08:00
    @wisatbff
    图像貌似 Matlab 没啥压力吧,冈萨雷斯老爷那本数图书也有 Matlab 版。
    不过我毕竟没研究过 Matlab 处理图像的性能,可能妄言了。。
    levn
        52
    levn  
       2014-10-12 10:51:29 +08:00
    c和java哪家强
    aheadlead
        53
    aheadlead  
    OP
       2014-10-12 11:09:50 +08:00
    @Chigogo 故意引战的...

    @krfantasy 是的 别无他念

    @hooluupog 针对3,这些专业(广告啊……)怎么会接触java、嵌入式?

    @xifangczy 他们不需要转别的语言!还有文科生学C的怎么破!

    @wisatbff 文科生跑个蛋算法啊。

    大家不要以自己ITer的视角看问题,什么方便转语言啊、便于了解计算机底层啊,别扯这些没用的,很多人不需要这些。
    jedihy
        54
    jedihy  
       2014-10-12 14:31:46 +08:00 via iPhone
    @sandtears 比如生物里面跟蛋白质和基因相关的计算,脚本级的跑一周,c可能跑一天。
    aheadlead
        55
    aheadlead  
    OP
       2014-10-12 14:36:38 +08:00 via iPhone
    @jedihy 交给cs的做
    wisatbff
        56
    wisatbff  
       2014-10-12 14:42:31 +08:00
    @aheadlead cs的看不懂算法
    hitsmaxft
        57
    hitsmaxft  
       2014-10-12 15:24:19 +08:00
    C 是一个对操作系统友好的语言, 对于用户就不那么友好了。

    所以,所有不需要接触操作系统知识和服务器编程的人都不需要学c, 至于为什么要提到服务器编程呢, 因为涉及到资源和网络,就算不用c, 也需要对应的系统知识。

    相比之下, python和ruby之类的动态语言更值得学习, 对于非计算机类专业,确实应该考虑其他更轻量级,更高级的编程语言。
    aheadlead
        58
    aheadlead  
    OP
       2014-10-12 18:34:31 +08:00 via iPhone
    @wisatbff 让cs的翻译
    saharabear
        59
    saharabear  
       2014-10-12 18:37:17 +08:00
    我朋友学物理的和做生物行业的,怎么都会学Python, C, Matlab和Java中的一到三样呢? 他们写的程序工程化虽然差一些,但是技巧上都不错的。

    还是看人吧,一个人需要的知识在于他期待自我站立的高度。
    pcx3802482
        60
    pcx3802482  
       2014-10-12 19:21:08 +08:00
    我是搞化工的,自学C后我去考了计算机二级,然后自学操作系统、数据库、计算机组成、拆了PC清灰换内存换SSD。如果开始学的是python,后面的事情我不可能有兴趣、有能力完成。对我而言,C的确挺难也没有什么大用处,但C是非常好的基础课。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5821 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 02:09 PVG 10:09 LAX 18:09 JFK 21:09
    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