您读过什么东西启发并引导您成为程序员?[关闭]


Answers:


26

我很惊讶没有人提到The Pragmatic Programmer。如果您对自己的工艺完全感兴趣,这是一本必读的书。


它曾经是“必读”。
kirk.burleson

2
@ kirk.burleson:仍然是。
史蒂文·埃弗斯

我会同意的,阅读它可以使我了解到我们所做的事情以及如何去做。
aredkid 2010年

我喜欢``选择''不是残破的节。它没有坏,只是烂透了:)
蒂姆·波斯特

终于阅读了,我同意。我想这是一个值得回答的问题。
aredkid 2010年

13

手套

手套-仔细检查您的第一个修订版,然后对自己说“手套”。

每日WTF的这篇帖子使我走上了正确的道路。我承认,有几次开始开发一些“手套”是合适的解决方案的东西。


3
我不明白
kirk.burleson

1
柯克,您需要阅读链接的文章以获得可能的答案……尽管即使如此,它实际上并不是真的。
彼得·布顿

5
这意味着,如果您过度考虑一个问题,最终可能会得到极其复杂的解决方案,由于先前的设计选择,这些解决方案最终会变得更加复杂。为了总结链接的文章,他们尝试创建一个荒谬的人体加热系统来保持您的手温暖。不仅仅是戴着手套
马特·菲利普斯

精湛的帖子!优秀。
戴夫

+1我会@这个故事。我不敢相信他们在“这真是太好了:我们可以更有效地重复利用体热!”之后,走路或慢跑时也可以使用该系统。评论。
Evan Plaice 2010年

12

阅读Adobe的Alex Stepanov的演讲。在5年末,这将使GREAT和GOOD分开。

http://www.scribd.com/doc/210467/Speech-by-Alex-Stepanov


您知道,Stepanov说了一些我强烈反对的话,但是那句话很好。
Frank Shearar

@Frank:如果与编程相关,请随时与我们分享,因为我们都可以向您学习。让我们不要谈论他的美国评论。
怪胎

他对OOP的评论是完全错误的:stlport.org/resources/StepanovUSA.html他认为OOP对于初学者来说是单派发和基于类的。(CLOS使用多个调度,Self和Javascript基于原型,作为反例。)
Frank Shearar 2010年

除了笔录外,还有其他来源吗?他指出,笔录翻译有误。
乔恩,2010年

@Frank Shearar我认为那家伙只是简单地表现出潜在的意大利面。大约一年前,他还用俄语做了一次演讲。他在那儿说,他喜欢简单的事情,例如“ for,if”,并且只要代码有效且清晰(与我所理解的含糊不清的类型相反),便可以用任何语言编写Pascal基本上没有什么不好。
mlvljr 2010年



8

阅读

查看


有时更多是关于人的...

还有一群人,他们的脚步跟着,肩膀站着(不分先后,在我脑海中自由流动时列出来):艾伦·凯理查德·斯托曼肯·汤普森丹尼斯·里奇布莱恩KernighanTheo de RaadtLinus TorvaldsEric S.RaymondRob PikeBill GatesSteve JobsJohn MacCarthyJohn ConwayMartin OderskyJames GoslingGuy SteeleDonald KnuthEdsger DijkstraJohn CarmackPeter Molyneux ...他们自己的语言和作品都是鼓舞人心的,或是别人讲的故事。只要您牢记,他们在某些方面的技能和天才并不能阻止他们对自己在其他方面的信念视而不见。像其他人一样。(上面列出的2本书对于其中的大多数书来说已经相当不错了!)

或远不那么著名但活跃的技术专家,如Neal Gafter,Martin FowlerDon Syme等。

这些人的工作以及他们为实现(或放弃)他们的项目所做的事情使我深受鼓舞。

有时更多的是关于文化和梦想,以及打破障碍...

2600作为一个孩子的时候,我的英语是embyonic,故事早盗用电话线路紧缩船长或PC时代与诞生沃兹尼亚克在苹果和阅读书籍和文章威廉·吉布森尼尔·斯蒂芬森也启发了我作为一个程序员,尽管它与直接编程无关。从这个意义上讲,即使是Hacker's ManifestoAgile Manigesto甚至是IEEE道德规范之类的东西,也仍然是鼓舞人心的。


