IDEs enable us to not bother memorizing the number and order of arguments, long names beyond the first word or two, etc. the impact is comparable, freeing some of the very limited space in our memory for more important things.
sure, students and juniors shoot themselves in the dick if they let LLMs do everything, but they're fucked anyway so it doesn't matter,
That's because you are used to it. I am old enough to have been there during the rise of things like intellisense and language servers, people were making the exact same arguments about them. That not knowing your API to the core makes you a bad programmer. I'm sure for IDEs themselves there were similar arguments and it goes all the way back to Socrates' warning against writing. These arguments always end with "but this time it's different". And inevitably each time it's not.
> That not knowing your API to the core makes you a bad programmer.
Seriously, this was a huge thing in C and C++, where you had to know/remember/know to look up very specific error codes and conditions in an API and if you didn't then it was very much considered to be a skill issue. This was maybe 15 years ago.
> Seriously, this was a huge thing in C and C++, where you had to know/remember/know to look up very specific error codes and conditions in an API and if you didn't then it was very much considered to be a skill issue.
It was not unless you were part of some very weird circle. There was always manuals and other references that listed everything about a platform or library. Then we got ‘man’ and ‘info’. And I remember being able to download the full docs of windows’ various documentation.
That’s like saying as a writer you were looked down at because you had to look at a dictionary every once in a while.
I'm not sure what you're saying, or how it is not what I'm saying? You're giving examples of places to read documentation, and I'm saying that the expectation was that behaviors caused by not checking documentation would be your fault. If that isn't your experience, cool, it was definitely mine when posting on forums online 15-16 years ago.
Why wouldn’t it be? If you were in charge of writing a letter and use words that hinders the purpose of the letter, thus resulting in a flawed communication, wouldn’t it be your fault? Especially when dictionaries are easily available?
>people were making the exact same arguments about them. That not knowing your API to the core makes you a bad programmer.
And they were correct. You're entirely right that this time it isn't different, but in the sense that the quality of both developers and code has been going downhill for decades. The only thing that has kept this industry alive is that hardware got more performant faster than developers became more inept.
The non-strawman version of Socrates warning, that writing-based cultures would lose memory, take recorded fact at face value and mistake knowledge for wisdom was true as well. Your post is an example of this, you read something about Socrates, you didn't investigate and were fine with the appearance of knowledge, and because books can't defend themselves you mistook that for understanding.
That's what he was concerned about, hordes of people with a vague assemblage of facts but no genuine capacity to critically think.
I am not arguing that things don't change and certain skills dont atrophy. I am arguing that the atrophied skills are compensated by new skills we develop. But your personal attack makes me feel like your purpose is to win, not to be right.
>I am arguing that the atrophied skills are compensated by new skills we develop
is there a lot of evidence for this? You can broadly put technology into two camps. Technologically that, as it becomes more powerful, demands more attention and skill from the user and just the opposite. A bow is more powerful than a stick but also more demanding to use. A car is more powerful than your feet but your population ends up obese. Almost every single piece of software, with the exception of maybe debuggers, who an astonishingly amount of seasoned developers do not utilize (I suspect for that reason), is a car and not a bow.
There's a study on English college students roughly ten years ago who were tasked to read the first few paragraphs of Dicken's Bleak House. They were even allowed to use a dictionary and the internet. A majority could not interpret the text. That's where we were at before LLMs. My rural working-class grandfather at an underfunded Catholic school had to translate Ovid from Latin into German in 8th grade. It wasn't even a personal attack, we're just this fried now.
You are equating governance failures with technological ones. At one hand you are asking me to prove how technology like writing or cars are useful but on the other hand you are bemoaning people's declining reading abilities. What even is your point?
that's not what I said at all. I pointed out that there are technologies that facilitate human development, and there are technologies that stunt and replace it, say a car.
What I was asking was is: If it's true as you say that we have replaced our atrophied skills with other ones, what are some of those, or technologies that facilitate them? Be that governmental, social or otherwise. Because we have a decline in reading, a decline in physical ability, a decline in sociality, to the topic of the thread a decline in the quality of software and engineers, but very little to show for it in my book.
Bro we recently saw the trailer for GTA 6. I personally work on machines which have to compensate for relativistic effects of individual photons in real time. I am not sure how else to prove that we are doing more advanced in making software systems.
code didn't matter even before LLMs. we only ever cared about the product of it.
the current pace of LLM advancement only has to keep for five more years for handmade code to be considered a liability. I wouldn't worry about being able to recall obscure APIs or whiteboard leetcode. I'm far more worried about having to change careers at 40.
I've seen the result of "code doesn't matter" and it's difficult to change and maintain. I guess if your business is ok with frequent P1 incidents or ships a complete product and never touches it again, but I've never been part of one. I've also never been in a position that cared about leetcode or remembering APIs, so it's possible my experience is completely different from yours.
ah, but if there are incidents then the product is faulty. by "code doesn't matter" I mean exactly that we don't care what's under the hood as long as it runs. code with "good enough" quality delivered in a week is most often preferable to premium quality code delivered in a month, and even "it's ugly, slow, and there are edge cases when it breaks"-quality code hacked together during the lunch break is often sufficient for the product to function.
> With AI people aren't reading, writing, or thinking about the code.
Writing, definitely. Reading, maybe. Thinking is another thing. I can think about code in a lot of ways just by reading a description of the code, or knowing how I directed the code to be written, etc. I think people are thinking about the code differently.
I’m genuinely curious why it matters to make abstract moral judgments about the differences between remembering function names and deep understanding of the syntax used in a function.
Why don’t we just care about results? Code quality, performance, clarity are all measurable. Why bother with philosophical positions on these?
How do you trust the results of a black box that are hard to verify? Most of us use proxies that are easier to check, like historical competence and maturity. For example, it's difficult to verify my compiler produces a binary that correctly implements the code I wrote. I can partially validate the result with testing, but when I send it out into the world to handle unknown inputs I'm trusting that the compiler has done its job correctly. I can have that trust because I know the compiler people (in aggregate) have thought very hard about correctness, and the project is mature enough that bugs are rare. If the GCC developers tomorrow were to start merging anything that passed the test suite and some other list of objective metrics, my trust would rightly decrease.
Number and order of arguments, long names, etc. are just bureaucracy. Knowing them doesn't mean you understand the codebase any better than if you rely on the IDE for it.
It's a bit like remembering the exact date an historical event happened vs. knowing at which point in history it did, what other events relate to it, etc. Neither makes you better or worse at knowing and understanding the history of the event.
I spend a ton of time mentoring Jrs in FOSS communities, but I confess as a startup founder myself I could simply not justify hiring anyone but self-directed seniors until we are profitable enough to set some money on fire for what would effectively be just a long term investment in creating a few new Srs. But Jr hiring will never again be what it was unless it gets subsidized somehow as partial charity.
sure, students and juniors shoot themselves in the dick if they let LLMs do everything, but they're fucked anyway so it doesn't matter,