I never really liked it, but I see its influence in Swift, every day, and I do like Swift.
I think that we are at the "unlikable Java" stage of AI, right now. In a few years, we'll be seeing the next generation of tools, and they will be pretty cool.
And no, CEOs, you won't be able to fire all of your developers, and still stay in business. The developers will just have different tools at hand.
Well, so much questionable here. First of all abstraction. Everything is an abstraction to programmers. It’s not, please. The author even was kind enough to contrast it with an old school bona fide abstraction. Garbage collection eliminates memory unsafety. You just don’t have to worry about it. That’s a real abstraction. It takes power away and streamlines the whole experience since you don’t have to worry about certain variables any more, they are just gone. What does AI do? It’s leverage. It might help you do things whatever factor of times faster that you insist. Completely unevenly. There is not one thing it reliably abstracts away. Please use precise words. You’re supposed to be technologists/technicians.
Then there’s the old looking to the past in order to lecture about what is hyped as completely unprecedented space-age technology. Okay to be honest this isn’t inconsistent if you merely think that AI is a great technology but not a revolution, not even a “silver bullet”. But anyway I see no reason to slavishly look to the past. The past is in fact tiny. WWII ended one person’s lifetime ago. How much oil was in the Earth 150 years ago? How much now? How reliably could you say that we could just expand economically forever 80 years ago? With climate change and whatnot, how is that looking right now?
Why not be a little cynical and pragmatic and consider that everything might not play out exactly like they did in a person’s lifetime kind of timespan. The worst could happen. What’s a billionaire with both a robot workforce and a robot army? That’s you getting discarded like the useful idiot that you are, or were. Just someone who dutifully built the whole world up for a little wage so that it could all be taken away.
Maybe you think economists are smart because they have quips against “finite piece of pie” so-called fallacies. Maybe you think that the best programmers are the ones who hustle along to the next paradigm, well those are after all the real go-getters, the ones who just get on with business. I think those are tunnel-visioned specialist fools.
Dig yourself into your specialist niche, aspire to be the hacker among hackers. Revel in embodying the values that only other members of your professional/hobbyist group respect. Meanwhile ignore the sharks of the world circling around you and get taken advantage of without any recourse or even notification.
My problem with current AI is that it isn't relieving us of boilerplate, it's making boilerplate cheaper to write. And when you make something cheaper, you get more of it! We already struggle as an industry with an overabundance of bad code. A fast bad-code generator might be a step towards a higher level of abstraction... but in the meantime it has more negative externalities than positive benefits.
Then again, the author lists "Java enterprise code" as a positive, so perhaps we just have fundamentally incompatible values and aesthetics.
Garbage collection makes thinking about memory irrelevant 99% of the time. Time saved with AI is spent figuring out what the AI did.
The garbage collector rarely makes itself a problem. AI almost always makes itself a problem.
Developers can go years without thinking about memory if they aren't in a complex environment. AI can't go a day without screwing up.
Garbage collection is very predictable. AI isn't.
You still have agency when that's the usage pattern. You have the problem, you use the tool to find the solution. Who cares if the one it spits out isn't character-for-character what you're looking for. Seeing the wrong solution sometimes helps you identify the right one _for you_.
If we _must compare them_ in this case, I see AI as a more useful tool than garbage collection. One that is far less invasive.
One thing to note: understanding memory management as a Java programmer makes you a better programmer. Having used malloc in bare metal mode helps you understand issues like memory leaks more clearly. It gives you a model of what is going on grounded in experience.
So that knowledge and experience of the old ways isn't useless. It's very useful and makes you a better developer. This is true of many advancements in tech, including AI.
Knowing how to build software without AI makes you a better developer when building with AI.
redwood•5h ago
alserio•5h ago