12 ms·
AI is an impediment to learning web development
- elicksaur 2y agoIf it’s true for the beginner level, then it’s true for every level, since we’re always learning something.
- Krei-se 2y agoI like AI to help me fixing bugs and looking up errors, but i usually architect everything on my own and i'm glad i can use it for everything i would've put off to some coworker who can do the lookups and works on a view or sth. that has no reconnect to the base system architecture. So he's not wrong, you have to ask the right questions still, but with later models that think about what they do this could still become a non-issue sooner than some breathing in relieve think. We are bound to a maximum of around 8 working units in our brain, a machine is not. Once AI builds a structure graph like wikidata next to the attention vectors we are so done!
- boredemployee 2y agoWell, I must admit, LLMs made me lose the joy of learning programming and made me realize I like to solve problems. There was a time I really liked to go through books, documentation, learn and run the codes etc. but these days are gone for me. I prefer to enjoy free time and go to the gym now
- SoftTalker 2y agoI'm the same, and I think it's a product of getting older and being more and more acutely aware of the passage of time and not wanting to spend time on bullshit things. Nothing to do with LLMs. I still like solving problems in code but I no longer get any joy from learning yet another new language or framework to do the same things we've been doing for the past 30 years, but with a different accent.
- mewpmewp2 2y agoIt is kind of opposite to me. I do a lot more side projects now, because I enjoy building, and I enjoy using LLMs as this multiplying tool so I build more with the same amount of time. I think integrating LLM with your workflow is also problem solving and an exciting novel way to problem solve at this. It gets my imagination really running and it is awesome to be able to exchange back and forth to overall see things from more perspectives since LLM can give me more different and varied point of views than I alone could have come up with.
- aerhardt 2y agoI am in your camp. LLMs have made everything better for me, both learning and producing.
- anonzzzies 2y agoSame here; I am building so much more and faster than ever in my life and it is great. When I was a kid in the early 80s learning about AI, like everyone who mentored me, I thought it would be replacing programmers by 2000; that might still happen but for now the productivity is a blast.
- VBprogrammer 2y agoLLMs really help me with the blank page problem. Just getting something, even partially working, to built upon can be a huge win.
- volker48 2y agoSame for me. Many times I would have an idea, but I would think ahead of all the mundane and tedious things I would need to complete to implement it and not even get started. Now I work with the LLM to do those more tedious and mechanical parts and frankly the LLM is generating pretty similar code to what I would have written anyway and if not I just rewrite it. A few times I've even been pleasantly surprised when the LLM took an approach I wouldn't have considered and I actually liked it better.
- atomic128 2y agoThis sentiment, I observe it everywhere. My coworkers and the people I interact with in engineering communities. A process of hollowing out and loss of motivation, a loss of meaning and purpose, as people delegate more and more of their thinking to the LLM. Some may ruminate and pontificate and lament the loss of engineering dignity, maybe even the loss of human dignity. But some will realize this is an inevitable result of human nature. They accept that the minds of their fellow men will atrophy through disuse, that people will rapidly become dependent and cognitively impaired. A fruitful stance is to make an effort to profit from this downfall, instead of complaining impotently. See https://news.ycombinator.com/item?id=41733311 https://news.ycombinator.com/item?id=41733311 There's also an aspect of tragic comedy. You can tell that people are dazzled by the output of the LLM, accepting its correctness because it talks so smart. They have lost the ability to evaluate its correctness, or will never develop said ability. Here is an example from yesterday. This is totally nonsensical and incorrect yet the commenter pasted it into the thread to demonstrate the LLM's understanding: https://news.ycombinator.com/item?id=41747089 https://news.ycombinator.com/item?id=41747089 Grab your popcorn and enjoy the show. "Nothing stops this train."
- bongodongobob 2y agoIt's called getting older. You guys are so dramatic about the llm stuff lol
- lgka 2y agoNo, it is called having one's open source output stolen by billionaires who then pay enough apologists, directly or indirectly, to justify the heist.
- bongodongobob 2y agoNo one stole anything from you. Other than maybe your self esteem.
- LtWorf 2y ago
- xnx 2y ago"Modern" web development is so convoluted I'm happy to have a tool to help me sort through the BS and make something useful. In the near future (once the thrash of fad frameworks and almost-databases has passed) there may be a sane tech stack worth knowing.
- grey-area 2y agoYou don't have to use 'Modern Frameworks' (aka an ahistorical mish-mash of Javascript frameworks) to do web development at all. I'm really puzzled as to why people refer to this as modern web development. If you're looking for a sane tech stack there are plenty of languages to use which are not javascript and plenty of previous frameworks to look at. Very little javascript is needed for a useful and fluid front-end experience and the back end can be whatever you like.
- zelphirkalt 2y agoWell, I wish more developers had your insight and could make it heard at their jobs. Then the web would be in a better state than it is today.
- lovethevoid 2y agoVast majority of the web's downfalls stem from advertising and tracking. Unless you're proposing a way to remove advertising, then the problems will remain no matter what tech the developers opted for.
- mdhb 2y agoYou are conflating two entirely different issues. Both are true but neither at the expense of the other
- lovethevoid 2y agoThey aren't entirely different issues at all and are quite tightly interwoven. It doesn't matter how many ms you shave off by using/not using react when your page loads a full screen video ad and has 50MB of trackers to aid in its quest to access personal info.
- blackeyeblitzar 2y agoAlmost every student I know now cheats on assignments using ChatGPT. It’s sad.
- deleted 2y ago[deleted]
- synack 2y agoIf all the students are using ChatGPT to do the assignments and the TA is using ChatGPT to grade them, maybe it's not cheating, maybe that's just how things are now. It's like using a calculator for your math homework. You still need to understand the concepts, but the details can be offloaded to a machine. I think the difference is that the calculator is always correct, whereas ChatGPT... not so much.
- grey-area 2y agoYes that's why it's nothing like using a calculator. If the LLM had a concept of right or wrong or knew when it was wrong, that would be entirely different. As it is you're getting a smeared average of every bit of similar code it was exposed to, likely wrong, inefficient and certainly not a good tool for learning at present. Hopefully they'll improve somehow.
- Rocka24 2y agoWe are now in a world where the common layman can get their hands on a GPT (a GPT that is predicted to be equivalent to a pHD in intelligence soon), instead of the person scrolling hugging face and churning out their custom built models. I think in the future it'll be pretty interesting to see how this changes regular blue collar or secretarial work. Will the next future of startups be just fresh grads looking for B2B ideas that eliminate the common person?
- bigstrat2003 2y agoIt is both cheating, and also the way things are now. Also your calculator example is odd, because when you're learning the math that calculators can do, using a calculator is cheating. Nobody would say we should let third graders bring a calculator instead of learning to do arithmetic, it defeats the purpose of the learning.
- BinaryMachine 2y agoThank you for this post. I use LLMs sometimes to understand a step by step mathematical process (this can be hard to search google). I believe getting a broad idea by asking someone is the quickest way to understand any sort of business logic related to the project. I enjoyed your examples, and maybe there should be a dedicated site just for examples of code related to the web that used an LLM to generate any logic, the web changes constantly and I wonder how these LLMs will keep up with the specs, specific browsers, frameworks, etc.
- cush 2y agoI find it particularly ironic when someone who goes to a top university with $70k/yr tuition attempts to gatekeep how learning should be. LLMs are just another tool to use. They're ubiquitously accessible to everyone and are an absolute game-changer for learning. Folks in an academic setting particularly will sneer at those who don't build everything from first principles. Go back 20 years, and the same article would read "IDEs are an impediment to learning web development"
- wsintra2022 2y agoHmm not so sure. If you don’t know or understand some web development fundamentals; having a friend who just writes the code for you and also sometimes makes up wrong code and presents it as the right code. Can definitely be a hindrance to learning rather than a help.
- cush 2y agoEveryone in this thread is saying this as if humans don't make mistakes. I get presented with wrong code as if it's right code every day
- o11c 2y agoThe problem is that the AI always gives wrong answers that are indistinguishable from correct answers if you don't already know what you're doing. And if you know what you're doing, you don't need the AI.
- cush 2y agoJust because a student asking a question doesn't mean they're incapable of applying their existing knowledge or intuition... "How tall is the Leaning Tower of Pisa?" - "13ft tall" "Okay well that's obviously wrong..."
- guappa 2y agoI got my degree in computer science paying less than 200€ in tuition fees.
- dennisy 2y agoI feel this idea extends past just learning, I worry using LLMs to write code is making us all lazy and unfocused thinkers. I personally have banned myself from using any in editor assistance where you just copy the code directly over. I do still use chatGPT but without copy pasting any code, more along the lines of how I would use search.
- steve_adams_86 2y agoI do this as well. I have inline suggestions enabled with supermaven (I like the tiny, short, fast suggestions it creates), but otherwise I’m really using LLMs to validate ideas, not actually generate code. I find supermaven helps keep me on track because its suggestions are often in line with where I was going, rather than branching off into huge snippets of slightly related boilerplate. That’s extremely distracting.
- dennisy 2y agoYes! This is the other point is that it is also just distracting as you are thinking through a hard problem to have code just popping up which you inevitably end up reading even if you know what you planned to write. Just had a glimpse at supermaven and not sure why that would be better, the site suggest it is a faster copilot.
- steve_adams_86 2y agoIt’s better for me because the suggestions are much faster and typically more brief and useful. However, I haven’t used copilot for quite a while, so it might be similar these days. I recall it having very verbose, tangential suggestions.
- steve_adams_86 2y agoI’ve come to the same conclusion in regards to my own learning, even after 15 years doing this. When I want a quick hint for something I understand the gist of, but don’t know the specifics, I really like AI. It shortens the trip to google, more or less. When I want a cursory explanation of some low level concept I want to understand better, I find it helpful to get pushed in various directions by the AI. Again, this is mostly replacing google, though it’s slightly better. AI is a great rubber duck at times too. I like being able to bounce ideas around and see code samples in a sort of evolving discussion. Yet AI starts to show its weaknesses here, even as context windows and model quality has evidently ballooned. This is where real value would exist for me, but progress seems slowest. When I get an AI to straight up generate code for me I can’t help but be afraid of it. If I knew less I think I’d mostly be excited that working code is materializing out of the ether, but my experience so far has been that this code is not what it appears to be. The author’s description of ‘dissonant’ code is very apt. This code never quite fits its purpose or context. It’s always slightly off the mark. Some of it is totally wrong or comes with crazy bugs, missed edge cases, etc. Sure, you can fix this, but this feels a bit too much like using the wrong too for the job and then correcting it after the fact. Worse still is that in the context of learning, you’re getting all kinds of false positive signals all the time that X or Y works (the code ran!!), when in reality it’s terrible practice or not actually working for the right reasons or doing what you think it does. The silver lining of LLMs and education (for me) is that they demonstrated something to me about how I learn and what I need to do to learn better. Ironically, this does not rely on LLMs at all, but almost the opposite.
- emseetech 2y agoI'm of the same mind, AI is a useful rubber duck. A conversation with a brilliant idiot: Can't take what it says at face value but perfect for getting the gears turning. But after a year of autocomplete/code generation, I chucked that out the window. I switched it to a command (ctrl-;) and hardly ever use it. Typing is the smallest part of coding but it produces a zen-like state that matures my mental model of what's being built. Skipping it is like weightlifting without stretching.
- bsder 2y ago> I really like AI. It shortens the trip to google, more or less. Is this "AI is good" or "Google is shit" or "Web is shit and Google reflects that"? This is kind of an important distinction. Perhaps I'm viewing the past through rose-tinted glasses, but it feels like searching for code stuff was way better back about 2005. If you searched and got a hit, it was something decent as someone took the time to put it on the web. If you didn't get a hit, you either hit something predating the web (hunting for VB6 stuff, for example) or were in very deep (Use the Source, Luke). Hmmm, that almost sounds like we're trying to use AI to unwind an Eternal September brought on by StackOverflow and Github. I might buy that. The big problem I have is that AI appears to be polluting any remaining signal faster than AI is sorting through the garbage. This is already happening in places like "food recipes" where you can't trust textual web results anymore--you need a secondary channel (either a prep video or a primary source cookbook, for example) to authenticate that the recipe is factually correct. My biggest fear is that this has already happened in programming, and we just haven't noticed yet.
- lofaszvanitt 2y agoWhen a person is using LLMs for work and the result is abysmal, that person must go. So easy. LLMs will make people dumber in the long term, because the machine thinks instead of them and they will readily accept the result it gives if it works. This will have horrifying results in 1-2 generations. Just like social media killed people's attention spam. But of course we don't need to regulate this space. Just let it go, all in wild west baby.
- thatcat 2y agoCalifornia passed regulations based on model size. https://leginfo.legislature.ca.gov/faces/billNavClient.xhtml?bill_id=202320240SB1047 https://leginfo.legislature.ca.gov/faces/billNavClient.xhtml...
- deleted 2y ago[deleted]
- 1propionyl 2y agoIt was not signed into law, it was vetoed by the governor. https://www.gov.ca.gov/wp-content/uploads/2024/09/SB-1047-Veto-Message.pdf https://www.gov.ca.gov/wp-content/uploads/2024/09/SB-1047-Ve...
- migro23 2y agoThanks for the link. Reading the rationale for not signing the legislation the governor wrote > "By focusing only on the most expensive and large-scale models, SB 1047 establishes a regulatory framework that could give the public a false sense of security about controlling this fast-moving technology. Smaller, specialized models may emerge as equally or even more dangerous than the models targeted by SB 1047 - at the potential expense of curtailing the very innovation that fuels advancement in favor of the public good". This doesn't make much sense to me. Smaller models might be more dangerous so lets not place safeguards on the larger models because they advance in favor of the public good? Some pretty big assumptions are made here, does this make sense to anyone else?
- wslh 2y agoAs Python is an impediment to learning assembler?
- synack 2y agoI learned web development in the early '00s with the Webmonkey tutorials, which were easy, accessible, and fun. I don't know what the modern equivalent is, but I wish more people could have that experience. https://web.archive.org/web/20080405212335/http://webmonkey.com/webmonkey/authoring/ https://web.archive.org/web/20080405212335/http://webmonkey....
- menzoic 2y agoLearning how to use ̶C̶a̶l̶c̶u̶l̶a̶t̶o̶r̶s̶ LLMS is probably the skill we should be focusing on.
- seydor 2y agoI don't think the thing called 'modern web development' is defensible anyway
- camillomiller 2y ago> For context, almost all of our developers are learning web development (TypeScript, React, etc) from scratch, and have little prior experience with programming. To be fair, having non programmers learn web development like that is even more problematic than using LLMs. What about teaching actual web development like HTML + CSS + JS, in order to have the fundamentals to control LLMs in the future?
- orwin 2y agoFor people who like me mostly do Backend/Network/System development and who disagree on how helpfull LLMs are (basically a waste of time if you're using it for anything other than rubber ducking/writing tests cases/autocomplete), LLMs can basically write a working front-end page/component in 10s. Not an especially well-designed one, but "good enough". I find it especially shine in writing the html/css parts. It cannot write a FSM on its own, so basically when i write a page, i still write the states, actions and the reducer, but then i can generate the rest and it's really good.
- dopp0 2y agowhich LLM are you using for those frontend usecases? chatgpt? and you ask in prompts for some framework such as tailwind?
- iamandoni 2y agoShadcn & Vercel have created https://v0.dev/ https://v0.dev/ which is pretty incredible
- jasonlotito 2y agoSee Vercel's v0.dev.
- faizshah 2y agoThe copy-paste programmer will always be worse than the programmer who builds a mental model of the system. LLMs are just a faster and more wrong version of the copy-paste stackoverflow workflow it’s just now you don’t even need to ask the right question to find the answer. You have to teach students and new engineers to never commit a piece of code they don’t understand. If you stop at “I don’t know why this works” then you will never be able to get out of the famous multi hour debug loop that you get into with LLMs or similarly the multi day build debugging loop that everyone has been through. The real thing that LLMs do that is bad for learning is that you don’t need to ask it the right question to find your answer. This is good if you already know the subject but if you don’t know the subject you’re not getting that reinforcement in your short term memory and you will find things you learned through LLMs are not retained as long as if you did more of it yourself.
- stonethrowaway 2y agoIf engineers are still taught engineering as a discipline then it doesn’t matter what tools they use to achieve their goals. If we are calling software developers who don’t understand how things work, and who can get away with not knowing how things work, engineers, then that’s a separate discussion of profession and professionalism we should be having. As it stands there’s nothing fundamentally rooted in software developers having to understand why or how things work, which is why people can and do use the tools to get whatever output they’re after. I don’t see anything wrong with this. If anyone does, then feel free to change the curriculum so students are graded and tested on knowing how and why things work the way they do. The pearl clutching is boring and tiresome. Where required we have people who have to be licensed to perform certain work. And if they fail to perform it at that level their license is taken away. And if anyone wants to do unlicensed work then they are held accountable and will not receive any insurance coverage due to a lack of license. Meaning, they can be criminally held liable. This is why some countries go to the extent of requiring a license to call yourself an engineer at all. So where engineering, actual engineering, is required, we already have protocols in place that ensure things aren’t done on a “trust me bro” level. But for everyone else, they’re not held accountable whatsoever, and there’s nothing wrong with using whatever tools you need or want to use, right or wrong. If I want to butt splice a connector, I’m probably fine. But if I want to wire in a 3 phase breaker on a commercial property, I’m either looking at getting it done by someone licensed, or I’m looking at jail time if things go south. And engineering or no different.
- meiraleal 2y agoCode School employee says: AI is an impediment to learning web development
- Rocka24 2y agoI strongly disagree, I was able to learn so much about web development by using AI, it streamlines the entire knowledge gathering and dissemination process. By asking for general overviews then poking into the specifics of why things work the way they do, its possible to get an extremely functional and practical knowledge of almost any application of programming. For the driven and ambitious hacker, LLMs are practically invaluable when it comes to self learning. I think you have a case where you're simply dealing with the classic self-inflicting malady of laziness.
- lovethevoid 2y agoWhat have you learned about web development using AI that skimming the MDN docs couldn't net you?
- Rocka24 2y agoWell the issue isn't about acquiring the knowledge in general. I think so far in my learning journey I've come to realize that "practical learning" is much better than learning in the hopes that something will be useful. For instance, almost everyone in the American education system at some point was forced to memorize that one mol of gas occupies 22.4 L at STP but almost noone will ever use that knowledge again. Going through the actual real world issues of web development with an LLM on the side that you can query for any issue is infinitely more valuable than taking a course in web development imo because you actually learn how to DO the things, instead of getting a toolbox which half of the items you don't use ever and a quarter of which you have no idea how to functionally use. I strongly support learning by doing and I also think that the education system should be changed in support of that idea.
- righthand 2y agoThere are plenty of courses, classes, and schooling as you dewcribe, it’s just a matter of cost. A LLM is more useful for studying because it feels interactive however a lot of software development in general is applying what learned and what you need. If you want to spend 10 years growing your career and understanding math with the help of an LLM you will work it out eventually, by gambling on your role at a company and their offering of projects. If you want to spend 6 months - 6 years understanding the pieces you need for a professional career at various levels (hence the range), you pay for that kind of education.
- ellyagg 2y agoOr is learning web development an impediment to learning AI?
- tetha 2y agoI very much agree with this. If I have a structured code base, I understood the patterns and the errors to look out for, something like copilot is useful to bang out code faster. Maybe the frameworks suck, or the language could be better to require less code, but eh. A million dollars would be nice to have too. But I do notice that colleagues use it to get some stuff done without understanding the concepts. Or in my own projects where I'm trying to learn things, Copilot just generates code all over the place I don't understand. And that's limiting my ability to actually work with that engine or code base. Yes, struggling through it takes longer, but ends up with a deeper understanding. In such situations, I turn off the code generator and at most, use the LLM as a rubber duck. For example, I'm looking at different ways to implement something in a framework and like A, B and C seem reasonable. Maybe B looks like a deadend, C seems overkill. This is where an LLM can offer decent additional inputs, on top of asking knowledgeable people in that field, or other good devs.
- csallen 2y agoAI is an impediment to learning high-level programming languages. High-level programming languages are an impediment to learning assembly. Assembly is an impediment to learning machine code. Machine code is an impediment to learning binary.
- lovethevoid 2y agoWho needs to learn how to read anyways, isn't everything just audiobooks now amiright?
- gizmo686 2y agoThe difference is that all of those other technologies have a rock solid abstraction layer. In my entire career, I have never encountered an assembler error [0], and have encountered 1 compiler error (excluding a niche compiler that I was actively developing). Current generative AI technology is fundamentally not that. [0] which isn't that impressive, as I've done very little assembly.
- monacobolid 2y agoWeb development is impediment to learning web development.
- yumraj 2y agoI’ve been thinking about this, since LLMs helped me get something done quickly in languages/frameworks that I had no prior experience in. But I realized a few things, that while they are phenomenally great when starting new projects and small code bases: 1) one needs to know programming/soft engineering in order to use these well. Else, blind copying will hurt and you won’t know what’s happening when code doesn’t work 2) production code is a whole different problem that one will need to solve. Copy pasters will not know what they don’t know and need to know in order to have production quality code 3) Maintenance of code, adding features, etc is going to become n-times harder the more the code is LLM generated. Even large context windows will start failing, and hell hallucinations may screw up without one even realizing 4) debugging and bug fixing, related to maintenance above, is going to get harder. These problems may get solved, but till then: 1) we’ll start seeing a lot more shitty code 2) the gap between great engineers and everyone else will become wider
- tomrod 2y agoA big part of the solution to this will be more, more focused, and more efficient QA. Test-driven development can inherently be cycled until correct (that's basically equivalent to what a Generative Adversarial Network does under the hood anyhow). I heard a lot of tech shops gutted their QA departments. I view that as a major error on their parts, if QA folks are current modern tooling (not only GenAI) and not trying to do everything manually.
- yumraj 2y agoMany years ago I was at a very large software company, that everyone has heard of. Blackbox QA was entirely gutted, only some whitebox QA. Their titles were changed to software engineer from QA engineer. Dev were supposed to do TDD and that’s it, and there’s a fundamental issue there which looks like people don’t even realize. Anyway, we digress.
- ainiriand 2y agoRelated discussion we were having now on Mastodon: https://floss.social/@janriemer/113260186319661283 https://floss.social/@janriemer/113260186319661283
- xyst 2y agoAnybody remember the days of “macromedia”? I think it was dreamweaver that spit out WYSIWYG trash from people that didn’t know better. For a period of time there was a segment of development cleaning up this slop or just redoing it entirely. The AI-generated slop reminds me of that era.
- xp84 2y agoHot take, I guess, but can you actually say the slop that came out of dreamweaver is any worse than the React-based slop that most people generate now? 25 years ago it was font tags and table layouts, now it’s a styled components div soup generated by 2-3 orders of magnitude more code, in a sprawling NPM dependency tree that takes several minutes to install on modern hardware. It’s all crap once you get away from the simplest prototype and single-person project.
- gwbas1c 2y agoAll the mistakes Ben describes smell like typical noob / incompetent programmer mistakes. All the LLM is doing is helping people make the same mistakes... faster. I really doubt that the LLM is the root cause of the mistake, because (pre LLM) I've come across a lot of similar mistakes. The LLM doesn't magically understand the problem; instead a noob / incompetent programmer misapplies the wrong solution.
- mdhb 2y agoThe examples he gives were explicitly called out as mistakes you wouldn’t normally make as a beginner because they are so esoteric and I don’t disagree with him at all on that one.
- gwbas1c 2y ago> A page written in HTML and vanilla JavaScript, loaded from the public/ directory, completely outside of the Next.js + React system. I once had a newcomer open up a PR that completely bypassed the dependency injection system. > Vanilla JavaScript loaded in via filesystem APIs and executed via dangerouslySetInnerHTML I wish I had more context on this one, it looks like someone is trying to bypass React. (Edit) Perhaps they learned HTML, wanted to set the HTML on an element, and React was getting in the way? > API calls from one server-side API endpoint to another public API endpoint on localhost:3000 (instead of just importing a function and calling it directly) I once inherited C# code that, instead of PInvoking to call a C library, pulled in IronPython and then used the Python wrapper for the C library.
- wkirby 2y agoThe reason I am a software engineer — why it keeps me coming back every week — is the satisfying click when something I didn’t understand becomes obvious. I’ve talked to a lot of engineers over the last 15 years of doing this, and for most of them, they possess some version of the same compulsion. What makes good engineers tick is, imo, a tenacity and knack for solving puzzles. LLMs are useful when they let you get to the meat of the problem faster, but as the article says, they’re a hindrance when they are relied on to solve the problem. Knowing the difference is hard, a heuristic I work on with my team is “use an LLM if you already know the code you want to write.” If you don’t already know the right answer you won’t know if the LLM is giving you garbage.
- manx 2y agoHumanity was only able to produce one generation who knows how computers work.
- btbuildem 2y agoI disagree with the premise of the article -- for several reasons. You could argue that an LLM-based assistant is just a bigger footgun, sure. Nothing will replace a teacher who explains the big picture and the context. Nothing will replace learning how to manage, handle and solve problems. But having a tireless, nimble assistant can be a valuable learning tool. Web development is full of arbitrary, frustrating nonsense, layered on and on by an endless parade of contributors who insist on reinventing the wheel while making it anything but round. Working with a substantial web codebase can often feel like wading through a utility tunnel flooded with sewage. LLMs are actually a fantastic hot blade that cuts through most of the self-inflicted complexities. Don't learn webpack, why would you waste time on that. Grunt, gulp, burp? Who cares, it's just another in a long line of abominations careening towards a smouldering trash heap. It's not important to learn how most of that stuff works. Let the AI bot churn through that nonsense. If you don't have a grasp on the basics, using an LLM as your primary coding tool will quickly leave you with a tangle of incomprehensible, incoherent code. Even with solid foundations and experience, it's very easy to go just a little too far into the generative fairytale. But writing code is just a small part of software development. While reading code doesn't seem to get talked about as much, it's the bread and butter of any non-solo project. It's also a very good way to learn -- look at how others have solved a problem. Chances that you're the first person trying to do X are infinitesimally small, especially as a beginner. Here, LLMs can be quite valuable to a beginner. Having a tool that can explain what a piece of terse code does, or why things are a certain way -- I would've loved to have that when I was learning the trade.
- j45 2y agoThis article feels out to lunch. If you use AI to teach you HTML / programming concepts first, then support you using them, that is learning. Having AI generate an answer and then not have it satisfy you usually means the prompt could use improvement. In that case, the prompter (and perhaps the author) may not know the subject well enough.
- infinite-hugs 2y agoCertainly agree that copy pasting isn’t a replacement to teaching but I can say I’ve had success learning coding basics while just asking Claude or gpt to explain the code output line by line.
- tekchip 2y agoWhile I don't disagree and understand the authors concern the bottom line is the author, and others of the same mind, will have to face facts. LLMs are a genie that isn't going back in that bottle. Humans have LLMs and will use them. The teaching angle needs to change to acknowledge this. "You need to learn long hand math because you won't just have a calculator in your pocket." Whoopsie! Everyone has a smart phone. Now I'm going back to school for my degree and classes are taught expecting calculators and even encouraging the use of various math and graphing websites. By all means urge folks to learn the traditional, arguably better, way but also teach them to use the tools available well and safely. The tools aren't going away and the tools will continue to improve. Endeavour to make coders who use the tools well to produce valuable well written code 2x, 5x, 8x, 20x the amount of code as those of today.
- BoiledCabbage 2y ago> You need to learn long hand math because you won't just have a calculator in your pocket." Whoopsie! Everyone has a smart phone. I hear this so often, that I have to reply. It's a bad argument. You do need to learn longhand math - and be comfortable with arithmetic. The reason given was incorrect (and a bit flippant), but you actually do need to learn it. Anyone in any engineering, or STEM based field needs to be able to estimate and ballpark numbers mentally. It's part of reasoning with numbers. Usually that means mentally doing a version of that arithmetic on rounded version of those numbers. Not being comfortable doing math, means not being able to reason with numbers which impacts every day things like budgeting and home finances. Have a conversation with someone who isn't comfortable with math and see how much they struggle with intuition for even easy things. The reason to know those concepts is because basic math intuition is an essential skill.
- lannisterstark 2y ago>t's a bad argument. You do need to learn longhand math - and be comfortable with arithmetic. The reason given was incorrect (and a bit flippant), but you actually do need to learn it. But...this applies to engineering and/or webdev too. You can't just expect to copy paste a limited solution limited to 4096 output tokens or whatever that would work in a huge system you have at your job, which the LLM has 0 context of. Smaller problems, sure, but they're also YMMV. And honestly if I can solve smaller irritating problems using LLMs so I can shift my focus to more annoying, larger tasks, why not? What I am saying is that you also do need to know fundamentals of webdev to use LLMs to do webdev effectively.
- deleted 2y ago[deleted]
- jMyles 2y agoI've been engineering (mostly backend but lots of full stack too) web technologies for almost two decades. Not the world's greatest sage maybe, but I have some solid contributions to open source web frameworks, have worked on projects of all different scales from startups to enterprise media outfits, etc. And I have this to say: any impediment to learning web development is probably a good thing insofar as the most difficult stumbling block isn't the learning at all, but the unlearning. The web (and its tangential technologies) are not only ever-changing, but ever-accelerating in their rate of change. Anything that helps us rely less on what we've learned in the past, and more on what we learn right in the moment of implementation, is a boon to great engineering. Every one of the greatest engineers I've worked with doesn't actually know how to do anything until they're about to do it, and they have the fitness to forget what they've learned immediately so that they have to look at the docs again next time. LLMs are lubricating that process, and it's wonderful.
- dickerd0 2y ago[flagged]
- dickerd0 2y ago[flagged]
- userbinator 2y agoAI is an impediment to learning. Also ask yourself this the next time you feel compelled to just take an AI solution: what value are you providing, if anyone can simply ask the AI for the solution? The less your skills matter, the more easily you'll be replaced.
- jwrallie 2y agoSometimes more important than to get the right answer is to ask the right question. That and the verification that the answer satisfies the question is what you are providing. If you delegate a task to people working under you, would it be that different? They can also learn and replace you. Maybe even with more productivity since they may be willing to use AI.
- Buttons840 2y agoDoes anyone else feel that web technologies are the least worthy of mastery? I mean, a lot of effort has gone into making poorly formed HTML work, and JavaScript has some really odd quirks that will never be fixed because of backwards compatibility, and every computer runs a slightly different browser. True mastery of such a system sounds like a nightmare. Truly understanding different browsers, and CSS, and raw DOM APIs, none of this feels worthy my time. I've learned Haskell even though I'll never use it because there's useful universal ideas in Haskell I can use elsewhere. The web stack is a pile of confusion; there's no great insight that follows learning how JavaScript's if-statements work, just more confusion. If there was ever a place where I would just blindly use whatever slop a LLM produces, it would be the web.
- jt2190 2y ago> Use of LLMs hinders learning of web development. I’m sure this is true today, but over time I think this will become less true. Additionally, LLMs will significantly reduce the need for individual humans to use a web browser to view advertisement-infested web pages or bespoke web apps that are difficult to learn and use. I expect the commercial demand for web devs is going to slowly decline for these college-aged learners as the internet transitions, so maybe it’s ok if they don’t become experts in web development.
- cladopa 2y agoI disagree. I am a programmer and entrepreneur myself with engineering education. I know lots of languages very well (c,c++,scheme, python) and made my own tech company so managing it takes a big amount of my time. I always wanted to program(and understand deeply) the web and could not. I bought books and videos, I went to courses with real people but I could not progress. I had limited time and there were so many different things, like CSS, and js and html and infinite frameworks you had to learn at once. Thanks to ChatGPT and Claude I have understood web development, deeply. You can ask both general and deep questions and it helps you like no teacher could (the teachers I had access to). Something I have done is creating my own servers to understand what happens under the hood. No jQuery teacher could help with that. But ChatGPT could. AI is a great tool if you know how to use it.
- kgeist 2y ago>API calls from one server-side API endpoint to another public API endpoint on localhost:3000 (instead of just importing a function and calling it directly). >LLMs will obediently provide the solutions you ask for. If you’re missing fundamental understanding, you won’t be able to spot when your questions have gone off the rails. This made me think: most of the time, when we write code, we have no idea (and don't really care) what kind of assembly the compiler will generate. If a compiler expert looked at the generated assembly, they’d probably say something similar: "They have no idea what they’re doing. The generated assembly shows signs of a fundamental misunderstanding of the underlying hardware," etc. I'm sure most compiled code could be restructured or optimized in a much better, more "professional" way and looks like a total mess to an assembly expert—but no one has really cared for at least two decades now. At the end of the day, as long as your code does what you intend and performs well, does it really matter what it compiles to under the hood? Maybe this is just another paradigm shift (forgive me for using that word) where we start seeing high-level languages as just another compiler backend—except this time, the LLM is the compiler, and natural human language is the programming language.
- jrflowers 2y ago> does it really matter what it compiles to under the hood? The example you quoted could trigger a DDoS if a page using that code got popular.
- kgeist 2y agoI'm not claiming the code is perfect; early compilers that generated assembly often produced inefficient code as well. I hope LLMs' coding abilities will improve over time. For now, I'm not ready myself to use LLMs beyond basic prototyping.
- jcgrillo 2y agoThe problem with this analogy is that compilers behave deterministically, in that they'll reliably generate the same lower level output for a given source input. Therefore, the program binaries (or bytecode) they generate are debuggable. You can't treat LLM prompt inputs like source code input to a compiler, because the output has no deterministic causal relationship to the input. Also, you may not care now what assembly instructions your function gets compiled down to, but someday you might care a great deal, if for example you need to optimize some inner loop with SIMD parallelism. To do these things you need to be able to reliably control the output using source code. LLMs cannot do this.
- fimdomeio 2y agoI'm the person that was copy-past school work in the 90's for things that I wasn't interested in. I'm also the person who spent years learning things that I was passionate for without a end goal in mind. The issue here is not AI, it's motivation.
- MicolashKyoka 2y agosure, let's hear it from the "head of engineering" of an academic club with "9-12" intern level devs who has barely 2y of experience as a dev himself what he thinks about the industry. i mean it's fine to have an opinion and not particularly hating on the guy, but why is it given any credence and making the front page? are people this afraid? llms are a tool, if you can't make it work for you or learn from using them, sorry but it's just a skill/motivation issue. if the interns are making dumb mistakes, then you need to guide them better and chop up the task into smaller segments, contextualize it for them as needed.
- deleted 2y ago[deleted]
- heisenbit 2y agoNot just web development learning is affected. Students handing in homework in all kind of coursed generated with AI. The problem of course is that part of learning depends on spaced repetition (ask any AI how it learned ;-) ) so skipping that part - all across the board - is having an impact already now.
- FpUser 2y agoDon't we already have enough self certified prophets telling everyone how to do things "properly"? Nobody pushes you to use LLM. As for us - we'll figure out what forks to our benefit
- weitendorf 2y agoI can’t help but think part of the problem is that web development is also an impediment to learning web development. IME there is a lot more arcana and trivia necessary to write frontend/web applications than most other kinds of software, mostly because it’s both regular programming and HTML/CSS/browser APIs. While you can build a generalized intuition for programming, the only way to master the rest of the content is through sheer exposure - mostly through tons of googling, reading SO, web documentation, and trial and error getting it do the thing. If you’re lucky you might have a more experienced mentor to help you. And yes, there are trivia and arcana needed to be productive in any programming domain, but you can drop a freshly minted CS undergrad into a backend engineering role and expect them to be productive much faster than with frontend (perhaps partly why frontend tends to have a higher proportion of developers with non-CS backgrounds). It doesn’t help that JavaScript and browsers are typically “fail and continue”, nor that there may be several HTML/CSS/browser features all capable of implementing the same behavior but with caveats and differences that are difficult to unearth even from reading the documentation, such as varying support across browsers or bad interactions with other behavior. LLMs are super helpful dealing with the arcana. I’m recently writing a decent amount of frontend and UI code after spending several years doing backend/systems/infra - I am so much more productive with LLMs than without, especially when it comes to HTML and CSS. I kind of don’t care that I’ll never know the theory behind “the right way to center a div” - as long as the LLM is good enough at doing it for me why does it matter? And if it isn’t, I’ll begrudgingly go learn it. It’s like caring that people don’t know the trick to check “is a number even” in assembly.
- aatarax 2y agoThis section sums it up and I agree with the author here > LLMs are useful if you already have a good mental model and understanding of a subject. However, I believe that they are destructive when learning something from 0 to 1. Super useful if you have code in mind and you can get an LLM to generate that code (eg, turning a 10 minute task into a 1 minute task). Somewhat useful if you have a rough idea in mind, but need help with certain syntax and/or APIs (eg, you are an experienced python dev but are writing some ruby code). Useful for researching a topic. Useless for generating code where you have no idea if the generated code is good or correct.
- calibas 2y agoHaving someone else do something for you is an impediment to learning anything.
- trzy 2y agoThat’s ok. Having to learn web development is an impediment to the flourishing of the human spirit.
- travisgriggs 2y agoYou had me at "AI is an impediment to learning..." I use GPT all the time. But I do very little learning from it. GPT is like having an autistic 4 year old with with vast memory as your sidekick. It can be like having a super power when asked the right questions. But it lacks experience. What GPT does is allow you to get from some point As to other point Bs faster. I work in quite a few languages. I like that when I haven't done Python for a few days, I can ask "what is the idiomatic way to flatten nested collections in Python again?". I like that I can use it to help me prototype a quick idea. But I never really trust it. And I don't ship that code til I've ever learned more to vouch for it myself or can ask a real expert about what I've done. But for young programmers, who feel the pressure to produce faster than they can otherwise, GPT is a drug. It optimizes getting results fast. And since there is very little accountability in software development, who cares? It's a short term gain of productivity over a long term gain of learning. I view the rise of GPT as an indictment against how shitty the web has become, how sad the state of documentation is, and what a massive sprint of layering crappy complicated software on top of crappy complicated software has wrought. Old timers mutter "it was not always so." Software efforts used to have trained technical writers to write documentation. Less is more, used to be an effort by good engineering. AI tools will not close the gap in having well written concise documentation. It will not simplify software so that the mental model to understand it is more approachable. But it does give us a hazy approximation of what the current internet content has to offer. (I mean no offense to those who have autism in my comment above, I have a nephew with severe autism, I love him dearly, but we do adjust how we interact with him)
- xp84 2y ago> API calls from one server-side API endpoint to another public API endpoint on localhost:3000 (instead of just importing a function and calling it directly). > These don’t seem to me like classic beginner mistakes — these are fundamental misunderstandings of the tools This all sounds on par with the junior level developers I feel ai has pretty quickly replaced. I still feel sad though :( how are people meant to get good experience in this field now?
- inopinatus 2y agoExperience is one thing. Feedback is another. You can't mentor a language model.
- AIFounder 2y ago[dead]
- yhoots 2y agosounds more like this happened because the instructors failed to tell the students not to just ChatGPT all the answers, OR the students didn't listen. this is somewhat analogous to learning arithmetic but just using a calculator to get the answer. but coding is more complicated at least in terms of the sheer number of concepts. yet we dont ban calculators from the classroom. we just tell students to use them mindfully. the same should apply to LLMs. i wish when I was learning coding I had LLMs. but you do need to have the desire to understand how something really works. and also the pain of debugging something trivial for hours does help retention :).
- obscuretone 2y agoI'm old enough to remember calculators being banned from the classroom because "you won't always have one in your pocket"
- kazinator 2y agoI would say that the people who are learning from AI are precisely the ones who are training for jobs that will never exist for them due to AI.
- raxxorraxor 2y agoI don't believe it is more of an impediment than looking up stackoverflow to be honest. I do write my code myself, but LLM offer help. Less with suggesting code and more with comments, improvements or common errors. It isn't entirely reliable, so you need to know what you are doing anyway. That said, there is little investment in new developers and some rely on AI too much. Companies need to invest more into training in all engineering domains. This is were the value of companies reside for the most part.