5 ms·
I'm going to cast a dissenting vote from the other comments here and say yes. The golden age of my personal programming experiences was around 1993, during hig
by T-hawk 15y ago
I'm going to cast a dissenting vote from the other comments here and say yes.
The golden age of my personal programming experiences was around 1993, during high school. After outgrowing GW-Basic, I was hacking around in x86 assembly language, figuring out how to program DOS graphical games by manipulating VGA hardware registers. My tutors were library books on x86 assembler and instructional text files gleaned from local BBSes. (I still have and treasure those resources to this day. Michael Abrash was my god.) I was able, by myself, to produce programs as technically intricate and graphically rich as industry-leading fare like Commander Keen or Epic Pinball, in pure assembly language. (I never actually made anything beyond tech demo stages into an actual marketable game.)
This was magic. Not a single other person I'd ever met in my life or even on local BBSes across my entire area code had that sort of capability. This awed even non-techies, whose pinnacle of computer experience was somewhere between Solitaire and Minesweeper. I had a mini-career programming BBS advertisements for inclusion in zip files, putting out some neat and impressive graphical effects in 2k or so of assembler code. My favorite trick was to include what appeared to be a custom font in these tiny executables - done by copying the BIOS ROM font at runtime and applying some bitmap transformations to each letter. I even wrote my own mini sound engine for the Adlib FM-synthesis registers.
Nowadays? Grab a Flash development tutorial and you can do in a week what I spent most of high school learning and doing. Everything is possible in programming and everybody knows it and every answer is seconds away. There's no feeling of exploration and achievement. There's certainly achievement in building a business or product, but not in the programming itself, which now serves as the drudgerous means to an end.
The connectivity of the Internet has eliminated local maxima. I was in high school by an order of magnitude the smartest programmer I'd ever met, but I'm thoroughly average in the Internet world. I've never been motivated to strike out building my own cool software or startup since nothing's ever come to me that could recapture the magic of my early days of DOS VGA assembly discovery and programming.
All the cool technology and companies now are about connectivity, starting with Google and its primal concept of page rank and link juice. Facebook and its world-squared size social graph. Ebay the world-squared size marketplace. Apple and its million-strong app store. Dropbox and its seamless cloud connectivity. You can't program anything meaningful and novel in and of itself; programs are now defined by what they interact with. Some do find scalability and connectivity exciting, but not me. You can certainly produce scintillating results with modern resources, but for me it's always been about the journey not the goal, and the journey of modern programming is, for me, essentially drudgery.
- elboru 15y agoAbstraction should never be something "bad", if today "common" people is able to develop a basic game in seconds with flash, then why don't you try to compete with big game companies? try to beat their graphics and their AI. "Nowadays? Grab a Flash development tutorial and you can do in a week what I spent most of high school learning and doing." Is like an electrical engineer complaining about assembler in favor of binary electrical pulses: "Nowadays? Grab a programming tutorial and you can do in a week what I spent most of high school learning and doing."
- T-hawk 15y agoYes, abstractions lead to highly leveraged multipliers of effort, and to bigger results. For everyone like me whose golden age was DOS VGA programming, there was a Commodore 64 alumnus lamenting that it's no fun to have a flat high-color bitmap buffer, that the excitement in programming is to be found in squeezing impressive effects out of eight sprites and sixteen colors. The 80486 VGA machine can put out Doom, which by any measure is a bigger and more impressive result than say Choplifter, but it doesn't mean the C64 hacker would find Doom more fun to write. (He may, or may not.) My point is that finding excitement in programming can be intensely personal. I couldn't write Facebook in my DOS assembler, but that doesn't mean I find exciting the modern platform that can. Your electrical engineer couldn't write Angry Birds in hardware, but that doesn't mean he'll enjoy Objective-C just because it can. Not all programmers are motivated by results. The HN crowd skews that way, but there are many like me for whom it's not the destination but the journey that carries the real meaning.
- Craiggybear 15y agoActually, you could write Facebook in x86 assembler but that would be a drudge! Oh ... and I do know an electronics engineer who probably could do Angry Birds in hardware, but almost certainly wouldn't want to. "What is Angry Birds" I can hear him say.
- ismarc 15y agoI completely disagree with your, and partly for the same reasons you disagree with others. The local maxima you describe is something I hit early on, then got access to the university of Missouri while still in middle school. Being below average to average was a giant wake up call that pushed me more. When they connected to the Internet, the information and people available from that connectivity pushed me more. I'm likely never going to do anything that makes me world famous, but if I can be within a standard deviation of all the brilliant people that are only a sentence away, i'll be ecstatic.