[HN Gopher] AI is an impediment to learning web development
       ___________________________________________________________________
        
       AI is an impediment to learning web development
        
       Author : bdlowery
       Score  : 181 points
       Date   : 2024-10-06 15:18 UTC (7 hours ago)
        
 (HTM) web link (ben.page)
 (TXT) w3m dump (ben.page)
        
       | xnx wrote:
       | "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 wrote:
         | You 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 wrote:
           | Well, 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 wrote:
             | Vast 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 wrote:
               | You are conflating two entirely different issues. Both
               | are true but neither at the expense of the other
        
               | lovethevoid wrote:
               | They 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.
        
               | jay_kyburz wrote:
               | One is a tech problem, the other is a business problem.
               | 
               | There are no ads on my websites.
        
               | mdhb wrote:
               | They are very literally different issues.
        
           | xnx wrote:
           | Absolutely true. All technologies that previously existed
           | (e.g. PHP3 + MySQL) still exist. Unfortunately, if you're
           | looking to make use of other people's libraries, it is very
           | difficult to find them for "obsolete" stacks.
        
         | lolinder wrote:
         | This exact comment (with subtle phrasing variations) shows up
         | in every article that includes "web" in the title, but I feel
         | like I'm living in an alternate universe from those who write
         | comments like these. Either that or the comments got stuck in
         | the tubes for a decade and are just now making it out.
         | 
         | My experience is that React is pretty much standard these days.
         | People create new frameworks still because they're not fully
         | satisfied with the standard, but the frontend churn is
         | basically over for anyone who cares for it to be. The tooling
         | is mature, IDE integration is solid, and the coding patterns
         | are established.
         | 
         | For databases, Postgres. Just Postgres.
         | 
         | If you want to live in the churn you always can and I enjoy
         | following the new frameworks to see what they're doing
         | differently, but if you're writing this live in 2024 and not
         | stuck in 2014 you can also just... not?
        
           | zelphirkalt wrote:
           | React and frameworks based on it being used mostly for
           | websites, where none of that stuff is needed in the first
           | place, is part of what is wrong with frontend development.
        
             | lolinder wrote:
             | Then write your websites JavaScript-free or with minimal
             | vanilla JS, no frameworks (much less framework churn)
             | needed. That's been possible since the foundation of the
             | web, and is nearly unchanged to this day for backwards
             | compatibility reasons.
        
               | zelphirkalt wrote:
               | Yes, of course, you are right. And that is what I would
               | do. And actually what I did do. Recently made a JS-free
               | personal website, still fully responsive and has some
               | foldable content and so on.
               | 
               | However, people at $job would not listen to me, when I
               | said, that it could be done without jumping on the React
               | hype train and went ahead with React and a framework
               | based on React, to make a single page app, completely
               | unnecessary and occupying multiple frontend devs fulltime
               | with that, instead of simply using a traditional web
               | framework with a templating engine and knowledge about
               | HTML and CSS. So I am no longer in that role to make some
               | as-little-as-possible-JS thing happen. I was a fullstack
               | developer, but I don't want to deal with the madness, so
               | I withdrew from the frontend part.
               | 
               | See, I don't have a problem with doing this. It is just
               | that people think they need a "modern web framework" and
               | single page apps and whatnot, when they actually don't
               | and have very limited interactive widgets on their pages
               | and have rather pages of informational nature. Then comes
               | the router update taking 2 weeks, or a framework update
               | taking 2-3 weeks, or new TS version being targeted...
               | Frequent work, that wouldn't even exist with a simpler
               | approach.
        
         | mplewis wrote:
         | It's only been thirty years, but keep waiting. I'm sure that
         | solution is just around the corner for you.
        
       | blackeyeblitzar wrote:
       | Almost every student I know now cheats on assignments using
       | ChatGPT. It's sad.
        
         | synack wrote:
         | If 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 wrote:
           | Yes 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 wrote:
           | We 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 wrote:
           | It 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 wrote:
       | Thank 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 wrote:
       | I 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 wrote:
         | Hmm 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.
        
         | o11c wrote:
         | The 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.
        
       | dennisy wrote:
       | I 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 wrote:
         | I 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 wrote:
           | Yes! 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 wrote:
             | It'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 wrote:
       | I'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.
        
         | prisenco wrote:
         | I'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 wrote:
         | > 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.
        
       | elicksaur wrote:
       | If it's true for the beginner level, then it's true for every
       | level, since we're always learning something.
        
       | Krei-se wrote:
       | I 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 wrote:
       | Well, 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 wrote:
         | I'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 wrote:
         | It 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 wrote:
           | I am in your camp. LLMs have made everything better for me,
           | both learning and producing.
        
           | anonzzzies wrote:
           | Same 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 wrote:
           | LLMs really help me with the blank page problem. Just getting
           | something, even partially working, to built upon can be a
           | huge win.
        
           | volker48 wrote:
           | Same 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 wrote:
         | This 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
         | 
         | 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
         | 
         | Grab your popcorn and enjoy the show. "Nothing stops this
         | train."
        
           | bongodongobob wrote:
           | It's called getting older. You guys are so dramatic about the
           | llm stuff lol
        
             | lgka wrote:
             | No, 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 wrote:
               | No one stole anything from you. Other than maybe your
               | self esteem.
        
               | LtWorf wrote:
               | Self esteem? I mean plagiarism is a compliment. It's also
               | a licence violation and a shame rich capitalists do it to
               | screw everyone else as usual.
        
               | bongodongobob wrote:
               | How are rich people screwing you with AI? Which people?
        
               | loqeh wrote:
               | Anyone who contradicts a (probably paid) apologist must
               | be either old or lacking in self esteem. Well done, your
               | masters will be happy.
        
               | bongodongobob wrote:
               | lol you think I'm paid to argue with VC bros on
               | Hackernews?
               | 
               | "Anyone who contradicts my opinion is paid off"
               | 
               | I do it for the love of the game.
        
               | atomic128 wrote:
               | Large language models are used to aggregate and
               | interpolate intellectual property.
               | 
               | This is performed with no acknowledgement of authorship
               | or lineage, with no attribution or citation.
               | 
               | In effect, the intellectual property used to train such
               | models becomes anonymous common property.
               | 
               | The social rewards (e.g., credit, respect) that often
               | motivate open source work are undermined.
        
             | sibeliuss wrote:
             | So dramatic... There are so many people who are so psyched
             | on what LLMs have allowed them to achieve, and so many
             | beginners that can't believe they've suddenly got an app,
             | and so many veterans who feel disenchanted, and so on and
             | so forth. I'm quite tired of everyone generalizing LLM
             | reactions based on their own experience!
        
           | lgka wrote:
           | The wrong July 16th answer is hilarious! Half of the examples
           | that are posted here as proof of the brilliance of LLMs are
           | trivially wrong.
        
           | olddustytrail wrote:
           | No, they posted it to the thread to illustrate that the
           | problem was in the training set. Which it obviously was.
           | 
           | I don't know where your interpretation came from. Perhaps
           | you're an LLM and you hallucinated it? :)
        
       | lofaszvanitt wrote:
       | When 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 wrote:
         | California passed regulations based on model size.
         | 
         | https://leginfo.legislature.ca.gov/faces/billNavClient.xhtml...
        
           | 1propionyl wrote:
           | It was not signed into law, it was vetoed by the governor.
           | 
           | https://www.gov.ca.gov/wp-
           | content/uploads/2024/09/SB-1047-Ve...
        
             | migro23 wrote:
             | Thanks 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?
        
               | LtWorf wrote:
               | It makes sense to think he got bribed.
        
               | migro23 wrote:
               | If true, that's pretty sad.
        
         | fhd2 wrote:
         | It's the curse of our industry that we have such long feedback
         | cycles. In the first year or so of a new system, bad code is
         | similarly productive than good code, and often faster or at
         | least cheaper to produce.
         | 
         | Now a few more years down the line, you might find yourself in
         | a mess and productivity grinds to a halt. Most of the decision
         | makers who caused this situation are typically not around
         | anymore at that point.
        
       | wslh wrote:
       | As Python is an impediment to learning assembler?
        
       | synack wrote:
       | I 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....
        
       | menzoic wrote:
       | Learning how to use Calculators LLMS is probably the skill we
       | should be focusing on.
        
       | seydor wrote:
       | I don't think the thing called 'modern web development' is
       | defensible anyway
        
       | camillomiller wrote:
       | > 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 wrote:
       | For 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 wrote:
         | which LLM are you using for those frontend usecases? chatgpt?
         | and you ask in prompts for some framework such as tailwind?
        
           | jasonlotito wrote:
           | See Vercel's v0.dev.
        
           | iamandoni wrote:
           | Shadcn & Vercel have created https://v0.dev/ which is pretty
           | incredible
        
       | faizshah wrote:
       | The 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 wrote:
         | If 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.
        
           | RodgerTheGreat wrote:
           | In many parts of the world, it is illegal to call yourself an
           | "engineer" without _both_ appropriate certification /training
           | and legal accountability for the work one signs off upon, as
           | with lawyers, medical doctors, and so on. It's frankly
           | ridiculous that software "engineers" are permitted the title
           | without the responsibility in the US.
        
             | stonethrowaway wrote:
             | Yet my comment keeps getting upvoted and downvoted. I guess
             | I'm either saying something controversial, which I don't
             | think I am since I am stating the obvious, or potentially
             | the anti-AI crowd doesn't like my tone. I'm not pro or
             | against AI (I don't have a dog in this race). Everything at
             | your disposal is potentially a tool to use how you see fit,
             | whether it be AI or a screwdriver.
        
           | faizshah wrote:
           | If your goal is just to get something working then go right
           | ahead. But if your goal is to be learning and improving your
           | process and not introducing any new issues and not
           | introducing a new threat etc. then you're better off not just
           | stopping at "it works" but also figuring out why it works and
           | if this is the right way to make it work.
           | 
           | The idea that wanting to become better at using something is
           | pearl clutching is frankly why everything has become so
           | mediocre.
        
             | stonethrowaway wrote:
             | We are saying the same thing I think.
        
         | nyrikki wrote:
         | It is a bit more complicated, as it can be harmful for experts
         | also, and the more reliable it gets the more problematic it
         | becomes.
         | 
         | Humans suffer from automation bias and other cognitive biases.
         | 
         | Anything that causes disengagement from a process can be
         | challenging, especially with long term maintainability and
         | architectural erosion, which is mostly what I actively search
         | for to try and avoid complacency with these tools.
         | 
         | But it takes active effort to avoid for all humans.
         | 
         | IMHO, writing the actual code has always been less of an issue
         | than focusing on domain needs, details, and maintainability.
         | 
         | As distrusting automation is unfortunately one of the best
         | methods of fighting automation bias I do try to balance
         | encouraging junior individuals to use tools that boost
         | productivity while making sure they still maintain ownership of
         | the delivered product.
         | 
         | If you use the red-green refactor method, avoiding generative
         | tools for the test and refactor steps seems to work.
         | 
         | But selling TDD in general can be challenging especially with
         | Holmstrom's theorem, and the tendency of people to write
         | implementation tests vs focusing on domain needs.
         | 
         | It is a bit of a paradox that the better the tools become, the
         | higher the risk is, but I would encourage people to try the
         | above, just don't make the mistake of copying the prompts
         | required to get from red to green as the domain tests, there is
         | a serious risk of coupling to the prompts.
         | 
         | We will see if this works for me long term, but I do think
         | beginners manually refactoring with though could be an
         | accelerator.
         | 
         | But only with intentionally focusing on learning why over time.
        
           | nonrandomstring wrote:
           | > It is a bit of a paradox that the better the tools become,
           | the higher the risk is                 "C makes it easy to
           | shoot yourself in the foot; C++ makes it harder,        but
           | when you do it blows your whole leg off". -- Bjarne
           | Stroustrup
        
           | faizshah wrote:
           | I completely reject this way of thinking. I remember when I
           | was starting out it was popular to say you learn less by
           | using an IDE and you should just use a text editor because
           | you never learn how the system works if you rely on a run
           | button or debug button or a WYSIWYG editor.
           | 
           | Well in modern software we stand on the shoulders of many
           | many giants, you have to start somewhere. Some things you may
           | never need to learn (like say learning git at a deep level
           | when learning the concept of add, commit, rebase, pull, push,
           | cherry pick and reset are enough even if you use a GUI to do
           | it) and some thins you might invest in over time (like
           | learning things about your OS so you can optimize
           | performance).
           | 
           | The way you use automation effectively is to automate the
           | things you don't want to learn about and work on the things
           | you do want to learn about. If you're a backend dev who wants
           | to learn how to write an API in Actix go ahead and copy paste
           | some ChatGPT code, you just need to learn the shape of the
           | API and the language first. If you're a rust dev who wants to
           | learn how Actix works don't just copy and paste the code, get
           | ChatGPT to give you a tutorial and then your write your API
           | and use the docs yourself.
        
             | yoyohello13 wrote:
             | Using an IDE does stunt learning though. Whether that's a
             | problem is up for debate. But relying on the run button, or
             | auto completion does offload the need to remember how the
             | cli fits together or learn library apis .
        
               | faizshah wrote:
               | Do you have any evidence of that?
               | 
               | From personal experience and from the popularity of
               | rstudio, jupyter etc. the evidence points in the other
               | direction.
               | 
               | It's because when you start out you just need to learn
               | what code looks like, how does it run (do all the lines
               | execute at once or sequentially), that you have these
               | boxes that can hold values etc.
        
               | FridgeSeal wrote:
               | Given that form most of my projects, the run button is a
               | convenient wrapper over "cargo run" or "cargo test --
               | test-name", or "python file.py" not super convinced of
               | the argument.
               | 
               | Maybe in C/C++ where build systems are some kind of
               | lovecraftian nightmare?
        
             | chipotle_coyote wrote:
             | > If you're a rust dev who wants to learn how Actix works
             | don't just copy and paste the code, get ChatGPT to give you
             | a tutorial
             | 
             | But if you don't know how Actix works, how can you be sure
             | that the ChatGPT-generated tutorial is going to be
             | particularly good? It might spit out non-idiomatic,
             | unnecessarily arcane, or even flat-out wrong information,
             | asserted confidently, and you may not have any good way of
             | determining that. Wouldn't you be better off "using the
             | docs yourself" in the first place, assuming they have a
             | halfway decent "Getting Started" section?
             | 
             | I know it's easy to draw an analogy between "AI-assisted
             | coding" and autocompleting IDEs, but under the hood they're
             | really not the same thing. Simpler autocompletion systems
             | offer completions based on the text you've already typed in
             | your project and/or a list of keywords for the current
             | language; smarter ones, like LSP-driven ones, perform some
             | level of introspection of the code. Neither of those
             | pretend to be a replacement for understanding "how the
             | system works." Just because my editor is limiting its
             | autocomplete suggestions to things that make sense at a
             | given cursor position doesn't mean I don't have to learn
             | what those methods actually do. An LLM offering to write a
             | function for you based on, say, the function signature and
             | a docstring _does_ let you skip the whole  "learn what the
             | methods actually do" part, and certainly lets you skip
             | things like "what's idiomatic and elegant code for this
             | language". And I think that's what the OP is actually
             | getting at here: you can shortcut yourself out of
             | understanding what you're writing far more easily with an
             | LLM than with even the best non-LLM-based IDE.
        
             | nyrikki wrote:
             | Strawman on the WYSIWIG editor vs text editor question.
             | That is not an "automated decision-making system"
             | 
             | > Automation bias is the propensity for humans to favor
             | suggestions from _automated decision-making systems_ and to
             | ignore contradictory information made without automation,
             | even if it is correct.
             | 
             | Note this 1998 NASA paper to further refute the IDE/WYSIWYG
             | editor claims.
             | 
             | https://ntrs.nasa.gov/citations/19980048379
             | 
             | > This study clarified that automation bias is something
             | _unique to automated decision making contexts_ , and is not
             | the result of a general tendency toward complacency.
             | 
             | The problems with automation bias has been known for
             | decades and the studies in the human factors field is quite
             | robust.
             | 
             | While we are still way to early in the code assistant world
             | to have much data IMHO, there is evidence called out even
             | in studies that edge towards positive results in coding
             | assistants that point out issues with complacency and
             | automation bias.
             | 
             | https://arxiv.org/abs/2208.14613
             | 
             | > On the other hand, our eye tracking results of RQ2
             | suggest that programmers make fewer fixations and spend
             | less time reading code during the Copilot trial. This might
             | be an indicator of less inspection or over-reliance on AI
             | (automation bias), as we have observed some participants
             | accept Copilot suggestions with little to no inspection.
             | This has been reported by another paper that studied
             | Copilot [24].
        
               | faizshah wrote:
               | Some decisions like "how do I mock a default export in
               | jest again?" are low stakes. While other decisions like
               | "how should I modify our legacy codebase to use the new
               | grant type" are high stakes.
               | 
               | Deciding what parts of your workflow to automate is whats
               | important.
        
         | baxtr wrote:
         | I wonder if this is an elitist argument.
         | 
         | AI empowers normal people to start building stuff. Of course it
         | won't be as elegant and it will be bad for learning. However
         | these people would have never learned anything about coding in
         | the first place.
         | 
         | Are we senior dev people a bit like carriage riders that
         | complain about anyone being allowed to drive a car?
        
           | UncleMeat wrote:
           | My spouse is a university professor. A lot of her students
           | cheat using AI. I am sure that they _could_ be using AI as a
           | learning mechanism, but they observably aren 't. Now, the
           | motivations for using AI to pass a class are different but I
           | think that it is important to recognize that there is using
           | AI to build something _and learn_ and there is using AI to
           | build something.
           | 
           | Engineering is also the process of development and
           | maintenance over time. While an AI tool might help you build
           | something that functions, that's just the first step.
           | 
           | I am sure that there are people who leverage AI in such a way
           | that the build a thing and also ask it a lot of questions
           | about why it is built in a certain way and seek to
           | internalize that. I'd wager that this is a small minority.
        
             | KoolKat23 wrote:
             | Back in school on occasion it was considered cheating to
             | use a calculator, the purpose to encourage learning. It
             | would be absurd in the work environment to ban the use of
             | calculators, it's your responsibility as an employee to use
             | it correctly. As you say the first step.
        
               | UncleMeat wrote:
               | I'm sure at some point that universities will figure out
               | how to integrate AI into pedagogy in a way that works
               | other than a blanket ban. It also doesn't surprise me
               | that until people figure out effective strategies that
               | they say "no chatgpt on your homework."
        
           | lawn wrote:
           | Maybe the senior developers are just jaded having to maintain
           | code that nobody, not even their authors, know how it's
           | supposed to work?
        
             | jcgrillo wrote:
             | I've gotten a lot of mileage in my career by following this
             | procedure:
             | 
             | 1. Talk to people, read docs, skim the code. The first
             | objective is to find out what we _want the system to do_.
             | 
             | 2. Once we've reverse-engineered a sufficiently detailed
             | specification, deeply analyze the code and find out how
             | well (or more often poorly) it actually meets our goals.
             | 
             | 3. Do whatever it takes to make the code line up with the
             | specification. As simply as possibly, but no simpler.
             | 
             | This recipe gets you to a place where the codebase is
             | clean, there are fewer lines of code (and therefore fewer
             | bugs, better development velocity, often better runtime
             | performance). It's hard work but there is a ton of value to
             | be gained from understanding the problem from first
             | principles.
             | 
             | EDIT: You may think the engineering culture of your
             | organization doesn't support this kind of work. That may be
             | true, in which case it's incumbent upon you to change the
             | culture. You can attempt this by using the above procedure
             | to find a really nasty bug and kill it loudly and publicly.
             | If this results in a bunch of pushback then your org is
             | beyond repair and you should go work somewhere else.
        
           | faizshah wrote:
           | It has nothing to do with your level of knowledge or
           | experience as a programmer. It has to do with how you learn:
           | https://www.hup.harvard.edu/books/9780674729018
           | 
           | To learn effectively you need to challenge your knowledge
           | regularly, elaborate on that knowledge and regularly practice
           | retrieval.
           | 
           | Building things solely relying on AI is not effective for
           | learning (if that is your goal) because you aren't
           | challenging your own knowledge/mental model, retrieving prior
           | knowledge or elaborating on your existing knowledge.
        
           | senko wrote:
           | The problem with using the current crop of LLMs for coding,
           | if you're not a developer, is that they're leaky
           | abstractions. If something goes wrong (as it usually will in
           | software developent), you'll need to understand the
           | underlying tech.
           | 
           | In contrast, if you're a frontend developer, you don't need
           | to know C++ even though browsers are implemented in it. If
           | you're a C++ developer, you don't need to know assembly
           | (unless you're working on JIT).
           | 
           | I am convinced AI tools for software development will improve
           | to the point that non-devs will be able to build many apps
           | now requiring professional developers[0]. It's just not there
           | yet.
           | 
           | [0] We already had that. I've seen a lot of in-house apps for
           | small businesses built using VBA/Excel/Access in Windows (and
           | HyperCard etc on Mac). They've lost that power with the web,
           | but it's clearly possible.
        
           | lovethevoid wrote:
           | I'm a huge fan of drivers with no experience or knowledge of
           | a car getting on the highway. After all, look at how
           | empowered they are!
        
         | Buttons840 wrote:
         | You suggest learning the mental model behind the system, but is
         | there a mental model behind web technologies?
         | 
         | I'm reminded of the Wat talk:
         | https://www.destroyallsoftware.com/talks/wat
         | 
         | Is it worth learning the mental model behind this system? Or am
         | I better off just shoveling LLM slop around until it mostly
         | works?
        
           | tambourine_man wrote:
           | Of course there is. The DOM stands for Document Object
           | _Model_. CSS uses the box _model_. A lot of thought went
           | behind all these standards.
           | 
           | JavaScript is weird, but show me a language that doesn't have
           | its warts.
        
             | senko wrote:
             | All languages have their warts. In JavaScript, the warts
             | have their language.
        
             | hansvm wrote:
             | > JavaScript is weird, but show me a language that doesn't
             | have its warts.
             | 
             | False equivalence much? Languages have warts. JS is a wart
             | with just enough tumorous growth factors to have gained
             | sentience and started its plans toward world domination.
        
           | faizshah wrote:
           | The modern software space is too complex for any one person
           | to know everything. There's no one mental model. Your
           | expertise over time comes from learning multiple mental
           | models.
           | 
           | For example if you are a frontend developer doing typescript
           | in React you could learn how React's renderer works or how
           | typescript's type system works or how the browser's event
           | listeners work. Over time you accumulate this knowledge
           | through the projects you work on and the things you debug in
           | prod. Or you can purposefully learn it through projects and
           | studying. We also build up mental models of the way our
           | product and it's dependencies work.
           | 
           | The reason a coworker might appear to be 10x or 100x more
           | productive than you is because they are able to predict
           | things about the system and arrive at solution faster. Why
           | are they able to do that? It's not because they use vim or
           | type at 200 wpm. It's because they have a mental of the way
           | the system works that might be more refined than your own.
        
           | umpalumpaaa wrote:
           | Uhhh. I hated JS for years and years until I started to
           | actually look at it.
           | 
           | If you just follow a few relatively simple rules JS is
           | actually very nice and "reliable". Those "rules" are also
           | relatively straight forward: let/const over var, === unless
           | you know better, make sure you know about Number.isInteger,
           | isSafeInteger, isObject etc etc. (there were a few more rules
           | like this - fail to recall all of them - has been a few years
           | since i touched JS) - hope you get the idea.
           | 
           | Also when I looked at JS I was just blown away by all the
           | things people built on top of it (babel, typescript,
           | flowtype, vue, webpack, etc etc).
        
             | Buttons840 wrote:
             | That's a pile of tricks, not a mental model though.
             | 
             | A mental model might be something like "JavaScript has
             | strict and non-strict comparisons", but there are no strict
             | less-than comparisons for example, so remembering to use
             | === instead of == is just a one-off neat tip rather than an
             | application of some more general rule.
        
           | qwery wrote:
           | > Is it worth learning the mental model behind this system?
           | 
           | If you want to learn javascript, then yes, obviously. You
           | also need to learn the model to be able to criticise it
           | (effectively) -- or to make the next _wat_.
           | 
           | > am I better off just shoveling LLM slop around until it
           | mostly works?
           | 
           | Probably not, but this depends on context. If you want a
           | script to do a thing once in a relatively safe environment,
           | and you find the method effective, go for it. If you're being
           | paid as a professional programmer I think there is generally
           | an expectation that you do programming.
        
         | sgustard wrote:
         | Quite often I'm incorporating a new library into my source.
         | Every new library involves a choice: do I just spend 15 minutes
         | on the Quick Start guide (i.e. "copy-paste"), or a day reading
         | detailed docs, or a week investigating the complete source
         | code? All of those are tradeoffs between understanding and time
         | to market. LLMs are another tool to help navigate that
         | tradeoff, and for me they continue to improve as I get better
         | at asking the right questions.
        
           | LtWorf wrote:
           | If you spend less than 15 minutes before even deciding which
           | library to include and if include it at all. You're probably
           | doing it wrong.
        
             | smikhanov wrote:
             | No, that person is doing it right. That's 15 minutes of
             | your life you'll never get back; no library is worth it.
        
               | faizshah wrote:
               | If your goal is "ship it" then you might be right. If
               | your goal is "ship it, and don't break anything else, and
               | don't cause any security issues in the future and don't
               | rot the codebase, and be able to explain why you did it
               | that way and why you didn't use X" then you're probably
               | wrong.
        
           | travisgriggs wrote:
           | Or "do I even need a library really?" These libraries do what
           | I need AND so many other things that I don't need. Am I just
           | bandwagoning. For my very simple purposes, maybe my own
           | "prefix(n)" method is better than a big ol' library.
           | 
           | Or not.
           | 
           | All hail the mashup.
        
         | rsynnott wrote:
         | I always wonder how much damage Stackoverflow did to programmer
         | education, actually. There's a certain type of programmer who
         | will search for what they want to do, paste the first
         | Stackoverflow answer which looks vaguely related, then the
         | second, and so forth. This is particularly visible when
         | interviewing people.
         | 
         | It is... not a terribly effective approach to programming.
        
           | noufalibrahim wrote:
           | I'd qualify that (and the llm situation) with a level of
           | abstraction.
           | 
           | It's one thing to have the llm generate a function call for
           | you where you don't remember all the parameters. That's a low
           | enough abstraction where it serves as a turbo charged doc
           | lookup. It's also probably okay to get a basic setup
           | (toolchain etc. for an ecosystem you're unfamilar with(. But
           | to have it solve entire problems for you especially when
           | you're learning is a disaster.
        
           | exe34 wrote:
           | my workflow with stackoverflow is to try to get working code
           | that does the minimum of what I'm trying to do, and only try
           | to understand it after it works as I want it to. otherwise
           | there's an infinite amount of code out there that doesn't
           | work (because of version incompatibility, plain wrong code,
           | etc) and I ran out of patience long ago. if it doesn't run, I
           | don't want to understand it.
        
             | faizshah wrote:
             | This is in my opinion the right way to use it. You can use
             | stackoverflow or ChatGPT to get to "It works!" But don't
             | stop there, stop at "It works, and I know why it works and
             | I think this is the best way to do it." If you just stop at
             | "It works!" You didn't learn anything and might be
             | unknowingly making new problems.
        
             | username135 wrote:
             | My general philosophy as well.
        
           | underlipton wrote:
           | Leaning on SO was always the inevitable conclusion, though.
           | "Write once" (however misinterpreted that may be) + age
           | discrimination fearmongering hindering the transfer of
           | knowledge from skilled seniors to juniors + the increasingly
           | brutal competition to secure one's position by producing,
           | producing, producing. With the benefit of the doubt and the
           | willingness to cut/build in slack all dead, of course
           | "learning how to do it right" is a casualty. _Something_ has
           | to give, and if no one 's willing to volunteer a sacrifice,
           | the break will happen wherever physically or mechanically
           | convenient.
        
       | meiraleal wrote:
       | Code School employee says: AI is an impediment to learning web
       | development
        
       | Rocka24 wrote:
       | I 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 wrote:
         | What have you learned about web development using AI that
         | skimming the MDN docs couldn't net you?
        
           | Rocka24 wrote:
           | Well 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 wrote:
             | There 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.
        
             | lovethevoid wrote:
             | MDN is like the gold standard in free practical real world
             | application learning lol
             | 
             | https://developer.mozilla.org/en-US/docs/Learn
        
             | albedoa wrote:
             | So...are you able to articulate what you have learned about
             | web development through LLMs that skimming MDN wouldn't net
             | you?
             | 
             | Your "strong" disagreement and claim that you were able to
             | learn so much about web development by using AI should be
             | able to withstand simple and obvious followup questions
             | such as "like what?".
        
               | briandear wrote:
               | "Tell me how MVC works" is far better than reading MDN
               | documents. "Show me how to build a basic command line
               | application." "Tell me about polymorphism and give me
               | some examples on how to use it." "Teach me the basics on
               | how to build an authentication system." An LLM is great
               | at that.
               | 
               | Reading MDM docs doesn't put any context around what
               | you're reading. And reading all the docs doesn't teach
               | you any more than reading a dictionary teaches you how to
               | write.
               | 
               | Docs are a reference, they really aren't a place to start
               | when you don't know what you're reading. Besides it's
               | boring.
               | 
               | You don't learn Russian by reading Tolstoy. You read
               | Tolstoy once you have some idea of what the words mean.
        
           | sibeliuss wrote:
           | Who wants to read all of those docs that they know nothing
           | about?
           | 
           | Better: use an LLM, get something working, realize it doesn't
           | work _exactly_ as you need it to, then refer to docs.
           | Beginners will need to learn this, however. They still need
           | to learn to think. But practical application and a true
           | desire to build will get them to where they need to be.
        
           | briandear wrote:
           | Skimming docs is like reading the dictionary. AI is more like
           | a conversation.
        
         | jay_kyburz wrote:
         | When I ask AI questions about things I know very little, I seem
         | to get quite good results. When I ask it questions about things
         | I know a lot about, I get quite bad answers.
        
       | ellyagg wrote:
       | Or is learning web development an impediment to learning AI?
        
       | tetha wrote:
       | I 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 wrote:
       | AI 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 wrote:
         | Who needs to learn how to read anyways, isn't everything just
         | audiobooks now amiright?
        
         | gizmo686 wrote:
         | The 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 wrote:
       | Web development is impediment to learning web development.
        
       | yumraj wrote:
       | I'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 wrote:
         | A 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 wrote:
           | Many 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 wrote:
         | Related discussion we were having now on Mastodon:
         | https://floss.social/@janriemer/113260186319661283
        
           | yumraj wrote:
           | I hadn't even gone that far in my note above, but that is
           | exactly correct.
           | 
           | We'll have a resurgence of "edge-cases" and all kinds of
           | security issues.
           | 
           | LLMs are a phenomenal Stackoverflow replacement and better at
           | creating larger samples than just a small snippet. But, at
           | least at the moment, that's it.
        
             | james_marks wrote:
             | 100% on the SO replacement, which is a shame, as I loved
             | and benefited deeply from SO over the years.
             | 
             | I wonder about the proliferation of edge cases. Probably
             | true, but an optimistic outlook, and at least in my own
             | work, LLM's deliver a failing test faster given new
             | information, and the edge gets covered faster.
        
               | yumraj wrote:
               | Perhaps.
               | 
               | I was referring to the above Mastodon thread, which if I
               | understood correctly (I just scanned, didn't get too
               | deep), was referring to ASCII vs Unicode in generated
               | Rust code. And, I was reminded of issues we've come
               | across over the years regarding assumptions around names,
               | addresses, date/time handling and so on to name a few.
               | 
               | So, my worry is generated code will take the easy way
               | out, create something that will be used, the LLM-user
               | will not even realize the issue since they'll lack deeper
               | experience ... and much later, in production, users will
               | run into the "edge-case" bugs later on. It's a hypothesis
               | at this point, nothing more..
        
         | falcor84 wrote:
         | > Even large context windows will start failing
         | 
         | What do you mean by that?
        
           | yumraj wrote:
           | If you have a large code base, a software engineer has to
           | look at many files, and step through a big stack to figure
           | out the bugs. Forget about concurrency and multi-threaded
           | scenarios.
           | 
           | I'm assuming that an LLM will have to ingest that entire code
           | base as part of the prompt to find the problem, refactor the
           | code, add features that span edits across numerous files.
           | 
           | So, at some point, even the largest context window won't be
           | sufficient. So what do you do?
           | 
           | Perhaps a RAG of the entire codebase, I don't know. Smarter
           | people will have to figure it out.
        
         | lawn wrote:
         | And maintenance, with adding features to legacy code and
         | debugging, is much more common (and important) than getting
         | small green&field projects up and running.
        
           | yumraj wrote:
           | Exactly my point.
        
         | KoolKat23 wrote:
         | In my opinion this is unlikely to be a real problem. In one
         | breath people are saying all they're giving you is stack
         | overflow boilerplate and then in the same breath stating it is
         | going to provide some unseen entropic answer.
         | 
         | The truth of the matter, yes, organisations are likely to see
         | less uniformity in their codebase but issues are likely to be
         | more isolated/less systemic. More code will also be pushed
         | faster. Okay so yes, there is some additional complexity.
         | 
         | However, as they say, if you can't beat 'em, join 'em. The
         | easiest way to stay on top of this will be to use LLM's to
         | review your existing codebase for inconsistencies, provide
         | overviews and commentary over how it all works, basically
         | simplifying and speeding up working with this additional
         | complexity. The code itself is being abstracted away.
        
       | xyst wrote:
       | Anybody 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.
        
       | gwbas1c wrote:
       | All 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 wrote:
         | The 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 wrote:
           | > 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 wrote:
       | The 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 wrote:
       | Humanity was only able to produce one generation who knows how
       | computers work.
        
       | btbuildem wrote:
       | I 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 wrote:
       | This 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 wrote:
       | Certainly 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 wrote:
       | While 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 wrote:
         | > 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 wrote:
           | >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.
        
         | lawn wrote:
         | > "You need to learn long hand math because you won't just have
         | a calculator in your pocket." Whoopsie! Everyone has a smart
         | phone.
         | 
         | That's a shitty argument, and it wasn't even true back in the
         | day (cause every engineer had a computer when doing their
         | work).
         | 
         | The argument is that you won't develop a mental model if you
         | rely on the calculator for everything.
         | 
         | For example, how do you quickly make an estimate if the result
         | you calculated is reasonable, or if you made an error
         | somewhere? In the real world you can't just lookup the answer,
         | because there isn't one.
        
           | KoolKat23 wrote:
           | This allows you more time to develop a mental model, perhaps
           | not at a learning stage but at a working stage. The LLM shows
           | you what works and you can optimize it thereafter. It will
           | even give you handy inline commentary (probably better than
           | what a past developer provided on existing code).
        
         | jcgrillo wrote:
         | You still have to manually review _and understand_ every single
         | line of code _and your dependencies_. To do otherwise is
         | software malpractice. You are responsible for every single
         | thing your computers do in production, so act like it. The
         | argument that developers can all somehow produce 10x or more
         | the lines of code by leaning on a LLM falls over in the face of
         | code review. I 'd say at most you'll get 2x, but even that's
         | pushing it. I personally will reject pull requests if I ask the
         | author a question about how something works and they can't
         | answer it. Thankfully, this hasn't happened (yet).
         | 
         | If you have an engineering culture at your company of rubber-
         | stamp reviews, or no reviews at all, change that culture or go
         | somewhere better.
        
       | jMyles wrote:
       | I'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.
        
       | userbinator wrote:
       | AI 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.
        
       | Buttons840 wrote:
       | Does 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 wrote:
       | > 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 wrote:
       | I 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 wrote:
       | >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 wrote:
         | > 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 wrote:
           | I'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 wrote:
         | The 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 wrote:
       | I'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 wrote:
       | sure, 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.
        
       | heisenbit wrote:
       | Not 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 wrote:
       | Don'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 wrote:
       | I 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 wrote:
       | This 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 wrote:
       | Having someone else do something for you is an impediment to
       | learning anything.
        
       | trzy wrote:
       | That's ok. Having to learn web development is an impediment to
       | the flourishing of the human spirit.
        
       | travisgriggs wrote:
       | You 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 wrote:
       | > 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 wrote:
         | Experience is one thing. Feedback is another. You can't mentor
         | a language model.
        
       ___________________________________________________________________
       (page generated 2024-10-06 23:01 UTC)