V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
kingcos
V2EX  ›  问与答

一门编程语言语言掌握到什么程度然后才学习另一门呢?

  •  
  •   kingcos · 2014-12-06 09:13:29 +08:00 via Android · 7702 次点击
    这是一个创建于 3437 天前的主题,其中的信息可能已经有所发展或是发生改变。
    原谅我问的问题十分低端,不过作为个初学者,还是希望见谅见谅啊。。。希望大家能够分享一些见解和经验吧。。。
    渣渣二本,软件工程专业
    只能说按照我们的教材,c语言学到了文件,链表什么的,但是自己感觉学的很不扎实,而且学校下周就要开始讲c++了。。。不知道这么跟着好不好。。。或者具体到每一门语言也行,总之经验统统说出来吧……

    ps编程新人。。。求不喷。。。教训就可以了。。。T^T
    第 1 条附言  ·  2014-12-06 10:40:21 +08:00
    感谢大家的回复,都会一一感谢的。
    现在在跟着mooc学数据结构和c,不过数据结构有些抽象,所以感觉难度有点大,准备买本教材看
    36 条回复    2015-02-25 10:11:39 +08:00
    zjxubinbin
        1
    zjxubinbin  
       2014-12-06 09:17:44 +08:00 via Android
    退学吧,别在大学浪费时间了.
    riaqn
        2
    riaqn  
       2014-12-06 09:26:44 +08:00
    楼上说退学的什么心态? 大学哪个不这样? 自己好好利用下时间不就行了?
    em70
        3
    em70  
       2014-12-06 09:27:02 +08:00 via Android   ❤️ 2
    老师如果程序写得好就不当老师了,别跟老师学。自学,然后大量实践,学了C就把数据结构里的经典算法自己实现了先。C++不一定要掌握,有兴趣主流语言都了解一下,玩自己最有兴趣的
    sandideas
        4
    sandideas  
       2014-12-06 09:27:32 +08:00 via Android   ❤️ 2
    用起来啊少年。。
    学着写软件,写着写着你就会了很多知识了,然后回头看看书就会发现原来是这样用的。。
    luoqeng
        5
    luoqeng  
       2014-12-06 09:29:34 +08:00   ❤️ 1
    Wilon
        6
    Wilon  
       2014-12-06 09:33:55 +08:00   ❤️ 1
    你不熟悉,是因为你没有用过,敲代码敲得不够,软件工程是工科,实践才是硬道理
    fishleen
        7
    fishleen  
       2014-12-06 09:45:03 +08:00   ❤️ 1
    我觉得v2ex应该增加没有帮助的选项。
    ===============
    我转到了CS发现他们的专业课程侧重并不是语言,而是解决问题的方式。
    =============
    关于C++
    其实大家都知道学校对于c++也只教一个皮毛,连stl都没有讲很深。但是深究C++的人会研究很多库,看开源软件的代码。C++就是那种学10年都不一定很精通的语言。一个学期再怎么讲都还只是皮毛,因为里面各种坑各种细节。至于C++的的开始,我推荐pongba的文章《你应当如何学习C++(以及编程)》http://blog.csdn.net/pongba/article/details/1611593。
    ===============
    从C到C++
    我是先学C再学C++。C++比C更加要复杂一些,但并不代表C的基础差C++也会很差。实际上我认为C++可以说比C丰富太多了,简直可以当成一门新的语言来学了。所以再次推荐pongba的文章和accelerated c++这本书。
    ================
    从C++到其他语言
    我想大概学校还是必须要教一门OO的语言,不然将来学生也不好混。但是OO的语言也不只C++,Java也可以,Python也可以。所以,还是选一门自己喜欢的吧。不过学好C++(至少要学会里面OO设计吧)再学Java或者Python就非常简单了。
    Bitex
        8
    Bitex  
       2014-12-06 10:05:24 +08:00   ❤️ 1
    同样是软件工程的渣渣在读生,给楼主分享一点建议吧。

    会自学的人才能上好大学,楼主买本C Primer Plus,C++ Primer Plus,Thinking in C++,把书啃完,例子敲完,就能秒杀周围所有人(甚至老师)。

    从C到C++,语法上没有难度,但是思想上有难度,如果依然按照C的风格来写C++程序,那么就完全没有必要学C++了。搞懂面向对象的思想,能用OO的思想分析和解决问题,那么只要学会一门OO语言(比如C++),其他所有OO语言都可以扫一眼语法直接开始写程序。(当然不同的OO语言在设计思想上也有不同,比如Java和Python,嘎嘎嘎嘎)

    如果楼主想把基础打牢,那么就把C和C++学到熟练吧,期间你会接触到数据结构和算法,挨个动手实现一下,没有动力的话还可以考虑去POJ、USACO什么的做做题:-)。如果楼主想快速入门、能做出成果,挑一门热门的语言做项目,搞搞Ruby on Rails啊,写个Android应用啊,遇到坑看书Google,久而久之能力就提升了。我水平太菜这段都是我瞎掰的。
    bugeye
        9
    bugeye  
       2014-12-06 10:24:17 +08:00   ❤️ 1
    C是必学的,C++和C没什么关系(C++除了可以勉强兼容C以外),玄而又玄的面对对象其实用不上,你可以先放放。

    最重要的是数据结构,离散数学,编译原理这些你毕业以后不会再研究的东西。
    想找工作,数据结构一定要极熟才好。

    语言方面 ,除了C以外,建议学下python和javascript这两种脚本语言,学了python,可以快速开发一些有意思的软件(学了C++,想开发有意思的软件的可能性比python小10倍吧,而大部分软件初期根本不需要C++的性能优势),而有意思的软件本身就是最好的学习刺激。再在github上积累一些人气,到时候好工作闭着眼睛也会找上你。

    学好C的时间如果是1的话(C有什么特别的难度?只有一个指针稍微复杂一点点,和C++那些眩目的语言特性比起来。。。),学好C++的时间至少是5。而学好以后,开发软件的速度还比不上python,为什么要干投入产出比如此之小的事情?省下来的时间,不如去恋爱。
    haofly
        10
    haofly  
       2014-12-06 10:29:12 +08:00   ❤️ 1
    同学,建议千万不要跟着老师的进度走,比如我一本计算机专业,都大三了,语言课才只上过C语言,老师的存在是为了教会大多数人相同的东西,而只有自学才能真正学到有用的东西,我认为你现在最应该做的是去认认真真自学并掌握一门语言(最好是面向对象的),这里所谓的掌握不仅是指懂语法,还要自己能使用它来完成自己的一个想法,比如能够使用它做一个软件或者做一个网站,等你真正掌握了一门语言过后,学其他的语言就不费吹灰之力了
    sectic
        11
    sectic  
       2014-12-06 10:44:19 +08:00   ❤️ 1
    @bugeye @ kingcos C真的难,嗯。
    http://daiyuwen.freeshell.org/gb/misc/21-days-cn.html
    同一范式的编程语言不难学,不同范式的编程语言挺难学的。
    min
        12
    min  
       2014-12-06 11:21:11 +08:00 via iPhone
    中文水平不高不妨碍另学英文的
    Earthman
        13
    Earthman  
       2014-12-06 11:36:59 +08:00
    @haofly 我们大一上就是C,大一下就是Java。C印象最深的是冒泡排序,老头(已退休,建校元老)弄了几个同学上去演示。Java弄了个“音乐播放器”,其实只能放wave格式,不过时间紧而且没入门,能用而已。
    444683462
        14
    444683462  
       2014-12-06 11:53:14 +08:00
    @zjxubinbin 主要是大学氛围让人很难学进去。我就是大一上就闪人了。
    kingcos
        15
    kingcos  
    OP
       2014-12-06 13:45:10 +08:00
    @em70 @sandideas @Wilon 嗯好的,要重实践。不过先写再看书么= =都不懂。。。怎么写呀。。。
    @fishleen 嗯,我就在想,怎么把学到的这些转化为思考的方法,我们学校大二可能就要开始教java了
    @Bitex 你推荐的那本c primer plus,我的是英文版,所以一直没有沉住心看,上面的例子的确很好,一起共勉!!
    @bugeye 嗯,这个月开始跟着mooc的数据结构,不过有些抽象,准备买本数据结构的书
    @haofly 嗯好的,会努力的,我们这届有个同学,自学C学了9年。。。真是跪了。。。他现在水平和我们学校的大二大三还要好吧,感觉压力好大>.< 我也要好好学~看了楼下的链接= =顿时无力了。。。
    @sectic 范式是什么额= =那要学到什么程度才好呢。。。
    @444683462 有这个勇气也很好的!
    xuwenmang
        16
    xuwenmang  
       2014-12-06 14:08:15 +08:00
    大二了,那么英语过六级最好。

    其他都不重要。。针对你有兴趣的,突击一下能学到许多。
    tb4649120073rs
        17
    tb4649120073rs  
       2014-12-06 14:23:55 +08:00
    你可以考虑选择和我一样,先放弃C++,一门C语言干到底
    说到底,除了语言,编程有很多其它值得投入的地方,可以轻松花光你大学四年的时光
    jimmy66
        18
    jimmy66  
       2014-12-06 14:30:37 +08:00
    老师如果程序写得好就不当老师了。。这话还真不能苟同,有些老师还是不错的(当然别指望是大神),关键还是自己自学,别完全跟着学校的进度走。。那个大多数时候只能应付一下考试。
    hpeng
        19
    hpeng  
       2014-12-06 14:43:07 +08:00
    语言这东西,自己挑的。挑自己用得舒服的,其他语言等你要用的时候,自然会去接触,去学,然后上手很快的,除非你是突然转去函数型,学校的东西只是给个学习方向,重要的还是自己学。我们大一学C++,后来选修java,现在用得多的也是java,建议啊,只是建议,把c++看烂用烂去,然后去掌握一门其他的,比如Python或者Ruby,不用特意去学哪门,多点写实际的,起码我自己是这样过来的
    yellowV2ex
        20
    yellowV2ex  
       2014-12-06 15:06:06 +08:00
    我觉得,如果你还有这个疑问,那么就还没到学另一门语言的时候,当然,老板让你学的除外
    sandideas
        21
    sandideas  
       2014-12-06 15:18:44 +08:00 via Android
    @kingcos 许多人都觉得必须内功扎实才能写出东西来。其实不是这样的,因为无数人都死在了修炼内功的路上。学了一年的c除了会在黑窗口写写个加减乘除什么都不会没人会有兴趣的。。其实可以不务正业一点的,学点Python,或者php之类的立竿见影的语言,看着自己几行代码把一整个网站的美女图片都爬下来心里也是很爽的。然后开个博客,分享一下代码心得,与人互动下你的信心才会爆棚。披荆斩棘太难了,顺流而下说不定会更快更轻松。
    好像有点偏题了,你说什么都不懂怎么学。。我前一段时间根本没接触过Linux,后来弄了个vps,各种折腾,Google什么的。现在也算是会在vps上搭个网站了。如果我去图书馆上面借本如何搭建网站。
    sandideas
        22
    sandideas  
       2014-12-06 15:20:27 +08:00 via Android
    @sandideas 或者Linux入门之类的书我估摸着我看不下去也永远学不会。。我也才大二,浅薄的经验。所以可能会有错的,但是走在路上总比观望强
    akira
        23
    akira  
       2014-12-06 16:09:00 +08:00
    自己想个软件需求,然后想办法做出来,进步最快了。
    当然了,课本上面的东西,都是基础,没事的时候多翻翻吧,不能丢的。
    zqhong
        24
    zqhong  
       2014-12-06 16:25:34 +08:00
    @sandideas 确实是得用。刚才用Python处理些数据,差点写不出来了。。。(一个月没碰
    zqhong
        25
    zqhong  
       2014-12-06 16:29:14 +08:00
    我也是建议学一些立竿见影的语言。并不用拘泥于多熟练怎样怎样吧。但是呢,千万别浅尝辄止。还有,多做笔记呀。去年学的c,你问我还记住什么,一年多没用了。还真记不住什么了
    zjxubinbin
        26
    zjxubinbin  
       2014-12-06 16:54:44 +08:00 via Android   ❤️ 1
    @riaqn 自己能够好好利用时间就更没有必要待在大学里边了
    tftk
        27
    tftk  
       2014-12-06 19:12:32 +08:00
    不要单一的想着学什么语言,多看书,
    多看些经典的书籍,sicp之类的,慢慢你就会发现那些
    “语言战”的圣士有多可爱。
    yunshansimon
        28
    yunshansimon  
       2014-12-06 23:23:56 +08:00 via iPad
    什么语言,编程思想之类的,都是因为现实需要才弄出来的,作为学习者,你如果不知道现实是什么,只能死记硬背规则。学了c,要用c解决一些实际问题,给自己用,不用考虑界面,哪怕最简单的命令行,输入参数,输出到屏幕就可以。比如,把校园网所有邮箱搜出来什么的。或者在屏幕上用星号组成任意文字。如果将来是应用编程,不建议深学c++。学好c,其他语言只是思路和数据组织不同而已,都可用c进行类比。
    fewspider
        29
    fewspider  
       2014-12-07 10:51:47 +08:00 via Android
    有空多看看别人写的代码
    zeroday
        30
    zeroday  
       2015-01-22 13:13:42 +08:00
    kingcos
        31
    kingcos  
    OP
       2015-01-22 14:12:39 +08:00 via Android
    @zeroday 额。。翁恺的没跟多久,因为在学校也学了,目前跟着学c程序设计精髓,还有数据结构,mooc学院也有好多。。。
    zeroday
        32
    zeroday  
       2015-01-22 15:05:54 +08:00
    @kingcos 也准备好好学一下数据结构,请问你看的是 陈越老师 的那个吗?
    kingcos
        33
    kingcos  
    OP
       2015-01-22 17:43:54 +08:00
    @zeroday 嗯呢,使得,他讲的很好,而且在讨论区回复很认真呢
    Reficul
        34
    Reficul  
       2015-02-25 01:29:36 +08:00 via Android
    @kingcos
    因为跨专业考研,专业课复试是数据结构。除了c和会折腾以外没啥别的基础。
    风评严蔚敏的书不太好,所以直接跟着mooc的课在敲代码。pat的例子要好久才能完成(刚刚敲完前缀表达式😩,没咋参考别人,大概要七八个钟头。。。。)
    刚刚无聊翻严蔚敏的书,感觉mooc的课程内容没书上详细啊😰因为身边没有小伙伴没有对比,我只身一人跨考的。想请教下认真跟着这个课,能大概学到什么程度。。。
    kingcos
        35
    kingcos  
    OP
       2015-02-25 10:05:52 +08:00 via iPhone
    @Reficul mooc 这种形式,好处在于免费,提供交流平台,弊端在于不能根据学生自身要求来开课,比如我有一部分基础怎么学?或者说我想学某门课但是没有,需要等他开课。所以我目前其实有点放弃mooc了。我目前才大一,寒假惰性太强,我还是照着书本敲,如果大部分人说书不好,应该还有人推荐别的书吧?你说能学到什么程度,这个很看人,而且要看mooc老师,陈越的数据结构讲的真的不错,但是我能听懂,做题就抓瞎了,所以可能开学我还想自己过一遍,如果你认真跟着课,做笔记,完成习题,绝对是有效果的,如果书详细,何妨不同时也参考书呢?或者再换一本?
    Reficul
        36
    Reficul  
       2015-02-25 10:11:39 +08:00 via Android
    @kingcos
    感谢回复。
    恩,我是买了两本准备对着看的。

    只是现在没有小伙伴,心里没底。做个PAT题目伤肾伤心,又没有小伙伴做参考,怕这个水平瞎了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2197 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:59 · PVG 09:59 · LAX 18:59 · JFK 21:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.