【译注】:原文在此,译文有删节。

所有的软件都烂透了

伙计们,让我们坦诚一点。 Sturgeon定律说90%的东西都是垃圾,他太理想化了。代码中垃圾的比例远远不止90%。” – Al viro(Linux内核的核心贡献者之一)

有两种构建软件设计的方式:一种是把它做得特别简单,明显看不出来有什么缺陷;另一种是把它做得特别复杂,看不出来有什么明显的缺陷。” – C.A.R. Hoare, 1980年 图灵奖获奖感言

生产效率最高的一种方法是去掉1000行代码。” – Ken Thompson (Unix 和 Go 语言 作者)

在我们行业里有个奇怪的现象:我们不但不从错误中学习,也不从成功中学习。” – Keith Braithwaite

有害的技术

这项统计工作还在进行中,很多有害技术还没能列入:

有害的技术害处较少一些的替代技术
SGML, XML, YAML.JSON, CSV, ndb(6), plain(UTF-8) text.
NFS, SMB, AFS, WebDAV.9p.
C++, Java, Vala, D, Python, Ruby.C, Go, Limbo.
pthreads (PoSix threads).CSP-style concurrency: Go, libthread, libtask, Limbo, Erlang, ...
Perl, Ruby.rc, awk.
PCREStructural Regular Expressions or plain classic/extended regexps (类似于 awk, sed, grep 中的用法).
Bash, tcsh, zsh.rc, OpenBSD's pdksh, ash/dash.
GNU Coreutils.Plan 9 from User Space.
GNU Screen.tmux.
GNU info.Man pages.
GCC.8c, tcc.
glibc.ucLibc, DietLibc.
GNU autoconf/automake, CMake, imake, scons, waf.mk, or plain old portable makefiles.
Glib.libc (see above), p9p's C libraries.
GTK, Qt, VxWindows.Tk, textual interfaces.
Vim, Emacs, nano, Eclipse, ...Acme, Sam, ed.
UTF-16, UTF-32, Latin-1, other encodings.UTF-8.
iSCSI, FCoE.AoE (ATA over Ethernet).
PAM (Pluggable Authentication Modules).Factotum.
Jabber and XMPP.IRC (用于 IM), STOMP (用于一般的分布式消息).
IMAP.SMAP(Simple Mail Access Protocol).
SQL databases.Tutorial D, pq, BigTable, 老的层级文件系统
Subversion, 即 svn.Git, Mercurial (即 hg); hell, 即使是 CVS 或老的 tarballs 也都比 svn 好.
FreeBSD, NetBSD, Solaris.OpenBSD.
Apache, lighttpd.thttpd, OpenBSD's fork of apache 1.3, nginx, 或最佳方案: 不要用 HTTP.
SVGPS(PostScript)
PDFPS(PostScript), DjVu.
EPUBDjVu.
ALSAOSS4
GPL, LGPL, Apache Software License, MPL, CC.ISC, MIT/X, BSD, CC0, public domain.
headsed 11q

下面是一些过分有害而且没用的技术,根本不需要替代技术的: