3 ms·
I've been programming for about 16 years. Started with C++, doing my own memory management for routine tasks. Later, started abstractions like garbage collect
by geebee 9y ago
I've been programming for about 16 years. Started with C++, doing my own memory management for routine tasks. Later, started abstractions like garbage collection, jdbc, and servlets.
Of course, the day comes when the high level abstractions of your youth are referred to as "low level". And while that may seem silly to people who write machine code, there is something low level-ish about managing your own database connections and/or writing your own resource pool.
Almost everything we do is routinely turned into, well, routine work. Rails automated a lot, but not all, of what I did. I'm tiptoeing close to a "no true scotsman" argument here, but I'd almost define "programming" as writing code that hasn't been automated yet - which is why the job of being a programmer won't be automated.
Here's why I think my argument is almost, but not quite, a "no true scotsman" fallacy. I have a lot of trouble seeing how anything could replace human programmers, but that's the rub - the way it happens, should it happen, will surprise me. The analogy I have in my head is someone who is trying to create a mechanical turk to replace a symphony orchestra. A wind up doll to play a violin, trumpet, piano. There are a few successes, with self playing pianos, but overall, it appears to be distant.
And then... an unanticipated concept, one that blows your mind: it turns out that you can actually capture music, exactly as it was played, with a device that will project that sound back just as it was made the first time. You can play the symphony once, and listen to it an unlimited number of times. And just like that, live music played by a human goes from 99% of all music heard to well below 1%.
We could very well be replaced, but not as we are. I think it'll be something different, that provides what we provided, in a way that makes us largely unnecessary.