⑴ 如何成为编程高手,程序员要看什么样的书籍,有经验的人说一声,做好是大师级别的人物
作者:金蝶中间件公司CTO袁红岗
不知不觉做软件已经做了十年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差的太远。世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。
1. 扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。
2. 丰富的想象力。不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想象力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。另外,多看科幻电影也是一个很好的途径。
3. 最简单的是最好的。这也许是所有科学都遵循的一条准则,如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。
4. 不钻牛角尖。当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,而且是那种极暴力的打斗类游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。
5. 对答案的渴求。人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。
6. 多与别人交流。三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。
7. 良好的编程风格。注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。
8. 韧性和毅力。这也许是"高手"和一般程序员最大的区别。A good programming is 99 weat and 1ffee。高手们并不是天才,他们是在无数个日日夜夜中磨练出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。
⑵ 软件开发工作人员必读的书籍有哪些,特别是刚刚工作的
1
“优秀的编程实践的网络全书,《代码大全》注重个人技术,其中所有东西加起来, 就是我们本能所说的“编写整洁的代码”。这本书有50页在谈论代码布局。”
—— Joel Spolsky
推荐指数:★★★★
《代码大全》教你如何正确编程; 《人月神话》教你如何正确管理; 《设计模式》教你如何正确设计......
在我看来,代码只是一个工具,并非精髓。 开发软件的主要部分是创建新算法或重新实现现有算法,其他部分则像重新组装乐高砖块或创建“管理”层。
经典的算法书,被亚马逊网,《程序员》等评选为2006年最受读者喜爱的十大IT图书之一。
算法领域的标准教材,全球多所知名大学选用
MIT名师联手铸就,被誉为“ 计算机算法的圣经 ”
编写上采用了“五个一”,即一章介绍、一个算法、一种设计技术、一个应用领域和一个相关话题。
书籍资源:wechat—“上云培训”
⑶ 编程学习必看的书
首先说一说进入计算机专业的目的,我个人是因为十分喜欢IT业,很喜欢折腾电脑,所以在填报志愿是毫不犹豫的在报了的所有的学校都填写的计算机专业,梦想着进入计算机专业后能遇见很多高手,能交到几个知己,谁之进来后却大失所望。计算机专业的学生有很多以前对计算机不怎么了解,而且还有部分人进大学前连计算机摸都没摸过,对计算机很熟悉的很少,高手更是凤毛麟角,大多数人是服从了父母之命,显而易见,目前社会最热的行业是IT业,工资最高的也是IT业,抱着这个因素,大多数考生的父母都让自己的孩子进入了计算机专业,而大多数学生也天真的认为从计算机专业毕业后就能够像电视里演的大多数白领一样每天只用坐在办公室里和同事们聊聊天,和老板吃吃饭,每天签几个字然后就有高工资等着你去拿。
进校后他们发现其实他们在专业课方面什么都听不懂,自己也一点兴趣都没有,没有兴趣那就没有学习的动力,而且这个专业是要靠悟性的,而兴趣是培养悟性的第一步,然后他们会发现越往后学专业课越难,也越听不懂,好一点的就会狠下心来,硬着头皮苦学一通,有可能也就能走出一片路来,而不好的就会就此放弃,只需要混着考试通过,混毕业,找个单位安心上班。有些人上了几年学连自己上哪些课都不知道;拿个程序他分不清是用C语言写的还是用PASCAL写的;不小心进了DOS不知道怎么再回到WINDOWS。但说起游戏来头头是道,好像每个都是职业玩家一样,有的每天只知道泡在网吧。这就是中国计算机人才下一代的悲哀!
再说现在计算机专业大学生的学习和生活。大多数计算机专业的学生对本专业的发展及前景一无所知,每天都是看小说、玩游戏、看电影、打牌、喝酒、睡觉等等很有"前途"的事情。偶尔看见一两个同学看看与计算机专业有关的书,跑去拿来一看,全是什么"游戏攻略"、"黑客秘技"等此类书籍。还有的人连C语言和C++谁是谁都还没搞清楚,就拿本VC的书"刻苦钻研",真不知他们看懂了没有。好多学生都买了电脑,但用处都是游戏机+碟机+音响,每天都在用电脑玩着各种流行的游戏、看着最新的大片、听着时尚的音乐,就是不用电脑学习。有的学生甚至问我电脑除了玩游戏还能干什么,我问他你为什么这么问,他告诉我他觉得电脑只能用来玩游戏,不知道还能不能干干别的什么。据我了解,近几年在国内好几所高校的计算机专业的毕业生的毕业设计竟然是做网页,在大学了四年,学完了《数据结构》、《软件工程》、《C语言》等专业课后,竟然交了一个没有学过计算机的人自学一两天就能做好的东西!
这就是大多数计算机专业的学生,在我在大学玩了两年之后,我突然明白该为自己的未来打算打算了,但还有许多人仍然还什么都不明白,所以就有了这篇文章。
如果你是以上我说的那种受父母之命来学计算机的学生,如果你看了《计算机应用文摘》第15期的《写给想当程序员的朋友》一文后,发现自己没有当程序员的欲望,那么我这里有几条路给你选择:
1、网页制作,将来去网站工作!
2、学习3D MAX等软件,去作动画!
3、学习美术设计!
4、网络,将来考个CCNA,去专业组网!
5、在保证能顺利毕业的前提下,去疯狂玩游戏,做个职业玩家或做一个或几个网络游戏的GM。(我身边就有这样的人)
6、以上五条都与计算机有关,要有一定的专业知识,但比起你的专业课简单多了。如果你看到这里还不觉得有适合你干的,那这条最适合你:在你们学校去修双学位,修一个自己感兴趣的专业,计算机真的不适合你!
如果以上几条有适合你的,那么你就努力去做适合你的那一片天地,去看杂志的下一篇文章,下面的文字你看了只会浪费你的时间。
如果你是计算机专业的在校大学生,而且想当程序员,那么请往下看:
1、大学生活丰富多彩,会令你一生都难忘,但难忘有很多种,你可以学了很多东西而难忘,也会因为什么都没学到而难忘!
2、计算机专业是一个很枯燥的专业,但即来之、则安之,只要你努力学,也会发现其中的乐趣的。
3、记住:万丈高楼平地起!基础很重要,尤其是专业基础课,只有打好基础才能学得更深。
4、C语言是基础,很重要,如果你不学好C语言,那么什么高级语言你都学不好。
5、C语言与C++语言是两回事。就象大熊猫和小熊猫一样,只是名字很像!
6、请先学习专业课《数据结构》、《计算机组成原理》,不要刚开始就拿着一本VC在看,你连面向对象都搞不清楚,看VC没有任何用处。
7、对编程有一定的认识后,就可以学习C++了。(是C++而不是VC,这两个也是两码事!C++是一门语言,而VC教程则是讲解如何使用MFC类库,学习VC应建立在充分了解C++的基础之上。看VC的书,是学不了C++语言的。)
8、学习编程的秘诀是:编程,编程,再编程;
9、认真学习每一门专业课,那是你的吃饭碗。
10、在学校的实验室就算你做错一万次程序都不会有人骂你,如果你在公司你试试看!所以多去实验室上机,现在错的多了,毕业后就错的少了。
11、从现在开始,在写程序时就要养成良好的习惯。
12、不要漏掉书中任何一个练习题--请全部做完并记录下解题思路。
13、你会买好多参考书,那么请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码。
14、VC、C#、.NET这些东西都会过时,不会过时的是数据结构和优秀的算法!
15、记住:书到用时方恨少。不要让这种事发生在你身上,在学校你有充足的时间和条件读书,多读书,如果有条件多读原版书,你要知道,当一个翻译者翻译一本书时,他会不知不觉把他的理念写进书中,那本书就会变得像鸡肋!
16、我还是强调认真听专业课,因为有些课像《数据结构》、《编译原理》、《操作系统》等等,这种课老师讲一分钟能让你明白的内容,你自己看要看好几个月,有的甚至看了好几年都看不明白。
17、抓住在学校里的各种实践的机会,要为自己积累经验,就业时经验比什么都有用。
18、多去图书馆,每个学校的图书馆都有很多好书等你去看!
19、编程不是技术活,而是体力活。
20、如果你决定了要当一个好的程序员,那么请你放弃游戏,除非你是那种每天只要玩游戏就能写出好程序的天才!
21、你要有足够的韧性和毅力!有个高手出了一道题测试你的韧性和毅力:找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。
22、找到只属于你自己的学习方法!不要盲目的追随别人的方法,适合自己的才是最好的!
23、请热爱程序员这项工作!
以上的话有些是我的经验,有些是我从高手那里直接COPY来的,但他们都很有用,记住他们,并遵守他们,那你们一定会成功!
对于大多数初学者来说,好多人有这种问题存在:我到底先学什么?学C/C++?还是学VC?还是学Borland C++ Builder呢?还是Delphi?哪一个更好呢?学习程序设计和学习程序设计语言究竟是怎么一个关系?初学者究竟应该如何取舍呢?就这些问题,我从一个高手那里看了一下的这段话,可以帮助在这方面有问题的人:学习程序设计就好比学习射击,而程序设计语言就对应射击中的气枪、手枪、步枪等各种枪械。学习射击必须要选择一种枪械,不可能没有枪还能学好射击的,也不可能同时学会使用所有的枪械。但是,如果掌握一种枪械的射击,再学别的也就触类旁通了。因为在熟悉一种枪械的同时,也学习了射击技术本身。再学其他的,自然事半功倍。学习程序设计也是一样,必然要从学习一门程序设计语言开始入手。在学会系统的编程理念之后,用什么工具都一样!
之所以写这篇文章呢是因为自己眼看身边那么多的同学一个个都"不务正业",荒废了学业,心急如焚,自己也荒废了好几年,眼看微软的Windows从3.X到现在的2003 Server,而中国的软件业还是在原地踏步,难道我们真要每年等微软给他的操作系统换一次名字,我们给他交一次钱吗?这么大的利润为什么不留给我们自己,为什么不让别的国家给我们交钱呢?这是广大中国程序员的一个共同的梦,要实现这个梦的人是现在还在大学里的"准程序员"们,他们是中国软件明天的希望!希望广大计算机业的大学生看到这篇文章后,睡觉的能醒来,玩游戏的能停下来,在网吧的能出来,一起拿起课本,坐在电脑前,用程序写出中国软件业明天的辉煌。
⑷ 程序员应该读什么书
《软件故事》([美] 史蒂夫·洛尔)电子书网盘下载免费在线阅读
资源链接:
链接:https://pan..com/s/13OInH9h3qa6ZZhcbo-GoZg
书名:软件故事
作者:[美] 史蒂夫·洛尔
译者:张沛玄
豆瓣评分:7.2
出版社:人民邮电出版社
出版年份:2014-7
页数:259
内容简介:
“本书语言流畅细腻,读起来如沐春风。它犹如一部波澜壮阔的计算机史诗,讲述了软件革命的恢弘历史,以及中流砥柱们的光辉事迹。故事并不是断断续续的,因为作者采用了微型传记的形式……他把历史写成了优美的散文,生动迷人又严谨有度。”
——David Gelernter,《纽约时报》
“这是一本给人启迪的着作,完美地展现了想象力的巨大力量。如果你想象得到,并把它编成代码,那么一定能够改变世界!”
——Boston Sunday Globe
“本书把难懂的技术概念讲解得通俗易懂。对于那些对计算机内在结构好奇的人,这是一本能让其豁然开朗的好书。计算机科学界的前辈John McCarthy曾向作者抱怨过新闻记者的无知,本书就是作者对此作出的回应……与计算机行业相关的所有新闻记者都应该读一读这本书。”
——《纽约时报书评》
“这不是一本通常意义上的书,而是一部史诗。它讲述的不是技术,而是那些设计编程语言和计算机软件的名人的故事……本书内容清晰易懂,简明扼要。软件工程让程序员不需要材料和工具也能有所创造,他们为此兴奋不已。他们能够凭空创造新的事物,唯一的限制就是自己的想象力。”
——《国际先驱论坛报》
“如果本书作者是一名程序员,那么他写的代码一定清晰有序,不需要复杂的结构或者奇怪的快捷方式就能跳转到正确的子程序上;他的写作风格也是如此。本书化繁为简,让读者与数学专家、桥牌高手、象棋大师、特立独行的科学家、批判传统观念的人,以及掀起软件革命的程序员们进行了一次愉悦的会面。”
——《新闻周刊》
“本书展现了技术缔造者们面对的挑战,是本旷世杰作。”
——《自然》周刊
聆听软件行业发展的精彩故事
领悟软件巨擘的深邃思想
放飞想象力,通过编码改变世界
Steve Lohr(作者)《纽约时报》高级作家和技术通讯记者,U .S. v. Microsoft一书合着者,现居住于纽约。
张沛玄(译者)1992年毕业于北京理工大学飞行器工程系固体火箭发动机专业,获得工学学士学位。2001年重回母校管理与经济学院就读,2004年毕业并获工商管理硕士学位。早年他曾从事软件开发,担任IT公司高级管理工作多年。
作者简介:
Steve Lohr,《纽约时报》高级作家和技术通讯记者,U .S. v. Microsoft一书合着者,现居住于纽约。
⑸ 与IT行业有关的书,哪些值得看
不知道您需要什么阶段、难易程度的书,下面推荐不同类型的几本,希望对你有帮助。
《The elements of Java style》(Java)
目标读者就是Java程序员。通过提出一系列的Java从业规则,以及一些标准、惯例和准则,来说明如何有助于编写可靠又易于理解和维护的Java代码。
《Effective Java》(通用程序设计)
这本书真的只适合那些深入了解Java的开发人员。它汇集了78种不可或缺的程序员经验法则:为你每天在工作中都会遇到的编程挑战,提出了实践的最佳解决方案。
《Effective Java》(通用程序设计)
这本书真的只适合那些深入了解Java的开发人员。它汇集了78种不可或缺的程序员经验法则:为你每天在工作中都会遇到的编程挑战,提出了实践的最佳解决方案。
《Design patterns: elements of reusable object-oriented software》(:可复用面向对象软件的元素)
其实,这本书中的例子是用C ++和Smalltalk写的,是不是很奇怪为什么我还要推荐它呢?如果你想成长为一个开发人员,那么你就必须知道设计模式,这样才能充分利用他人最佳的实践经验,以及还可以向那些面临过相同问题的开发人员学习。当然其他类似的书籍还有很多,但它们都只能当做一些辅助性的学习。
《The Pragmatic Programmer: From Journeyman to Master》(程序员的修炼:从中级到大师)
此书并不只适合于Java开发人员。 这本书之所以值得推荐,其原因是它大大保持了编程过程的新鲜度,还有助于我们从前人那里汲取力量、不断地自我成长。
⑹ 可以推荐一些java程序员必看的书籍么比较经典一点的。
我就是去年在itjob刚毕业的 ,买了好多书,开始买的是java圣经--《java编程思想》但是不适合初学者,因为是外文翻译过来的,初学者很难懂,但它确实经典。后来我挑了很多书,我选中了《由浅入深学java》李志刚写的,电子工业出版社。我主要看中了里面不但有讲解,还有小练习,练习还有答案,这个对初学者很好。我用的技术是jsp+oracle。所以还买了一本数据库书《从入门到精通oracle11》中国水利水电出版社,钱慎一,张素智写的。没深看,就学习基本的数据库添加、修改、删除语句。看了这两本书,我还是对我整个工程结构不明白,我有买了本《java web轻量级开发全体验》邓子云系的,电子工业出版社。这本书让我对框架有了清楚的了解还介绍用eclipse软件如何开发,我觉得非常值得你一看。
⑺ 程序员必读的14本书籍
程序员必读书籍有哪些呢?下面是我精心为您整理的程序员必读的14本书籍,希望您喜欢!
程序员必读的14本书籍
1、《代码大全》 史蒂夫·迈克康奈尔
“优秀的编程实践的网络全书,《代码大全》注重个人技术,其中所有东西加起来, 就是我们本能所说的“编写整洁的代码”。这本书有50页在谈论代码布局。” —— Joel Spolsky
Steve McConnell的原作《代码大全》(第1版)是公认的关于编程的最佳实践指南之一, 在过去的十多年间,本书一直在帮助开发人员编写更好的软件。
无论您的经验水平如何,也不管您在怎样的开发环境中工作,也无论项目是大是小, 本书都将激发您的思维并帮助您构建高品质的代码。
2、《计算机程序的构造和解释》
《代码大全》、《重构》和《设计模式》这些经典书会教给你高效的工作习惯和交易细节。 其他像《人件集》、《计算机编程心理学》和《人月神话》这些书会深入软件开发的心理层面。 其他书籍则处理算法。这些书都有自己所属的位置。
然而《计算机程序的构造和解释》与这些不同。 这是一本会启发你的书,它会燃起你编写出色程序的热情; 它还将教会你认识并欣赏美; 它会让你有种敬畏,让你难以抑制地渴望学习更多的东西。
其他书或许会让你成为一位更出色的程序员,但此书将一定会让你成为一名程序员。
3、《C程序设计语言》
《C程序设计语言》(第2版新版)原着即为C语言的设计者之一Dennis M.Ritchie和着名的计算机科学家Brian W.Kernighan合着的 一本介绍C语言的权威经典着作。 我们现在见到的大量论述C语言程序设计的教材和专着均以此书为蓝本。
原着第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。
人们熟知的“hello,world”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设计语言入门的第一课。
4、程序员思维修炼(修订版)
生命中没有什么是一成不变的,人们需要改变自己的习惯和方法。不论你是程序员、软件公司管理者、技术奇人还是思想家,或者你只是想让自己的大脑更聪明一点儿,所有尝试改变自己的人,请把本书当作改变的开始……
5、系统化思维导论
关注人文,掌握思维法则,揭开科学与技术的神秘面纱
“它给我的震撼是第一次我能从全局的角度去看待各个学科,科学也不再是冷冰冰的割裂了的教条,不再是难以理解的一堆符号。”
6、优秀的叛逆者:引领组织变革的力量
Lois Kelly和Carmen Medina用她们的实战经验,向我们展示了如何在工作中赢得信赖、提出想法、处理人际关系、管理冲突和保持理智。”
——亚当•格兰特,沃顿商学院教授,《纽约时报》畅销书Give and Take的作者
7、《重构:改善既有代码的设计》
《重构:改善既有代码的设计》适合软件开发人员、项目管理人员等阅读, 也可作为高等院校计算机及相关专业师生的参考读物。
8、《Site Reliability Engineering》
《SRE:Google运维解密》可以让读者学习到Google工程师在提高系统部署规模、改进可靠性和资源利用效率方面的指导思想与具体实践——这些都是可以立即直接应用的宝贵经验。任何一个想要创建、扩展大规模集成系统的人都应该阅读,该书针对如何构建一个可长期维护的系统提供了非常宝贵的实践经验。
9、《Refactoring》
那时候当我读这本《重构:改善既有代码的设计》时,由于它在关于代码异味的单独章节所花的篇幅,使得这本书非常值这个价。该书非常成功,因为它使重构和代码异味的观念成为主流。
Steve Yegge曾对这本书不吝赞誉之词:
2003年10月,我第一次阅读这本书,有一种不寒而粟的感觉。如果你意识到,当你想离职时,你已经工作5年。转天我就随意问周围:“嗯,你已经读过重构方面的书,对吧?我只是随便问问,因为我很久以前读过,当然不是现在。”在我所调查的20个人中,只有一个人
10、《Peopleware》
在大学时我读到这本《人件》,该书似乎很令人信服,甚至所有的研究结果都支持该书的观点:不设置截止日期就比设置截止日期要好;办公室比隔间要好,等等。所有开发人员跟我讨论的时候,基本都赞同这些观点。
11、《编程珠玑》
尽管我不得不羞愧地承认,书中一半的东西我都没有理解,但我真的推荐《编程珠玑》,书中有些令人惊奇的东西。 – Matt Warren
12、《修改代码的艺术》by Michael Feathers
我认为没有任何一本书能向这本书一样影响了我的编程观点。它明确地告诉你如何处理其他人的代码,含蓄地教会你避免哪些(以及为什么要避免)。
同意。很多开发人员讨论用干净的石板来编写软件。但我想几乎所有开发人员的某些时候是在吃其他开发人员的狗食。– Bernard Dy
13、《编码:隐匿在计算机软硬件背后的语言》
我推荐CharlesPetzold的《编码》。在这个充满工具和IDE的年代,很多复杂度已经从程序员那“抽取”走了,这本书一本开眼之作。 –hemil
14、《程序员健康指南》
⑻ 初级C++程序员看完设计模式(《大话设计模式》)之后看什么书对自己的发展比较好呢希望说的详细点,重谢
朋友,看完了《大话设计模式》并不能说明任何问题,能否真正将设计模式运用于你的工作和项目当中才是你应该关注的重点。既然你已经看完了入门级的《大话设计模式》,那么我推荐你看一下进阶级的设计模式类书——《Head First Design Patterns》。等你看完这本书,我再推荐一本中高级的书,最后还有一本高级的书。不要急,我相信你看到一定的程度就知道自己的方向了。
⑼ 程序员必读的经典书籍
程序员需要学习的知识地很多的,需要不断的看书学习,才能不断的提升自己。下面是由我给大家带来关于程序员必读的书籍,希望对大家有帮助!
程序员必读的书籍
1.重构:改善既有代码的设计(软件开发的不朽经典)
何为重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。本书虽然使用Java语言书写示例代码,但是其概念与思想同样适合 于其他语言。书中,作者以一些平淡无奇,甚至带有坏味道的代码开始,一步一步地修改转变成更加灵活,可重用的代码。通过书中的示例,你会清楚地明白什么才 是整洁的代码。重构其实依然成为 经验 丰富的程序员的必备技能,当你想要改善重构代码时,读一读这本书就会让你有章可循,豁然开朗。
2.代码整洁之道(Robert C. Martin力作,韩磊献译)
这是我最喜欢的一本书,不止一次我将它推荐给我的同事,读者还有学生。我认为它可以称得上软件开发与编码方便最好的一本书。Bob大叔我想无需做介绍,他写 过一个关于敏捷开发的系列书籍,我的书架上就有他的 《代码整洁之道》 , 《程序员的职业素养》 , 《敏捷软件开发(原则模式与实践)》 , 《敏捷软件开发(原则模式与实践)》 , 《UML for Java For Programmers》 , 《Extreme Programming in Practice》等这些书籍。虽然他的这些书有点老旧,但是这些书仍然很有价值,纵使数十年之后,这些书依旧受用,尤其是在面向对象编程方面。 本书不仅仅是告诉你要做什么,还教会你什么不能做。书中有关于代码味道的一个章节,全面列举了大多数程序员遇到的各种错误,其后的章节则详细描述如何纠正 这些错误。比如如何将过长的switch声明转换成遵循开放闭合原则的模型,如何利用集成和多态。再次啰嗦一下,这本书确实值得每个程序员拥有。和上本书 一样,书中的例子使用Java语言,但依然适合使用其他面向对象编程语言的开发者阅读。想要撸的一手好码,这本书必不可少。
3.代码大全
两届Software Jolt Award震撼大奖得主!软件开发世界的地图,经典中的经典
想必这本书大家都曾阅读过,这就是鼎鼎大名的《代码大全》,从某个角度看,它其实就是C++版的《代码整洁之道》。本书的目标就是帮开发者使用 做高质的代码写出更好的软件。同样书中也涉及了编程中常见问题和最佳实践。这本书也可以称得上是必读书籍,尤其是对于C和C++程序员。《代码大全(第2 版)》中所论述的技术不仅填补了初级与高级编程实践之间的空白,而且也为程序员们提供了一个有关软件开发技术的信息来源。《代码大全(第2版)》对经验丰 富的程序员、技术带头人、自学的程序员及没有太多编程经验的学生都是大有裨益的。可以说,只要您具有一定的编程基础,想成为一名优秀的程序员,阅读《代码 大全(第2版)》都不会让您失望。
4.单元测试的艺术
世界级软件开发大师,设计模式和敏捷开发先驱,“Bob大叔”Robert C. Martin强力推荐
如果非要做一件改善项目,提高开发者水平的事情,我想那就是让开发者掌握单元测试的能力。对于专业的开发者来说,单元测试是一项必备的技能,多数的程序员 却不具备TDD(测试驱动开发)的能力。我虽然在不太遵循TDD这种模式,但是也会为自己写的或维护的代码编写单元测试。对于工程来说,开源项目基本都严 格遵守执行单元测试,而很多商业的工程则在单元测试方面有所缺失。一个拥有单元测试的项目会变得更加容易维护和更改。本书会介绍成功的项目与失败项目的差 别,可维护的代码库与不可维护的代码库之间的区别。本书示例为.NET代码,但这并不会影响你了解单元测试。如果你是一名技术负责人或者项目负责人,这本 书可以帮你更好地把控项目代码质量。如果你看Java更舒服的话,也可以看一看这本书 《JUnit实战(第2版)》 。
5.精益软件开发管理之道
《精益软件开发管理之道》是一本软件开发 方法 学的书。作者从24个不同的视角,在更大的空间、时间、行业、 文化 背景下,考察了敏捷和精益方法。 《精益软件开发管理之道》详细阐述了敏捷和精益开发方法取得成功的深层原因。《精益软件开发管理之道》包括以下内容:系统思考,以适当足够的方式关注客 户;技术杰出,介绍了杰出软件开发的基础-低耦合的架构、测试驱动的开发过程等;可靠交付,讨论了工作流和日程计划,以及反馈的重要作用;无情改进,讨论 了所有精益组织的基本特点:持续不断、永不满足的改进;卓越的人,卓越的结果来自于卓越的人;一致的领导,讨论在领导团队中达成一致。
6.设计模式:可复用面向对象软件的基础
这本书要么你读过,要么就是听说过,这就是经典的GOF(Gang of Four 中文译为_)设计模式一书。该书作者为四人,分别是Eric Gamma, Richard Helm, Ralph Johnson, 和John Vissides。四位顶尖的面向对象领域专家精心选取了最具价值的设计实践,加以分类整理和命名,并用简洁而易于重用的形式表达出来。本书已经成为面向 对象技术人员的圣经和词典,书中定义的23个模式逐渐成为开发界技术交流所必备的基础知识和语汇。使用这些设计模式,我们可以设计出灵活,优雅和可重用的 可扩展的设计。
7.细说PHP
51CTO“最受读者喜爱的原创IT技术图书”奖
《细说PHP》编写的宗旨是让读者能拥有一本PHP方面的学习和开发使用的最好书籍,对所罗列出的每个知识点都进行了细化和延伸,并力求讲解到位,让读 者可以轻松地读懂。对于几乎每个知识点都有对应且详实的可运行的代码配套,对所有实例代码都附有详细注释、说明及运行效果图。另外在每个章节的最后还为读 者安排了大量的和本章知识点配套的授课课件及自测试题(附加在光盘中),能更好地帮助读者掌握理论知识点,提高实际编程能力,寓学于练。对于入门与提高 PHP技术起到关键作用。
《细说PHP》作者高洛峰。现任北京LAMP兄弟连[1](易第优 教育 )教学总监,五年软件开发工作经验,四年IT教学工作经验。曾在多家上市企业担任过技 术总监、项目经理、高级软件工程师等职务,具有扎实的技术功底。国内资深的高级技术认证讲师,从事IT培训以来累计授课长达6000课时以上,培训近千名 学员成功走向IT岗位,具有丰富的IT教学经验。
程序员的专业技术书
1、《数学之美》第二版
获奖畅销书《数学之美》第一版荣获国家图书馆第八届文津图书奖。
第一版入选广电总局“2014年向全国青少年推荐百种优秀图书书目”,荣获2012-2013年度全行业优秀畅销书。
信息领域大学生必读好书,央视新闻推荐的学科敲门砖。
新版增加了大数据和机器学习等最新内容,以满足人们对当下技术的学习需求;同时,根据专家和读者的反馈更正了错漏,并更新了部分内容。
《数 学之美》第一版上市后深受广大读者欢迎,并荣获国家图书馆第八届文津图书奖。读者说,读了《数学之美》,才发现大学时学的数学知识,比如马尔科夫链、矩阵 计算,甚至余弦函数原来都如此亲切,并且栩栩如生,才发现自然语言和信息处理这么有趣。而今,数学在信息产业中的应用越来越广泛,因此,作者在第二版中增 加了一些内容,尤其是针对大数据和机器学习的内容,以便满足人们对当下技术的学习需求。
2、文明之光 第三册
吴军博士继获奖畅销书《浪潮之巅》、《数学之美》之后的跨界之作
为您讲述他眼中的超越上下五千年的人类文明史
随文津奖得主一起体会科技与人文之美
作 者所选的创作素材来自于十几年来在世界各地的所见所闻,对其内容都有着深刻的体会和认识。《文明之光》系列第三册每个章节依然相对独立,书中全景式地展现 了人类文明发展历程中的多样性。内容涉及音乐、美术、计算机、互联网、金融、硅谷对世界科技发展的启迪、微粒子和宇宙天文学、环境保护八个专题。
3、构建之法:现代软件工程
“做中学 Learning By Doing”的现代方式教授软件工程
李未院士鼎力推荐,众多软工教师一致好评
微软研发总监邹欣力作
推荐软件工程专业学子阅读,了解软件工程真正内涵,懂得“工程”二字真正含义,知道软件工程和计算机科学的区别。了解之后,就知道为何软件工程是就业含金量较高的行业了。
书中设想了大量的场景“学”和“习”,并且用了大量的类比,非常生动有趣。这本教材也对软件工程课老师提出了更高的要求;对学生而言,同样面临着要付出怎样的努力才能学到“干货”的选择。
《构建之法:现代软件工程》共分17章,对照美国ACM/IEEE2013年新出版的计算机科学教学指导 (Computer ScienceCurricula 2013)中的软件工程相关部分,这本教材覆盖了其中大多数Core-Tier1和Core-Tier2的内容。可以说,全书对软件工程内容的覆盖不逊于 任何一本现行的教材,同时讲述了业界最新实践方法。
程序员看的好书籍
1.《哥德尔、埃舍尔、巴赫》
豆瓣评分:9.4 分
作者简介:道格拉斯·理查·郝夫斯台特,中文名侯世达,美国学者、作家。他的主要研究领域包括意识、类比、艺术创造、文学翻译以及数学和物理学探索。 因其着作《哥德尔、埃舍尔、巴赫》获得普立兹奖(非小说类别)和美国国家经典奖(科学类别)。
推荐理由:这是一部天书。在数学,绘画,音乐和 故事 中畅游,却在探讨哲学中最深刻的问题:意识和灵魂如何产生,从哲学角度探讨人工智能和人类智能。当你看完书后,也许你具体记不得太多细节,但是不经意间你会发现它已经深深地影响了你的世界观。
2.《算法导论》
豆瓣评分:9.4 分
作者简介:托马斯·科尔曼,达特茅斯学院计算机科学系教授、系主任;查尔斯·雷瑟尔森,麻省理工学院计算机科学与电气工程系教授,他目前主持 MIT 超级计算技术研究组,并是 MIT 计算机科学和人工智能实验室计算理论研究组的成员;罗纳德·李维斯特,现任麻省理工学院电子工程和计算机科学系安德鲁与厄纳·维特尔比(Andrew and Erna Viterbi)教授。他是 MIT 计算机科学和人工智能实验室的成员,并领导着其中的信息安全和隐私中心。他现在担任国家密码学会的负责人;克利福德·斯坦,哥伦比亚大学计算机科学系和工业工程与运筹学系教授,他还是工业工程与运筹学系的系主任。
推荐理由:这本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。书中专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。此书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的 NP 完全性的证明等内容。
猜你喜欢:
1. 程序员们的专业技术书分享
2. linux程序员必看书籍推荐
3. java程序员必看的书籍推荐
4. 清华大学推荐的青少年阅读书目
5. 文艺青年必看的书