Peter Naur's classic 1985 essay "Programming as Theory Building" argues that a program is not its source code. A program is a shared mental construct (he uses the word theory) that lives in the minds of the people who work on it. If you lose the people, you lose the program. The code is merely a written representation of the program, and it's lossy, so you can't reconstruct
#!/home/djacoby/webserver/perl/bin/perl | |
# This program is used to download a Dropbox directory onto a machine | |
# without Dropbox tools installed | |
use strict; | |
use warnings; | |
use utf8; | |
use feature qw{ postderef say signatures state }; | |
no warnings qw{ experimental::postderef experimental::signatures }; |
04/26/2103. From a lecture by Professor John Ousterhout at Stanford, class CS142.
This is my most touchy-feely thought for the weekend. Here’s the basic idea: It’s really hard to build relationships that last for a long time. If you haven’t discovered this, you will discover this sooner or later. And it's hard both for personal relationships and for business relationships. And to me, it's pretty amazing that two people can stay married for 25 years without killing each other.
[Laughter]
> But honestly, most professional relationships don't last anywhere near that long. The best bands always seem to break up after 2 or 3 years. And business partnerships fall apart, and there's all these problems in these relationships that just don't last. So, why is that? Well, in my view, it’s relationships don't fail because there some single catastrophic event to destroy them, although often there is a single catastrophic event around the the end of the relation
BuiltinFunctions::ProhibitBooleanGrep | |
BuiltinFunctions::ProhibitStringyEval | |
BuiltinFunctions::ProhibitStringySplit | |
BuiltinFunctions::ProhibitUniversalCan | |
BuiltinFunctions::ProhibitUniversalIsa | |
ClassHierarchies::ProhibitExplicitISA | |
ControlStructures::ProhibitMutatingListFunctions | |
ControlStructures::ProhibitUnreachableCode | |
ErrorHandling::RequireCarping | |
InputOutput::ProhibitBarewordFileHandles |