Stage |
Epiphanies |
|
Symptoms |
1: Sinclair Basic |
"It can do anything if you just throw enough code at it"
"One day I won't need to remember that 'GOSUB' is on the 'H' key"
|
|
- Pinball programming
- Spaghetti code
|
2: Pascal |
"User defined functions mean I can re-design the whole language"
"Holy shit, I can actually compile to an .exe?"
|
|
- Programming yourself into a corner
- Cut 'n Paste programming
- The "Utility" library
|
3: OOP |
"I'll model the whole universe, beginning with hydrogen, and then I'll write the program" |
|
- Rube Goldberg contraptions
- "Car" inherits from "Parking Lot"
- Keep putting new functions in the base class
|
4: Perl |
"My programs will be better if I can squeeze more into each line"
"Oh cool, a CPAN library that does X, that's one more feature I must add this afternoon" |
|
- Concise Rube Goldberg contraptions
- Debugging with print statements
- Aggregate data structures stop at "Hashtable"
- "Hey, since when did my program become an operating system?"
|
5: Design Patterns |
"Program.cs is just a compiled config file" |
|
- Abstractions to nowhere
- Patterns for Patterns sake
|
6: Functional Programming |
"You should write programs by saying what you want, not how to get it"
"All programs just transform input, even the interactive ones" |
|
- LINQ as a new kind of obfuscation
|
7: Metaprogramming |
"Program.cs just loads the XML config file, which is where I defined all the behavior"
"Programs should know what they are"
"The architecture plan should be executable" |
|
- Gigantic memory footprints
- Data types are forgotten in favor of XML elements
|
8: Statistically driven programming |
"Now that I've defined the expected function, I can use it to generate unit tests that guide a genetic algorithm to create the ideal implementation"
"Bugs should heal themselves" |
|
|
9: Maturity |
"If we don't really need it, I don't have to write any code"
"Users should be given tools and training, not a pushbutton/turnkey sealed-n-seamless 'solution'"
"If these kids were to get off my lawn, I wouldn't have to keep fixing it" |
|
|
10: Senescence |
"Hey kids! Get the fuck off my lawn!" |
|
|