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

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

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

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




    (php是最好的语言)
    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  
       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
    大家喷我吧。。。
    zqhong
        32
    zqhong  
       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   ·   实用小工具   ·   1000 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 23:08 · PVG 07:08 · LAX 15:08 · JFK 18:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.