Did you write your own letters? Did you write your own arguments? Did you write your own code? I do, and don't depend on systems other built to do so. And losing the ability of keep doing so is a pretty big trade-off, in my opinion.
There seems to be a mistaken thought that having an AI (or indeed someone else) help you achieve a task means you aren't learning anything. This is reductionist. I suggest instead that it's about degrees of autonomy. The person you're responding to made a choice to get the AI to help integrate a library. They chose NOT to have the AI edit the files itself; they rather spent time reading through the changes and understanding the integration points, and tweaking the code to make it their own. This is much different to vibe coding.
I do a similar loop with my use of AI - I will upload code to Gemini 2.5 Pro, talk through options and assumptions, and maybe get it to write some or all of the next step, or to try out different approaches to a refactor. Integrating any code back into the original source is never copy-and-paste, and that's where the learning is. For example, I added Dexie (a library/wrapper for accessing IndexedDB) to a browser extension project the other day, and the AI helped me get started with a minimal amount of initial knowledge, yet I learned a lot about Dexie and have been able to expand upon the code myself since. If I were on my own, I would probably have barrelled ahead and just used IndexedDB directly, resulting in a lot more boilerplate code and time spent doing busywork. It's this sort of friction reduction that I find most liberating about AI. Trying out a new library isn't a multi-hour slog; instead, you can sample it and possibly reject it as unsuitable almost immediately without having to waste a lot of time on R&D. In my case, I didn't learn 'raw' IndexedDB, but instead I got the job done with a library offering a more suitable level of abstraction, and saved hours in the process.
This isn't lazy or giving up the opportunity to learn, it's simply optimising your time.
The "not invented here" syndrome is something I kindly suggest you examine, as you may find you are actually limiting your own innovation by rejecting everything that you can't do yourself.
It's not reductionist, it's a fact. If you, instead of learning Python, ask an LLM to code you something in Python, you won't learn a line of Python in the process. Even if you read the produced code from beginning to end. Because (and honestly I'm surprised I have to point out this, here of all places) you learn by writing code, not by reading code.
I encourage you to try this yourself and see how you feel.
Recently I used an LLM to help me build a small application in Rust, having never used it before (though I had a few years of high performance C++ experience).
The LLM wrote most of the code, but it was no more than ~100 lines at a time, then I’d tweak, insert, commit, plan the next feature. I hand-wrote very little, but I was extremely involved in the design and layout of the app.
Without question, I learned a lot about Rust. I used tokio’s async runtime, their mpsc channels, and streams to make a high performance crawler that worked really well for my use case.
If I needed to write Rust without an LLM now, I believe I could do it - though it would be slower and harder.
There’s definitely a “turn my brain off and LLM for me” way to use these tools, but it is reductive to state that ALL usage of such tools is like this.
Of course you have learned a lot about rust. What you haven't learned is to program in rust. Try, a month from now, to write that application in rust from scratch, without any LLM help. If you can, then you truly learned to program in rust. If you don't, then what you learned is just generic trivia about rust.
Unless you're writing machine code, you aren't really writing your own code either. You're giving high level instructions, which depend on many complex systems built by thousands of engineers to actually run.
It seems like you are more interested on being snarky than in having a conversation, but I'll try. You are being nitpicky by saying I depend on external systems. Of course we depend on external systems. This is a civilization. At the end of the day we depend on many things. But until now, once we had set up a computer, we did not depend on anything but free resources to code.
You can get a computer from other person, install linux and you can start to code. We can get documentation from internet freely. What we are doing right now is giving up this ability by relying on a very centralized service.
This is going to bite us. New programmers are not going to really learn anything, but how to ask a LLM. And when (not if) the companies in charge of the LLMs decide to raise the price, everyone will pay.
New programmers are not going to ask new questions in forums, because they will work it out the answers with their LLM, and those sessions will be used by the owners to improve the LLM. We are centralizing knowledge and abilities.
And let's not forget the huge energy bill all this LLM dancing is having. People is spending gigawatts of energy asking over and over and over the same questions to an LLM. This is incredibly wasteful.
But yeah, this is all about my "artisanal hand-sculpted code that you’re so proud of". Hopefully you didn't use a LLM to write that line. It would have been a waste.
Your concerns about centralization/monopolies are valid, though it's actually not very different than the situation with operating systems. As with Linux, there are open source LLMs which are very good, if not quite sota. There's also fierce competition between the commercial foundation model providers, so it's not like they can just raise prices whenever they want. So your criticism on this is fair but overly reductive and simplistic.
The idea that people using LLMs "won't learning anything" is just silly though. They're one of the best learning tools that humans have ever produced. You can use them to avoid learning, or you can use them to learn 10x faster.
Feel free to dismiss LLMs and write all your code by hand. It's up to you, and I'll even grant you there are some benefits, despite the significantly reduced productivity. But please don't act like doing so makes you a better progammer than others. That's the definition of gatekeeping. And again, we've been through all of this before with high level languages. It happens every time a new innovation makes programming more accessible and higher leverage.
There are open source models, yes, but they are way worse than the commercial ones. I know it because I try every one that comes out. Nothing really compares to commercial ones. And what's going to happen is same story as always. Building a LLM is similar in effort as building a search engine. In the end we'll have one LLM everyone will use. And they'll do whatever they want with it.
Also, what I said is that people using LLMs to write code in programming languages they don't know won't learn to program such languages. Because, as hopefully everyone knows, you learn to program by writing code, not by reading it.
So, you will be a better programmer if you put the effort and properly learn to code in the language, instead of lazily use the LLM clutches. And that's not gatekeeping, that's a fact.
Once you really learn the language, go for it, use the LLM. And then you'll discover the LLM is optimized to find the most average and mediocre solution, the one that takes the least amount of effort to generate. Because obviously they are optimized to be efficient for their owners.
You seem very confident in your predictions. Why would there be “one LLM everyone uses”? That certainly isn’t the case now.
LLMs can help someone learn a new language much faster. If you’re trying to learn anything new at this point and not using LLMs to help, you’re just needlessly slowing yourself down. But that (obviously) doesn’t mean you just ask the LLM to write code for you and commit it without understanding.
> Did you write your own letters? Did you write your own arguments? Did you write your own code? I do, and don't depend on systems other built to do so. And losing the ability of keep doing so is a pretty big trade-off, in my opinion.
Gatekeeping at it's finest, you're not a "true" software engineer if you're not editing the kernel on your own, locked in in a cubicle, with no external help.
That... Doesn't even begin to make sense. Defending the ability to code without relying on three big corps is... absolutely unrelated with gate-keeping.