转自:http://coolshell.cn/articles/2753.html
非常好,值得细细品味:
最佳编程语录
以前本站发布过《22条经典的编程引言
》、《编程引言补充
》、《Linus Torvalds 语录
》还有《十条不错的编程观点
》。今天向大家介绍“最佳编程语录”,条条都是很不错的语录,如同我们的太阳,照亮了我们的方向(所以我们选用了一个红色的图片,希望能够通过五毛们的网络审查)。
其中只有一两条在以前本站发布过的文章中出现过。这篇文章的出处在这里
,下面是“Neo
”和“陈皓
”的翻译,我们的翻译水平有限,所以,我们提供了中英文对照,有不当之处,还请各位指正。
A good programmer is someone who looks both ways before crossing a one-way street. — Doug Linder, systems administrator
好的程序员这样一类人,这类人在横穿一条单行道前都要先看一下路两边。– Doug Linder, 系统管理员
A most important, but also most elusive, aspect of any
tool is its influence on the habits of those who train themselves in its
use. If the tool is a programming language this influence is, whether
we like it or not, an influence on our thinking habits. — Edsger
Dijkstra, computer scientist
关于工具,一个最重要的,也是最不易察觉的方面是,工具对使用此工具的人的习惯的潜移默化的影响。如果这个工具是一门程序语言,不管我们是否喜欢它,它都会影响我们的思维惯式。 –Edsger Dijkstra, 著名的计算机科学家。
Being abstract is something profoundly different from
being vague… The purpose of abstraction is not to be vague, but to
create a new semantic level in which one can be absolutely precise. —
Edsger Dijkstra
抽象和模糊完全地不同,抽象的目的并不是把事情变模糊,而去创建一个新的语义层,在那里是绝对精确的描述。 — Edsger Dijkstra
Besides a mathematical inclination, an exceptionally good
mastery of one’s native tongue is the most vital asset of a competent
programmer. — Edsger Dijkstra
除了数学爱好,对于一个有能力的程序员来说,出色地掌握自己的母语是最宝贵的财富。– Edsger Dijkstra
C makes it easy to shoot yourself in the foot; C++ makes
it harder, but when you do, it blows away your whole leg. — Bjarne
Stroustrup, developer of the C++ programming language
C很容易使你搬起石头砸自己的脚,而C++把这事变得更难,但是如果一定要这么做,那么你的整条腿都会被炸飞 -Bjarne Stroustrup, C++语言的发明者
Commentary: most debugging problems are fixed easily; identifying the location of the problem is hard. — unknown
修复bug很容易,但是定位bug却很困难 – 匿名
Considering the current sad state of our computer
programs, software development is clearly still a black art, and cannot
yet be called an engineering discipline. — Bill Clinton, former
President of the United States
看看当前计算机程序糟糕的事态,软件开发明显一直是一门妖术,其仍然不能被称为一个工程学。 –比尔.克林顿 美国前总统
For a long time it puzzled me how something so expensive,
so leading edge, could be so useless, and then it occurred to me that a
computer is a stupid machine with the ability to do incredibly smart
things, while computer programmers are smart people with the ability to
do incredibly stupid things. They are, in short, a perfect match. —
Bill Bryson, author, from Notes from a Big Country
长期以来,有个事一直困扰着我,那就是越是昂贵的,越是前沿的,就越可能是没用的。然后,困扰我的另一个事是,计算机是一个死的机器,却可以不可思
议地去完成那些巧妙的事情,而计算机程序员是那么聪明人却在做着不可思议的愚蠢的事情,简而言之,他们真是天生的一对。– Bill
Bryson旅游文学作家 Big Country中的笔记
Given enough eyeballs, all bugs are shallow (e.g., given a
large enough beta-tester and co-developer base, almost every problem
will be characterized quickly and the fix obvious to someone). — Eric
S. Raymond, programmer and advocate of open source software, from The
Cathedral and the Bazaar
足够多的眼睛,就可让所有问题浮现(比如:只要给于足够多的beta测试者和开发人员一起工作,那么,几所所有的问题都会很快的出现,而修正也会是显而易见的)
Good code is its own best documentation. As you’re about
to add a comment, ask yourself, ‘How can I improve the code so that this
comment isn’t needed?’ Improve the code and then document it to make it
even clearer. — Steve McConnell, software engineer and author, from
Code Complete
好的代码自己本身就是最好的文档。当你打算加注释的时候,问问自己‘我如何才能把我的代码改善到不需增加注释?’重构自己的代码,然后使文档让其更清楚。 — Steve McConnell《代码大全》的作者
Hey! It compiles! Ship it! — unknown
嘿,编译通过了!出货!–匿名
Inside every well-written large program is a well-written small program. — Charles Antony Richard Hoare, computer scientist
在每个编写精良的大程序里面都是一个编写精良的小程序。 –Charles Antony Richard Hoare,计算机科学家
It should be noted that no ethically-trained software
engineer would ever consent to write a DestroyBaghdad procedure. Basic
professional ethics would instead require him to write a DestroyCity
procedure, to which Baghdad could be given as a parameter. — Nathaniel
S. Borenstein, computer scientist
需要注意的是,没有哪个经过规范培训的工程师会赞成写一个DestoryBaghdad(摧毁巴克达)的函数。最基本的职业规范会告诉他们应该去写
一个叫DestoryCity的函数,然后把“Baghdad”(巴克达)当成这个函数的参数。—— Nathaniel S.
Borenstein, 计算机科学家
Managing programmers is like herding cats. — unknown
管理程序员就如同养一群猫一样 –匿名
Measuring programming progress by lines of code is like
measuring aircraft building progress by weight. — Bill Gates,
co-founder of Microsoft Corporation
用代码行数来衡量编程的进度,就如同用航空器零件的重量来衡量航空飞机的制造进度一样。——Bill Gates,微软创始人
More good code has been written in languages denounced as
bad than in languages proclaimed wonderful — much more. — Bjarne
Stroustrup, from The Design and Evolution of C++
更多的优秀代码是用被认为很烂的语言写成的,而不是用那些被说的好的不得了的语言。——Bjarne Stroustrup, 摘自《The Design and Evolution of C++》
Programs must be written for people to read, and only
incidentally for machines to execute. — Harold Abelson and Gerald Jay
Sussman, computer scientists and authors, from The Structure and
Interpretation of Computer Programs
代码应该是写给其他人来读的,而能让机器运行的仅仅是附带着的。—— Harold Abelson 与 Gerald Jay Sussman,
计算机科学家和作家,摘自《The Structure and Interpretation of Computer Programs》
Real programmers don’t comment their code. If it was hard to write, it should be hard to understand. — unknown
真正程序员从来不写代码的注释,如果代码非常难写,那么同样代码的注释也会非常难懂 –匿名
Simplicity is prerequisite for reliability. — Edsger Dijkstra
简单是可靠的前提条件 — 迪杰斯特拉
The C programming language — a language which combines
the flexibility of assembly language with the power of assembly
language. — unknown
C语言—— 一门同时具有了汇编语言灵活性和汇编语言强大能力的语言。– 匿名
The first 90% of the code accounts for the first 90% of
the development time. The remaining 10% of the code accounts for the
other 90% of the development time. — Tom Cargill, object-oriented
programming expert at Bell Labs
开始的90%的代码用了90%的开发时间,而剩下的最后的10%的代码会需要另外90%的开发时间。– Tom Cargill,贝尔实验室的面向对象编程专家。
The important point is that the cost of adding a feature
isn’t just the time it takes to code it. The cost also includes the
addition of an obstacle to future expansion. Sure, any given feature
list can be implemented, given enough coding time. But in addition to
coming out late, you will usually wind up with a codebase that is so
fragile that new ideas that should be dead-simple wind up taking longer
and longer to work into the tangled existing web. The trick is to pick
the features that don’t fight each other. — John Carmack, computer
game programmer
增加一个功能特性的成本并不单单是为这些功能编码所花费时间的成本,还这个成本应该包括特性扩展的障碍成本。当然,任何的功能清单都可以被实现,只
需要有足够的时间。但是除些之外,你应该对你的代码库的脆弱性感到紧张,而那些新的想法应该足够的简单,而不是去花费更多更多的时间去纠缠于现有的蜘蛛
网。这里的决窃是挑选那些不会和别人冲突的的功能。
The key to performance is elegance, not battalions of
special cases. The terrible temptation to tweak should be resisted
unless the payoff is really noticeable. — Jon Bently and M. Douglas
McIlroy, both computer scientists at Bell Labs
表现的关键是精美和典雅的,并不是使用大量的特殊案例。对于任何调整的冲动都应该是被限制的,除非其回报真的是值得注意的。– Jon Bently and M. Douglas McIlroy, 二者都是贝尔试验实的计算机科学家
The last good thing written in C was Franz Schubert’s Symphony Number 9. — Erwin Dieterich, programmer
最后一件用C做的好作品就是弗朗茨.舒伯特的C大调第9交响曲 — Erwin Dieterich, programmer程序员
The problem with using C++ … is that there’s already a
strong tendency in the language to require you to know everything before
you can do anything. — Larry Wall, developer of the Perl language
使用C++最大的问题是..在C++语言里,存在这一种很强的趋势,就是如果你不明白C++语言的细节,你就无法做好任何事情。– Larry Wall, developer of the Perl language
The sooner you start to code, the longer the program will take. — Roy Carlson, University of Wisconsin
你越早开始都手编码,你所花费来编程的时间就越长 — Roy Carlson, University of Wisconsin
The value of a prototype is in the education it gives
you, not in the code itself. — Alan Cooper, software author, from The
Inmates are Running the Asylum
原型的价值在于他给你的教训,而不是代码自身 — Alan Cooper, software author, from The Inmates are Running the Asylum
There are only two kinds of programming languages: those people always bitch about and those nobody uses. — Bjarne Stroustrup
世界上只有两类编程语言:人们都抱怨的语言和从来没有人使用的语言 — Bjarne Stroustrup
There are two ways of constructing a software design. One
way is to make it so simple that there are obviously no deficiencies.
And the other way is to make it so complicated that there are no obvious
deficiencies. — Charles Antony Richard Hoare
世界上有两个设计软件的方法,一种方法是设计的尽量简单,以至于明显的没有什么缺陷,另外一种方式是使他尽量的复杂,以至于其缺陷不那么明显。
Ugly programs are like ugly suspension bridges: they’re
much more liable to collapse than pretty ones, because the way humans
(especially engineer-humans) perceive beauty is intimately related to
our ability to process and understand complexity. A language that makes
it hard to write elegant code makes it hard to write good code. — Eric
S. Raymond
丑陋的程序就像一座丑陋的吊桥:他们相比漂亮的良好的吊桥起来,更有可能会坍塌,这是因为人类(尤其是工程师)感知漂亮的东西是和我们处理和理解复杂问题的能力相关的。所以,一个程序语言如果很难以优雅地方式编程,那么其就很难写出好的代码。
Weeks of programming can save you hours of planning. — unknown
多做几周的编程可以节省你做计划的时间 —— 匿名 (意思为,只有实践过了,你才更容易做计划,没有实践过,做起计划来将会很头痛)
When a programming language is created that allows
programmers to program in simple English, it will be discovered that
programmers cannot speak English. — unknown
当程序语言被设计成允许程序以很简单的英语来编程的时候,人们将会发现编写程序的程序员都来自不会说英语的地方。 –匿名
(全文完,翻译水平有限,如果有误,还请批评指正!)
分享到:
相关推荐
### C++之父语录——核心知识点解析 #### 一、程序结构与设计原则 **1.1 类与对象的设计** - **独立概念**: 如果你能将一个概念视为独立的实体,考虑将其设计为一个类。这有助于提高代码的可读性和可维护性。 - **...
他的语录和作品是程序员们学习C++、理解编程思想的重要资源。在"《A Brief Look at C++.pdf》、《A Perspective on ISO C++.pdf》以及《Bjarne Stroustrup的FAQ.pdf》"这些文档中,我们可以深入了解到Stroustrup的...
1. **选择与优化**:在编程或系统设计中,我们常常需要在多个选项中做出决策,就像语录中的"ѡ"(选择)字眼所示。这可能涉及到语言选择、框架选择、算法选择等。我们需要权衡利弊,根据项目需求、性能指标、维护性...
在编程、设计或任何IT工作中,我们应勇于提出自己的观点,不被他人的观念束缚,敢于与众不同,创造出独特的解决方案。 4. "拥有初学者的心态是件了不起的事情" —— 保持学习和好奇的心态是持续进步的关键。在快速...
很抱歉,根据您提供的文件信息,这似乎是一个包含音乐、电视剧和相关台词的文档,主要涉及的是《最佳前男友》这部电视剧的主题曲、经典语录以及汪苏泷的一些歌曲列表。然而,这些内容并未直接关联到IT行业的知识点。...
MATLAB是一种强大的编程环境,尤其在数值计算和数据处理方面表现出色,因此它在机器学习和神经网络领域也有广泛的应用。本项目的核心是利用神经网络模型预测时间序列数据,这在诸多领域,如金融、气象学、工业生产等...
Eclipse是一款强大的开源集成开发环境(IDE),广泛应用于Java、C++、Python等编程语言的开发工作。本教程旨在为初学者和有经验的开发者提供一个全面的学习路径,深入理解Eclipse的各项功能和使用技巧,从而提高开发...
源码可能会包含Handler、Looper、AsyncTask的使用,或者自定义线程池的实现,帮助开发者理解并发编程。 7. **依赖注入框架**:如Dagger、Koin等,它们简化了对象的创建和管理,源码可能展示了这些框架的使用,帮助...
2. **编程语言**:如果"Mc零度"是特定领域的专家,可能提及Java、Python、C++等语言的特性和最佳实践。 3. **软件工程**:项目管理、敏捷开发、持续集成/持续部署(CI/CD)等实践可能被讨论。 4. **技术趋势**:...
通过深入研究这个源码,开发者可以学习到如何从零开始构建一个iOS应用,了解iOS开发的流程和最佳实践,提升自己的编程技能。同时,这也是一个很好的机会,学习如何优化代码结构,提高代码复用性和可维护性。
综上所述,"functional-zen-quotes"项目可能是通过引用禅宗哲学来阐述React开发中的一些核心函数式编程原则和最佳实践,帮助开发者更好地理解和应用这些理念。如果你有机会查看"functional-zen-quotes-master"这个...
此外,Python的生态系统鼓励模块化和可重用性,所以很多库都会遵循一定的设计模式和最佳实践,如单一职责原则、面向对象编程等。了解这些原则可以帮助我们更好地理解和利用forismatic这样的库。 总结起来,PyPI作为...
6. **软件工程实践**:良好的项目组织结构,如将多语言资源放在单独的 "po" 目录下,体现了软件工程的最佳实践,有助于代码的管理和维护。 这些知识点涵盖了从软件的国际化设计到具体的编程实现,以及良好的项目...
Ruby是一种面向对象的、动态类型的编程语言,以其简洁明了的语法和强大的元编程能力而受到开发者的喜爱。在构建lorquotes2时,开发者可能利用了Ruby的灵活性,创建了一个可扩展、易于维护的代码库。Ruby的框架如Ruby...
在本压缩包“C语言项目代码.zip”中,包含了六个核心的C语言编程项目,旨在帮助学习者深入理解和掌握C语言的基本概念与编程技巧。...在实践中学习,将理论与实际相结合,是学习任何编程语言的最佳路径。
标题“Frases-do-dia”看起来像是一个项目或者应用的名字,可能是一个每日格言或励志语录的应用程序。...理解并掌握这些技术是构建类似项目的关键,同时也需要关注软件工程的最佳实践,以确保项目的稳定性和可维护性。
在学习过程中,学员不仅会深入理解JavaScript语法,还会接触到前端开发的最佳实践,如模块化编程、代码组织、调试技巧等。此外,他们可能还会接触到与前端框架相关的知识,比如React、Vue或Angular,如果项目中包含...
**标题解析:** “cage-quotes”是一个项目,它是一个随机引用生成器,...通过这个项目,你可以深入学习React的开发流程,理解React组件化思想,并练习JavaScript编程技巧,同时也可以接触到前端开发的一些最佳实践。
在乔布斯的经典语录中,“精美得想舔一下”,或许是对这款特效最佳的赞赏。 源码文件KLSwitch,从其命名上看,很可能是实现这一开关效果的具体类或组件。在iOS开发中,这样的控件广泛应用于需要切换状态的场景,...