Home‎ > ‎

Stages in my programming career

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!"