CS专业编程学习有哪些书籍推荐

计算机小白盲一枚,想要从零起步。。不知道方向,虽说多读书少看知乎,,可是我确实读书都不知道读什么书?方向都没有。。。。
先介绍一下个人背景,希望能引起提问者的共鸣,再介绍一下我的方法和看法。我自己从高中就是选的文科方向,很早就不学理科的东西了,数学也很差。大学选的是国际政治方向,但是从大学第一年结束开始就自学计算机,现在正在卡内基梅隆读计算机硕士,上一个暑假去谷歌总部实习了三个月,最近签了Airbnb,毕业后去做软件工程师。算起来我从输出第一个Hello world开始,这已经是第五个年头学习计算机了。刚开始的两年,我基本都靠自学,走了很多很多很多弯路,如果当时能有一个有相似背景,特别是自身连数理基础都很薄弱的人给我讲解一下学习的路径,我就能少走很多弯路,计算机基础想必也比现在扎实。没有良好的指导,导致到现在,即便我已经有能力直接进入业界工作,我依然有某些薄弱地方。--------------------------------------幸福的分割线------------------------------------------答主说从零起步,自学计算机,但是没有交代清楚自己的心态。心态有两种:第一种,是感觉一些计算机的东西特别厉害,比如为啥百度就能搜索东西,怎么写一个Windows操作系统,语音识别的技术感觉很厉害,想自己也做做看。这种心态,比较适合大量的上Coursera的课和看各种30天自制XXX系列书籍。Coursera上的计算机相关课程的内容都比较浅,适合基于兴趣的学习者。30天自制XXX系列书籍也比较适合快速出成果,过一把瘾。这方面我就不展开了。第二种,是想在计算机专业上有所发展,想在计算机或者互联网行业以技术人员的角色工作,甚至干出一番事业的心态。我主要分享一下基于第二种心态的科学的学习方法和过程。--------------------------------------幸福的分割线------------------------------------------首先,对于下面介绍的学习步骤,对于每一步,如果学校计算机专业有对应的课程,建议蹭课或者修一个双专业。学习内容的来源多样化是好事情。另外,如果能找到MIT/Stanford/CMU的对应的课程材料,建议跟课程材料而不是只看书。第一阶段Coursera/Udacity/Edx等MOOC网站上选择一门CS101的课程来上,好好的做编程作业。例如:这一阶段主要是初步了解计算机科学,看看是否有兴趣继续钻研。如果这一阶段如果你学不下去,大可以不必继续花时间自学了。cs101通常会有一系列小的编程作业,学完后至少能学会一种编程语言。第二阶段获得对计算机科学的一个初步认识之后,就可以开始学习计算机科学的初级基础知识了。我个人觉得这一阶段应该学习以下三门课/三个方向。对于每一项,列举的材料至少看一种,相互参照全部看最好。1. 初步理解计算机系统 (卡内基梅隆大学二年级学生专业课,精华在编程作业。所有作业都有本地测试代码,自己单独做没有问题) 上面那本书的英文版这个系列编程语言语言是C。内容涉及诸如计算机的数值表示,多线程和并发,基本的操作系统知识等等。2. 如何构建相对复杂的软件系统,面向对象和软件设计CMU MIT .........这方面东西也很多,找到一个相似的材料完整的过一遍即可。如果跟了我列举的这门课,需要学会用Java,跟完后可以学会设计模式,设计思想,面向对象等构建较大的软件的基本知识,已经积累大量的编程经验。3. 基本数据结构和初级算法例如: 这方面的书实在是太多了,你搜一下就有很多经典材料/课程的推荐了。我个人不建议现在就上手大名鼎鼎的 (英文版叫做&Introducation to Algorithms)。对于基础薄弱者来说,这东西不适合做导论。。即便它是Introduction.我觉得这三个部分是第二个步骤的全部了。同样,如果看着看着没了兴趣,不建议继续下一步了,不需要浪费时间继续自学了。但是,如果看着还是很有兴趣,但是有些地方理解的不透彻,没关系,这种情况还是可以跳到下一步的。计算机科学很多地方都是初级知识的重复或者变形,继续学习后面的知识,会不断涉及当前的基础知识的。学着学着就融会贯通了。第三阶段这一阶段开始学习计算机科学的高级基础知识了。对我来说,高级基础知识只有两块,操作系统(Operating Systems)和算法和高级数据结构(Algorithms and Advanced Data Structure).操作系统,可以跟MIT的操作系统课: 跟完之后可以写出一个能跑的小kernel。算法和高级数据结构:首选MIT 同样,这两个领域的材料很多,善用搜索引擎去找。第四阶段这一阶段内容非常的多,都是计算机科学或者软件工程的不同专业方向(Domain Knowledge)。 我这里指的都是入门/导论级别的知识 数据库应用网络应用开发手机应用开发计算机网络并行计算机器学习/数据挖掘/人工智能搜索引擎自然语言处理计算机安全编译器分布式系统.........这里东西很多了,建议选择3到5个领域,寻找合适的材料去学习。太多了我就不罗列了,真有需要可以私信我。任何人完成了前四个阶段,我个人认为就已经至少具备了计算机专业本科生(CS Major)的平均水平。 真正的计算机专业学生上的课比上面的我说的多,但是很多并不是必须的,并不影响进入业界工作。第五阶段这一阶段可以系统性,深入的的学习各种领域的东西了,例如如何实现一个严肃的关系型数据库?(Advanced Database Systems)分布式领域的经典理论,问题和挑战有哪些?(Advanced Distributed Systems)常见大数据系统的优劣?(Big Data Systems)编译器如何优化?(Compiler)如何实现一个严肃的操作系统?(Operating Systems)容错的分布式系统 (Fault-tolerant Distributed Systems)各种机器学习 (Machine Learning for Text Mining, Multimedia Machine Learning, Scalable Machine Learning, etc.)存储系统 (Storage Systems)信息检索 (Information Retrieval).........这一阶段适合去读一个计算机硕士/博士,或者在业界积累一定的工作经验后进行研究,材料也是有很多,欢迎私信交流。--------------------------------------幸福的分割线------------------------------------------当时我开始自学的时候,举步维艰。自身基础实在是太薄弱了,也以为学习计算机科学就是学习编程语言。花了太多的时间一本一本的看C/C++/JAVA/Python的书籍,浪费了大量的时间。手头还有很多事情要做,但是看到这个问题情不自禁的停下来,花了一个多小时来写。主要就是希望能帮助提问者或者需要这方面经验的人。非科班的人学习计算机专业比较艰难,一方面要应付当前的专业/工作,一方面又缺乏氛围,环境和资源,比较容易半途而废。也许提问者自己最后也会不了了之,但是如果有人看了我的答案,真的获得了帮助,坚持下来,我的付出也就没有白费。当初起步的时候,太艰难了。
这种问题知乎上一堆一堆的,学会搜索信息是你成为程序员的第一步&br&&img src=&/3c2a5a8a5fdbd34_b.png& data-rawwidth=&714& data-rawheight=&564& class=&origin_image zh-lightbox-thumb& width=&714& data-original=&/3c2a5a8a5fdbd34_r.png&&&br&给你随便贴几个&br&&a href=&/topic//top-answers& class=&internal&&编程学习 - 话题精华&/a&&br&&a href=&/question/& class=&internal&&你是如何自学 Python 的? - 调查类问题&/a&&br&&a href=&/question/& class=&internal&&对你影响最深的编程书籍是哪一本? - 程序员&/a&&br&&a href=&/question/& class=&internal&&适合程序员阅读的书籍有哪些推荐? - 调查类问题&/a&&br&&br&如果没有任何编程经验,就去学python吧&br&&a href=&/topic/& class=&internal&&Python 入门 - 话题精华&/a&&br&选任何一本大家推荐的书都可以,并没有哪本入门书最好,每个人眼里“最好”的书都不一样;&br&认真刷完它,包括内容和作业。&br&&br&你是来求答案的,OK&br&&br&=======================================&br&这是我的答案。&br&&br&Step0 &a href=&///?target=https%3A///learn/python& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python | Codecademy&i class=&icon-external&&&/i&&/a& 去这里把python的部分刷完,十几个小时就搞定,啊,你说全是英语咋整,那你可以不用学编程了,&br&Step1 去网上下一本《python核心编程(第二版)》,从第一章开始看,每道题认真做,不会做咋整,思考,努力的思考,想不出来,OK,去Google一下(Google,Not Baidu)&br&每一章都看完,别看完第一章就完事儿。&br&Step2 如果你能认真完成前两部,不打折扣,OK,你已经编程入门了,已经超过很多大学计算机系的孩子的编程Level了。&br&&br&你说为啥不学C,C++,Java,到底哪个好?&br&嗯,别浪费生命纠结学啥,就是干,立马干,现在去注册&a href=&///?target=https%3A///learn/python& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python | Codecademy&i class=&icon-external&&&/i&&/a&,等你入了门,再去考虑别的。&br&&br&假如问怎么编程入门的有100人,可能会去动手干的有50人,坚持刷完Codecademy的有10人,能完整走完前两步的或许只有一个人。&br&&br&共勉。
这种问题知乎上一堆一堆的,学会搜索信息是你成为程序员的第一步 给你随便贴几个
如果没有任何编程…
在说咋自学之前先强调一点:&b&趁早找一个学长或导师之类的人带一带,书读万卷不如高人指路。&/b&&br&
在开始学之前,首先要选择一个方向。&br&
想要选择一个&b&适合你的方向&/b&,你就需要先去了解都有哪些可选。前端、后台、Android、IOS、计算机视觉......(关键词多到我列不完) 你可以百度,可以google,可以问各种前辈,总之要大概了解多个方向的大概情况。然后你可以在其中选择一个最适合你的,记住,是选择最适合你的,先别过多的考虑工资待遇神马的。坦诚地说,如果你只是为了工资而选择计算机领域,你很难坚持下去,即使坚持下去了,也很难有大的发展。别太期望第一步就选中那个最最适合的,因为这不仅需要你对自己有足够的了解,而且需要你有广阔的视野,后者需要你在这个领域混迹很长时间才能有。&br&
选择完方向了,那接下来就是&b&获取信息并学习&/b&了(插一句,获取信息绝逼是一件考验能力的事)。你可以买书,你可以看博客,你可以......反正渠道很多。刚接触的时候你可能没法判断一本书的水平如何,那我就告诉你一个简单粗暴的方法:&b&书挑厚的买&/b&。对于其它的渠道我就不细说了,你自己看着玩吧。&br&
然后就到重头戏了:&b&实践,实践,实践&/b&(重要的事说三遍)。既然选择了计算机领域,有一件事你必须知道,那就是仅仅抱着书本学,很难成为高手,甚至有的时候入门都难。所以,你要想办法&b&找项目,找项目,找项目&/b&。在这件事上,不同的人有不同的渠道。有的是找到了手头有项目的老师,有的是朋友介绍来的项目,有的是自己设计的项目,有的是参加了有项目的团队......至于具体怎么做,看你智慧了。
在说咋自学之前先强调一点:趁早找一个学长或导师之类的人带一带,书读万卷不如高人指路。 在开始学之前,首先要选择一个方向。 想要选择一个适合你的方向,你就需要先去了解都有哪些可选。前端、后台、Android、IOS、计算机视觉......(关键词多到我列不完)…
已有帐号?
无法登录?
社交帐号登录
This guy is lazy. He says nothing.有哪些翻译得不错的编程书籍?
来源:互联网
【现在买的多数书籍都是机械工业的翻译本,有些的翻译确实是有点烂,而且有错误。 想请问下有哪些翻译得不错的编程书籍?(人文类和技术类) 而有哪些书翻译得太烂,适合买原版看? 镜像问题 http://www. /question/】
这个问题实在难答,因为我多数都是看原版的,但又曾业余翻译了一本编程相关的作品。如果你阅读原文的速度和理解程度与译本无大分别,而价格亦不是考虑因素的话(很多时候原作的美元价格接近译作的人民币价格),当然是阅读原文了。即使是本人的译作,我也会作出同样的建议。题目所指的「编程书籍」范围比较大,我就不列具体书籍了。以下只提供一些经验法则。对于技术性的书籍,读者可以先了解一下译者是否从事该领域的工作,有什么相关经验,是否亲自翻译。译者数量太多的作品,比较大机会出现前后不同风格、水平差异等问题。如果译作在原作推出后非常短时间内推出,那么有两个可能,一是译者能干及勤奋,一是品质可能有问题。当然,像我这样花几年时间去译一本书的,主要就是不够能干及勤奋,品质也不一定好。另外也可以看看作者、译者有没有提供勘误表,并在之后的印刷来修正。没有勘误表可能是真的没有错误,或是销量太差没有反馈、或是读者不原意反馈、或是出版社/作者/译者不重视。当然有太多错误也不是很理想(如本人拙作),不过至少是有读者愿意反馈并且出版社/作者/译者重视这些反馈。最后,要注意,原文/译文也是会有出错的可能,也有写/译得烂的可能。建议购书前先去看看美国amazon及豆瓣上的评价。并在阅后给予评价及建议,供其他读者及作者、译者等参考。
Filestorm:
《深入理解计算机系统》译者之一雷迎春老师人很好。当年读这书的时候还和他邮件交流过一些勘误和我不太懂的地方。
看译者,侯捷、裘宗燕、陈硕、熊节、李剑、黄健宏的书大都翻译很好,术语的把握/文意的传达俱佳。
Jasin Yip:
图灵程序设计系列丛书那些翻译的就不错
深入理解计算机系统(csapp),中文版读起来特别流畅算法(第四版)在技术书里算是翻译好的裘宗燕老师翻译的书准确是准确,但我读起来还是有点拗口,比如计算机程序的构造与解释,c++程序设计语言,程序设计实践,在当下翻译如此,已经很难得了非技术类觉得算是标杆的是集异璧,能看出翻译真是下了一番大功夫翻译得不好得就不说了...以上均没读过原版
曾经兼职帮学校出版社翻译过技术类书籍和教材(嗯是的我现在是程序猿)作为参与者,我的忠告是:去看原版书吧。如果英语水平不够好,你可以原版和翻译版对照着看。中国技术类翻译书籍的参与者,要么中文不过关,要么英文不过关,都过关了没准技术还不过关不能明白作者的观点。而且技术类书籍很多走在技术前沿的内容,可能在中文里没有合适的对应翻译。再其次技术类书籍中不会出现太难的词汇,毕竟写这本书的目的是为了把一门技术讲明白。如果英语水平完全不够,一句都读不懂,那建议你先学英语吧。不是抖机灵,想编程或者搞技术的话英语算是基本功吧。
这本神书都没人推荐吗…虽然那严格意义上说不是CS的书…但是『黑客与画家』都有人推荐了…
侯捷的书 潘爱民的书....陈硕的书
推荐《编程珠玑》,很薄,很重
”编程书籍“的定义确实太过广泛,要推荐起来确实不容易。不过像我这种”崇洋媚外“的读者还是有一些经验跟题主分享的:1、尽量读外国作者的书。首先要明确任何一本书只要被印成铅字必然是受到了很多人的认可,所以当一本书被翻译成另外一种语言的前提就是在这本书在其母语国家已经获得了广泛的认可。这种书一般值得一读,目前这一准则仍然有效。2、选好书的标准2.1、尽量读知名译者的书,至少是已经翻译过多本类似书籍译者的书。很遗憾科技界的知名译者很少。侯捷早就不译书了,听说他年事已高眼睛也不好。阮一峰没见过翻译纯技术类的,《黑客与画家》译得很好,也推荐题主看,不过这只是一本科普类的书。更多的例子我就不举了,所以自然退而求其次,去读那些已经译过多本类似书籍的译者,一般质量还是可以保证的。2.2、尽量读专业出版社的书。私认为中国计算机类专业的出版社不多,而且能保证质量一致性的出版社更少,上海译丛很好,可惜他专攻文学类书籍。目前题主能买到的出版社包括"人民邮电出版社",”电子工业出版社“,”机械工业出版社“这三家理工科类的出版社(不要跟我提”清华大学出版社“,它出的不是教材么?我说的是书!另外这个排名有先后...),恰好有三个丛书与之对应,”图灵教育“,”博文视点“,”计算机科学系列丛书“(注意这个排名也分先后)。一般图灵教育出版的书主要是技术类的居多,质量大多都不错,数量也很多,翻译的一般都过得去(不影响原意,但是优美就别想了),推荐他第一主要是他品种多,因为要符合大众胃口也不太容易。”博文视点“类似一个文化传播公司,他出的书都是科普,少有纯技术类的,而且数量较少,但质量上乘,如果你要买的书恰好是其出的,我觉得可以由于的余地不多,上哪找这么良心的出版社。最后的最后我要黑”机械工业出版社”的“计算机科学系列丛书“,这么烂的系列,这么烂的译者(被误伤的别怪我,怪选错了出版社),我不管译者是大学教授还是谁,我就是要说它烂,这个出版社毁了多少经典。每当你喜出望外的发现一般好的原作,然后找到了中译版,机械工业出版社出的,翻了第一章就不想看了。这感觉大家能懂吗,就好象我一直是《最终幻想》系列的粉丝,但是当我知道《FF14》的代理是”盛大“,所以一直都没敢玩...所以珍爱生命远离”机械工业出版社“2.3、看亚马逊和豆瓣的评论。尤其要注意读者对于翻译的评价。一般来讲大家都不是傻子,翻译质量的好坏会出现明确的共识。如果一面倒的恶评,那就不要买了。如果一面倒的好评,果断拿下。如果是中庸的评价,一般是大家不太好意思说这本书不好,所以此时要慎重。如果能选择替代的好书固然是好事,如果选择很少,可以通过下一节的排除法来去掉不合格选择,最终做埋还是不买的决定。3、剔除烂书的标准。一般烂书(尤其是翻译)有明确的特点,拥有这些特点的书一般比较烂:一面倒的恶评。这种情况就不说了,大家都不是傻子。两极分化的评论。有人赞有人黑,这就比较难,尤其是一些入门类书籍,一般赞的人是初学者,黑的人是高手。不同的人对同一本书的心理预期不一样,所以产生了两极分化的评价。翻译同样如此,新手往往看不出来翻译的问题,因为这种书的译者很聪明,他们把原文的话理解之后在表达出来,由于中文水平较高,语句非常通顺优美。但只有通顺优美是不够的,翻译第一要务是准确。难保这名译者理解有限,将原文缪译了,新手读者根本无法分辨,这种情况下群众的眼睛往往不是雪亮的。所以针对这种情况,我的方法是”一票否决制“,即只要有一条评论”有理有据“的提出了翻译问题我就不会买这本书,当然胡乱黑的不算,要有理有据。多译者。超过一名以上译者的书要格外小心,因为不同人的理解难免有差别,多译者采用众包方式译书经常会产生章节之间不一致的情况,这种书读着就憋屈。一般如果一本有3名(含3名)译者以上的书我不会买,甚至不会去看简介。两名译者的情况,有的时候并不是分译两部分,而是一个是主力翻译,另外一个提供的技术指导和校对。如果在译者序里明确说到了两名译者的关系,也是可以接受的。过厚和过薄的译书。首先出书就应该尽量避免书过厚和过薄,一般的书不都书2-3百页,为什么出那么奇怪的页数的书。过厚的书通常会出现翻译质量大幅度变化的情况,多见于各种编程语言或工具的手册级别书。也能理解,这种书的译者翻译到后来疲劳了,催稿又急,已经拖了2年了,小孩都会打酱油了,这结婚前接的书稿赶紧对付一下吧。一般这种书还是要去实体书店确认的,可以从后几章开始看起,自行判断。过薄的书,100页左右的书尤其适合给新手翻译练手,而且出版社也大多这么干,如果在书店看到这样的书,译者序上写着”这是我第一次翻译书,如有错误还请多多指正“,就把书放回去吧。这种诚实的谦虚,虽然是美德,但往往是不自信的表现,往往水平也一般。====================去吃饭了,想到新的再补充...
PhoenixGo:
李建忠翻的.net framework框架,第一版
侯捷翻译的《effective C++》《more effective C++》
zhijun liu:
人文类的有:《黑客与画家》译者:阮一峰翻译质量非常高,业界一致好评,他是计算机业余爱好者《重来》译者:李瑜偲中信出版社出版的书质量都比较高还有一本配套的书叫《remote》《软件随想录》译者:阮一峰
数学书倒是有几本译文比原版好的。编程书一般没啥难度,看哪个都差不多,英文还凑合就看原版吧
《软件加密与解密》
田春翻译的Practical Common Lisp和On Lisp质量不错。
我背包里有一本 think in c++让我放弃了看工程类书一定要看英语原版的想法 计划先看这版中文版书 后续再看看电子档PDF。注本人英语需要电子词典才能读专业书籍的水平
草地上的怪蜀黍:
O'Reilly系列的书,翻译都比较有质量,但与原文还是多少有一些出入。其它的不敢说,我曾经看过一本SCJP的中文书,翻译烂到家,意思颠倒的情况到处都是,后来看了下译者:博士生导师。不用说,肯定是让学生代劳了。至此看技术类的书只看原版,实在怕被坑。
免责声明:本站部分内容、图片、文字、视频等来自于互联网,仅供大家学习与交流。相关内容如涉嫌侵犯您的知识产权或其他合法权益,请向本站发送有效通知,我们会及时处理。反馈邮箱&&&&。
学生服务号
在线咨询,奖学金返现,名师点评,等你来互动一个新手想请教一些如何学习编程的问题 | Hello world!小组 | 果壳网 科技有意思
126875人加入此小组
我的属性1.要上大一的工科学生(通信工程)。2.编程基础等于03.英语水平不能够阅读原版书。由于大一的时候有C语言这个课程,所以我想学习的语言是C。我希望把编程作为一种个人能力而不仅仅是应试手段。所以,我恳请各位高手:推荐有助于学习C的书(s)。(如果是一系列书的话能否提供学习的顺序)网上有人喷谭浩强的书,但我看不懂他们喷的是什么。有高手觉得这本书用来入门不错吗?谢谢。
+ 加入我的果篮
软件工程师,小众软件爱好者
谭浩强的书完全是给门外汉看的....都是最最基础的内容. 而且也完全不值得学上一个学期.
软件工程师,小众软件爱好者
感觉看看VC++之类的比上课学的那些有用.
引用nasdaq的回应:谭浩强的书完全是给门外汉看的....都是最最基础的内容. 而且也完全不值得学上一个学期.那您觉得啥书比较好?我觉得我理解能力还算不差。
数学/化学爱好者
我推荐这本:How to Think Like a Computer Scientist: Learning with Python唔 python……
软件工程师,小众软件爱好者
我不是搞C的啊. 不好推荐.LS坑爹
米有看过谭浩强的书,所以也不好说什么。据说K&R的The C Programming Language不错,有中文版。学习路线或许可以参考一下国外大学的CS课程。
C#程序设计师
感觉老外那些红壳子的一个系列都挺好的
C语言用 谭浩强 的书入门是很不错的选择!我当初就是看这本书入门的 要想做一个带有窗口的应用程序就不知道咋弄了当初百度了好久,也没什么头绪。然后转去学C++了,说实话C++很强悍学的越多发现里面的东西浩如烟海,然后也没有摸出什么头绪。可能是自学的缘故吧,没人指导学起来没一个系统的过程。后来又去学java了。关于C语言的书也就是网上大家说的那些,想学好的话,还是要多写代码,多练习。还要牢记一些常用、让你觉得巧妙神奇的一些代码。还有就是有老师比没老师学起来要容易些!干嘛不问问学校的老师呢?
看到某位大侠推荐的书六本书去看看吧
直接学C++吧,C不学也可以,不然到头来反而不习惯。至于书,找一本不算太差的先入门,谭浩强的排版太差,容易让人养成不良的代码风格(要知道良好的代码风格很重要的),推荐《C++入门经典》,详细而且不难,书如其名,等到自己差不多了能编出个像样的程序来了,可以继续《C++Primer》,俗称红宝书,里面的内容相对深刻,但很实用。重要的是掌握编程的思想,培养自己的逻辑思维。其次,不要在编译器上面太纠结,什么我到底用VC6还是VC2005还是VC2008还是BCB云云……编译器只是编译器,他把你的代码翻译成机器语言并声称可执行程序。初学的时候没必要太深入编译器去研究。掌握语法和思想很重要。现在大学里面C基本都用Turbo C,这还好说,不过C++还有用VC6就太那啥了,VC6对C++的标准支持的并不是太好。也许有人认为这是小事,但要想成为一个真正出色的程序员,这些都是必要的知识。刚开始都是控制台界面的程序,如果你像编写图形界面的 win32/64平台下运行的程序 建议使用C++ builder,它可以帮助你省去不少花在图形界面设计上的时间。还有,做好时刻学习新知识的准备,书本上的远远不够,从语言本身,到数据结构,再到操作系统,具体项目中又会遇到各种各样的东西。反正程序员要了解各方面的知识,而且知识更新太快了,不要指望一下子就掌握他们,要循序渐进,需要什么就学什么,多利用网络资源,CSDN是个不错的地方。你会发现,任何一个小的问题都足够研究好一阵子,不过这也正是编程的乐趣所在。祝楼主学有成!
入门不推荐看VC++,VC和C语言是两码事。K&R的《c程序设计语言》不错,原书名是The C programming Language。“谭浩强的书是给门外汉看的”这种说法不敢苟同,国内的教材一个值得肯定的地方是脉络比较清晰,适合入门。可以先看谭浩强的书,K&R辅之
C#程序设计师
国产编程书不推荐,系统化太差,
软件工程师,小众软件爱好者
引用forak的回应:入门不推荐看VC++,VC和C语言是两码事。K&R的《c程序设计语言》不错,原书名是The C programming Language。“谭浩强的书是给门外汉看的”这种说法不敢苟同,国内的教材一个值得肯定的地方是脉络比较清晰,适合入门。可以先看谭浩强的书,K&R辅之我觉得就实用性来说,LZ还是学VC++更有用处. 单纯学C不学C++的人应该不多吧...个人觉得学完谭浩强的书不算入门.只算在门外往里看了一眼
作为参考,LZ可以看看:
工程热物理硕士生,DIY爱好者
去报个二级考试呗……这样你就有动力每天啃C++的书了……
引用nasdaq的回应:我觉得就实用性来说,LZ还是学VC++更有用处.单纯学C不学C++的人应该不多吧...个人觉得学完谭浩强的书不算入门.只算在门外往里看了一眼我从谷歌上了解,通信工程似乎更依赖于c(底层偏硬件?还是嵌入式开发?),所以我想从c学起。我想如果进一步了解了一门计算机语言,那么理解别的语言应该会相对轻松一点。。(个人主观臆测)谢谢各位。
引用ho.imbalance的回应:作为参考,LZ可以看看:漫谈C语言及如何学习C语言如何学好C语言THX very much
软件工程师,小众软件爱好者
引用Pale的回应:我从谷歌上了解,通信工程似乎更依赖于c(底层偏硬件?还是嵌入式开发?),所以我想从c学起。如果是想做嵌入式用的话确实是C,汇编,Verilog较多. 但是主要还要了解单片机指令集神马的.引用Pale的回应:我想如果进一步了解了一门计算机语言,那么理解别的语言应该会相对轻松一点。。(个人主观臆测)谢谢各位。如果不是一个方向的应用,理解起来估计也不会轻松多少.比如嵌入式和Web应用开发,里面差别就很大.
软件工程师,小众软件爱好者
PS: 想搞好嵌入式记得多泡实验室.....
.net/网络工程师,电子商务师
嵌入式和Web应用开发,这个差别是够大的。不过若是用.net平台的话,差异性可以减小到可接受的程度。除了糟糕的启动速度和平台自身的bug,想做RAD的话.net平台不错。引用nasdaq的回应:如果是想做嵌入式用的话确实是C,汇编,Verilog较多. 但是主要还要了解单片机指令集神马的.如果不是一个方向的应用,理解起来估计也不会轻松多少.比如嵌入式和Web应用开发,里面差别就很大.
推荐吴文虎的《程序设计基础》,红色的。前一阵才知道谭浩强还写了C++的书,反正不要买就是了。
Verilog就算了好吧,人家属于硬件的范畴了。基本上你跟着学校的进度走就行了,但是真的希望学到东西的话,在跟着学校进度的同时务必要把他们在书本上的东西都吃透(工作量巨大),现在学校开课的话基本上跟专业沾边的都会开,广度有但深度不够,所以不用担心入门的问题。接下来自学的过程中,建议去新华书店买正版书看,机械工业出版社或者人邮出版社的系列书籍都不错。至于买正版的原因,淘宝有高仿很便宜,但是没割肉没动力看……引用nasdaq的回应:如果是想做嵌入式用的话确实是C,汇编,Verilog较多. 但是主要还要了解单片机指令集神马的.如果不是一个方向的应用,理解起来估计也不会轻松多少.比如嵌入式和Web应用开发,里面差别就很大.
如果希望把编程作为一种个人能力而不仅仅是应试手段,那在大学阶段,不管你学的是哪种语言,高数要学好,数据结构要学好,离散数学要学好……以上是我家那只程序员的切身体会。
引用Moonsinger的回应:如果希望把编程作为一种个人能力而不仅仅是应试手段,那在大学阶段,不管你学的是哪种语言,高数要学好,数据结构要学好,离散数学要学好……以上是我家那只程序员的切身体会。说的有道理,还有更深层次的算法基础等等,高数和离散应该是必备的,只要是理工科就应该学好。当然作为扩展,可以学学加密、安全等方面的内容。
引用nasdaq的回应:我觉得就实用性来说,LZ还是学VC++更有用处.单纯学C不学C++的人应该不多吧...个人觉得学完谭浩强的书不算入门.只算在门外往里看了一眼我学编程是从Pascal开始的,花了我不少时间来逐步熟悉;后来花了几天在C语言“门口看了一眼”,上大学前只会写控制台程序;再后来因为应用的需要花了几个小时在MFC的“门口看了一眼”。窃以为VC并不是什么艰深的东西,毕竟它只是个工具,跟word一个性质,不过就像使用word必须先学会打字一样,要掌握一种开发工具必须得熟悉一门语言——这就是我所理解的“入门”。以我粗鄙的认识和浅薄的经验来看,VC不过是调调API、拖拖控件补补代码,熟练掌握一门语言之后会使用它是触类旁通水到渠成的事情。以前图像处理大作业要求用VC做一些算法仿真,老师都不屑于介绍VC怎么使用,一句话:自己去学。我不知道你指的“入门”是个什么概念、和我的理解有多大出入。如果你是指能深入解剖VC的底层代码、逆向这个软件或者独立设计一个类似MFC的框架才算是入了门的话,我确实还停留在“只在门口看了一眼”的水平,而且我估计九成以上靠VC混饭吃的程序员也“只在门口看了一眼”。
谢谢各位。
生物信息学硕士生
学习编程不在于看多少书,而在于自己动手编写多少代码。楼主上这门课有教材吧?就用你们的教材就够了。平时就是自己给自己出题,或者想一些比较有意思的算法题(网上也有很多),自己动手写。遇到问题学会到网上查资料、到论坛里和别人讨论或者查该门语言的原始英文文档。国内很多所谓的编程语言教程大多翻译自这些文档,而且翻译的要不就是断章取义,要不就是完全曲解,有些专业术语也是东拼西凑,让人摸不着头脑。所以非要买书的话请尽量买原版(影印版)。如果你觉得自己英语水平不够,那更应该通过看原版书来强化训练了,而不是去逃避,英语好你会发现对于从事IT行业来说是种很明显的优势。另外谭浩强那本书确实言过其实。我不是高手,能提供的建议就这些了。
对新手来说c语言的书哪本都差不多,我工作中有时也会当工具书翻出来查一下楼上说的对,动手写代码才是最重要的。书是当你不会写代码时去翻的。
软件工程师
算法才是王道啊
引用wheeler的回应:算法才是王道啊算法只是比较有研究头而已,实际工作中除非你是专门做这块的,一般应用软件用不到多少算法,在高级能力上更需要的是软件工程和软件架构的知识。
软件工程师
给软件一点灵魂吧。 一点算法都不玩的话。 码农就真是码农了。。。引用凉薯的回应:算法只是比较有研究头而已,实际工作中除非你是专门做这块的,一般应用软件用不到多少算法,在高级能力上更需要的是软件工程和软件架构的知识。
c++primer,看看这个
我来补充点海外大学CS起步的经验吧。。。我们基础课三门,第一门python(原来是用scheme的),主要讲编程基础和语言;第二门java,主要讲数据结构和算法;第三门C和汇编,主要讲系统和底层。个人感觉和国内搞CS的同学们相比,这样走得更容易一些,比起一开始就啃C或者C++,python的确容易上手,而且可以让人专心在程序思路而不是代码上。课程内容由浅入深,互有交叉。当时我有国内同学和我说老师上来就教汇编。。。我觉得是疯了,不知各位国内的大牛们怎么看。动手必然重要的,我们每门课每周一个实验(相当于上机)一个作业;一学期还有三到四个大的project,题目都很有意思,比如计算机下棋,tweet数据分析,游戏之类,几个人在一起做也锻炼团队合作能力。至于书的话,谭浩强的书我自学的时候看过,觉得挺枯燥的,后来到大学看教授选的课本觉得比那个好多了。。。我很不喜欢把语言和CS理论混在一起讲,尽管最后两者会结合,但是反复切换真的很容易乱。。。语言和思路就是写字和构思的关系,不会构思,字写得再好也白搭。另外关于英语的事。。。这个确实得抓,LZ现在就开始发力吧,英语在IT界太重要了,很多概念中文是说不太清的,很多好的文档之类也没有中文版。
(C)2016果壳网&&&&京ICP证100430号&&&&京网文[-239号&&&&新出发京零字东150005号}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信