I do not like AI.
I do not use it for my job for the same reason I don't use Vim for my job. Speed of editing and writing code isn't actually a bottleneck for me. I read code and design SQL tables, that's most of the day.
But, at the same time, the reality is that AI tools are available now. Unless much more is fixed than me wagging a finger, people are going to use them. You don't need to be snorting "it's the future!" powder to acknowledge that they exist.
Okay as in "will not lead to a worse result", not okay as in "is ethically okay." I don't think I can hold your attention that long.
Let's make up a person.
Fábio has been programming for 40 years. He has had a storied career building many of the systems that hold up our world. Fábio knows almost every programming language well, though he might need to brush up on Idris. Fábio also understands deeply system design, database design, and even product design. Alone or on a team he does nothing but shoot 3-pointers.
If Fábio uses AI to look something up he'll probably know when the AI got it wrong. If Fábio uses AI to generate code he'll be able to read it and either know if it does the right thing or how to test if it does.
The key is that Fábio knows more than the AI. He has the background needed to evaluate its output. The code that comes out of the development process is less likely to be bad the more actual knowledge and lived experience of the evaluator.
Is it a net positive overall? How much a positive if so? Remains to be seen, have fun with this point in history.
But for someone with a large base of experience, AI's impact is at its least negative.
Chandler is 18 years old. He is in a college but not a great one. His teacher is teaching from a curriculum that is a bit outdated and, even for the time it was written, not particularly sound. He doesn't really understand "Object Orientation" but he's pretty sure it has something to do with getters and setters. At the very least he knows that his teacher will take off marks if he doesn't use them.
If Chandler uses AI it is to supplement or replace his coursework. For the same reason someone might use AI as "better Google" because Google search has degraded so much over the years, he'll use it as "better teacher" because both his physical human teacher and the resources he finds online are deeply lacking.
Chandler doesn't understand code. This means he doesn't have the same ability to evaluate its output that Fábio does. When the AI says something wrong that sounds right or produces code that looks like it should work but doesn't, Chandler can't tell the difference.
Chandler will be able to get through his introductory classes. AIs are good at regurgitating CS 101 solutions. But he will satisfy the requirements without actually learning the concepts. It's a fate worse than being a "Google Programmer."
For someone with very little experience, AI's impact is at its most negative.
The worst part about the Chandler hypothetical is that it is sympathetic. Yes, our imaginary person lobotomizes themselves. But what were their other options? Is everyone going to be able to find an outside tutor?
The education system in the United States is rough. Incentives are in all the wrong places and the quality of education overall is highly variable. A huge number of kids cannot even read because of bad curriculums. Solving these problems will be hard. Even harder now that the Department of Education is effectively gone and Nazi Shit is afoot.
But there is an unfortunate tendency of people, especially those who view technological progress as something "inevitable" or indistinguishable from magic, to place their hopes in technology to solve hard problems.
Stop burning fossil fuels or your children will die choking on the dust that was once a river?1 I'm sure we'll figure out a way to just pull CO2 out of the atmosphere. Exxon Mobil says they are working on it. Stop bothering me, I'm watching my shows.
This is a form of "Techno-fetishism." Once you start noticing it in yourself and others it's hard to stop.
AI is not a solution to bad education. It's an additional problem. All the cons of AI are at their most pronounced the earlier someone is in their educational journey.
So somewhere between "total beginner" and "wizened veteran" is a point where the ability of someone to evaluate the output of an AI would be such that using it would not be obviously bad.
Where is that point exactly? It's not that I'm not interested in finding out, its just that I don't think it's the problem that most demands my life force.
So long as you're with me that there is a space to the left of wherever that point is where it definitely does more harm than good we're basically on the same page.
If I lose you at this point I understand, but try and stick with me.
In the United States there is the AP (Advanced Placement) program. High school students take what should be the equivalent of some 101 college course and then a big test at the end of the year. If they do well enough on the test, colleges will give them credit for the equivalent at their institution.
The cost to take these tests is relatively low as compared to the cost per credit once they are actually in college, so they can be a pretty good deal overall.
The AP Computer Science test and curriculum has issues. Breaking them down can be the subject of another post. All you need to know for now is that this course is based on Java. As such Oracle, the company who owns the Java trademark (and soon god willing, not the JavaScript trademark) and develops the language, holds significant sway on the evolution of AP CS.
This is Oracle's new suggested curriculum.
The following skills should be integrated throughout the curriculum:
... S4: Artificial Intelligence
... S4.A Explain best practices for using generative artificial intelligence when creating programs.
Okay, let them cook. AI does exist, you do need to contextualize it at some point. Eyebrow raising to say it should be "integrated throughout the curriculum," but let's see where they go with this.
So lesson 1.1.A.1. The first thing a student is looking at. The actual first thing they would want people to teach. It is "so here's an algorithm, ask ChatGPT how to simplify it."
This is egregious. Whatever legitimate uses you think there are for AI and wherever you think the point is on the beginner-expert spectrum that AI becomes a benefit rather than a detriment, this is not it. This is actively encouraging outsourcing thought processes to AI at the earliest possible moment.
It's not that there are no mechanisms to provide feedback (here you go java_devrel_grp@oracle.com), it's that this is so obviously terrible that I don't think isolated feedback (from somebody that is loud enough already) is going to change their direction.
Either there are some "true believers" who actually think that this makes sense or there is some top-down mandate to integrate AI into everything they do. Oracle (like many Big Tech companies) is currently riding an AI bubble in the stock market so the latter case feels like the better guess.
Either way, if this sort of stuff is normalized in the education system we're beyond screwed.
https://learn.java is relatively new and meaningfully incomplete. I won't hold that against anybody. But I highly encourage everyone reading this to read it as is and imagine more content being added on. Trace the outline of the bones. Imagine Chandler finding the end result and taking it at face value.
Will you be okay if this is how the AP Exam approaches Java (and programming as a whole?) Are you also deeply suspicious of the implications of this badge?
If you don't care about Java or the US Educational system - or have just given up on them - I get it. But I think this is an example of a larger trend. AI Companies need AI to be meteorically important to justify their valuations. Immense quantities of capital are going towards embedding AI into every aspect of our lives.
Be vigilant and, if you are in a position to, say no to obviously bad ideas. If you aren't, apply pressure on those who are.
If you don't want to do any of that, take a hard look at the information ecosystem and try your hand at improving it in a way that isn't behind a paywall.
1: This is a paraphrased Robert Evans quote, can't find from where exactly though.
I know I made you look at a Java website, I'm sorry. Forgive me in the comments.