盖茨/职位面试+1。很棒的采访,对主持人和客人的注释完全正确。
史蒂文·埃弗斯

++ 11链接的11个单词
sova 2010年

@sova:谢谢,我实际上必须将它们挖掘出来,但是我认为这可能会有所帮助。考虑一下,如果指向YouTube上的搜索可能会更好,以防它们被删除。
haylem 2010年

您忘记了Wau Holland(混沌计算机俱乐部的创始人之一,混沌计算机俱乐部是最古老的黑客组织之一)-他反对审查制度,版权保护,并且反对开放式信息基础架构。
约书亚

@Joschua:确实是一个很好的参考。我并没有真正直接关注Holland的成就,但是我确实跟随了不久前CCC出现的消息。老实说,现在所有这些都没有空闲时间。:(
haylem 2011年

7

最后一讲由爱丽丝背后的男人兰迪·鲍什(Randy Pausch)所写的书。伴随着他的最后一次演讲“真正实现您的童年梦想”。总是要记住自己是一个跳跳虎。


6

这是一个非常简短的清单,由两本书组成:

  • 头至上-设计模式
  • 干净的代码

5

在指导方面

在我学习C时,Kernighan和Plauger 撰写的《编程风格的元素》对我非常有影响力。由于使用PL / I和Fortran示例,因此在我阅读本书时,该书已被视为“过时”。这些技巧超越了两种语言。

在读那本书之前,我坚信“风格”是关于我现在考虑的琐碎问题,例如格式(标签上有多少空格?将小卷发放在哪里?)。但是,样式是您删除格式和命名约定后所拥有的。向后构造一个字符串然后反向构造它更容易吗?然后向后构造它并反转它。

Kernighan和Plauger的另一本书《软件工具》也很有帮助,但效果却不尽如人意。Kernighan和Pike的新作《编程实践》也很有用,但与《编程风格要素》相去甚远。我希望我仍然有我的副本。每个程序员都值得阅读。

在阅读了Glenford Myers 的《软件测试的艺术》之后,我对测试和质量检查变得更加赞赏。它向我展示了测试是一种真正的创造活动,而不仅仅是不喜欢编程的计算机科学专业的学生。随着测试驱动开发的日益普及,也许更多的人会转向迈尔斯的书。

而且,我想不出要比免费提供在线书籍《程序的结构和解释》更好地介绍抽象概念了。它引入了Scheme编程语言,但涉及计算机科学的许多其他主题,包括声明性编程。

在灵感方面

在我的学术生涯中,我受到面向方面编程概念的启发。您可以阅读有关AOP的一些早期论文,最后得到半页的想法注释。

我也认为Church and Turing的进步非常鼓舞人心。在1930年代,甚至在制造计算机之前,科学家和数学家就使用一种高级编程语言进行编程:Lambda演算。教会数字和前任功能的构造可能是有史以来最聪明的编程构造之一。它向您展示了如何从零开始制作东西。


1
如果您正在阅读有关AOP的文章,请不要忘记Kiczales等人的早期工作,其形式为MetaObject Protocol的艺术
Frank Shearar

Myer的软件可靠性:原理和实践也很不错。
Frank Shearar

指令中为SICP +1
Inaimathi 2010年

5

不是我读过的东西。1984年,我正在与邻居和他的朋友聊天。我16岁。这位朋友告诉我,基本上,世界是由计算机用户和程序员组成的。他说,只有世界上最聪明的人才能成为程序员。

e!真是挑战!


5

最初是关于软件的Joel,他的写作方式使我在开始学习该概念时非常容易。


2
他是一位好作家,我喜欢读书。只是将其与盐混合,否则,如果您不是摇滚明星开发者,您可能会感到沮丧。
kirk.burleson

1
我想成为一名摇滚明星开发者,就像我想成为一个douchebag。
Jonathan Sterling



3

在许多灵感中,最近的一本书是关于:学徒模式


我希望更多的人对此表示支持。这本书太神奇了!它不是策略的指南,而是策略。向您展示如何着手您的编程职业(以及一般的编程职业),方法是将其视为一条终生之路,并将自己视为有抱负的熟练技工。
jellyfishtree


3

那些东方弯曲的人在超然的“编程之道 ”上可以读到一本可爱的小韩文书。

这是我迈向启蒙之路的第一步,也是鼓励我考虑编程和整体创作的第一件事,因为创作本身会随着时间的流逝而逐渐被发现。那些试图与之抗争或理解它的人肯定会失败。



3

小小的LISPer令震惊

我参加了高中Pascal编程课程。我已经非常了解C64 Basic,并问老师是否所有编程语言都像Basic和Pascal。他借给我他的Little LISPer的副本。在度过了周末的阅读之后,我不相信这种奇怪的语言会存在或行得通。当我看到它在他可以访问的微型拨号上网中运行时,我被打倒了。它确实存在。

在我第二届大学水平的编程课之后;算法和数据结构,我换了专业才可以进入更好的CS计算机实验室。他们拥有带有lisp,scheme,prolog,SmallTalk80和大量其他工具的Unix计算机。


3

代码完成。它涵盖了您作为程序员需要了解的大多数基本主题,并为您提供了指导以进一步了解它们。学习路径中非常好的第一步。我本人和我认识的许多人,希望他们在程序员生活中早读它。


3

我听过的最鼓舞人心的演讲是Richard Gabriel谈论的写作软件类似于写诗。诗人通常会花费大量的努力来使正确的单词少用-Haikus-我们在编写软件时应该努力追求同样的卓越和优雅。

优雅和简洁在编程中与诗歌和数学一样重要,并且需要大量的努力才能流畅地做到这一点。

请参阅http://www.dreamsongs.com/PoetryOfProgramming.html上的一些要点


我和麻省理工学院的理查德(Richard)在MIT共享办公室,大约74岁。
Mike Dunlavey,2010年

2

有史以来最有用的一本书-不是关于编程的,而是关于如何有效地工作的:DeMarco和Lister撰写的“ Peopleware”。应该放在每个程序员的书架上。而且,如果您要升任管理层,则加倍。


2

正如艾伦·凯(Alan Kay)差不多30年前所说,观点价值80智商。改变我观点的书:

  • 路德维希·维特根斯坦(Ludwig Wittgenstein)的“哲学研究”

    有时我们认为我们知道,而实际上我们不知道。W.显示了如何仔细看。

  • 纳尔逊·古德曼(Nelson Goodman)的“事实,小说和预测”

    在这里,我了解了analytic这个词的真正含义。另外,“ 实用”这个词的真正含义。

  • 罗伯特·皮尔西格(Robert M. Pirsig)的“禅与摩托车维修艺术”

    怎么会有比其他东西更好的东西?为什么在质量方面一切都不一样?IOW,好的电影,好的汽车,好的食物和好的软件有什么共同点,使它们变得更好?



2

新机器的灵魂(我上高中时的灵感) SICP(可能是我读过的与软件开发相关的最好的书之一)


每位专业程序员都应阅读Tracy Kidder的《新机器灵魂》。我已将这些副本分发给我多年来指导的所有新创建的想成为开发人员的人。仅了解他的“注册”概念就值得付出时间和金钱。
罗斯·帕特森


1

塞思·戈丁Seth Godin)虽然不完全与编程有关,但作为一名程序员和充满希望的商务人士(除乔尔软件公司外),对我来说有一些鼓舞人心的职位。


1

妙本武藏的五环书。

一些亮点。

没有最喜欢的工具。学习使用每种工具,学习何时使用合适的工具,学习其弱点和优点。

工作不完美的员工可以在公众视野下工作质量的地方使用。支撑建筑物下方地板的支柱不必具有完美的饰面(它们只需工作即可)。

通过做一件事情,做很多事情。因此,如果在A和B之间可以选择,但是B可以在下周做很多事情,那么如果可以的话,请B进行。


1

我从游戏编程开始。这一切都来自NES时代。渴望成为游戏开发人员,但我成功实现了这一目标,但由于我的游戏产业所在的国家/地区过于狭changed,因此为了更好的职业生涯而改用了应用软件/硬件分析师。

在我早期的日子里,我实际上感到有点后悔担任该IT职位。但是后来,我的前任同事对他的成就给予了启发和影响,他们在这些新技术开发领域相当活跃。在我的空闲时间里,我将与软件编程相结合,与前同事一起进行个人项目。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.