Surprised pikachu face

  • @DavidDoesLemmy
    link
    English
    33 days ago

    It definitely improves my experience coding in unfamiliar languages. So there’s your counter example.

    • @[email protected]
      link
      fedilink
      English
      9
      edit-2
      3 days ago

      From all the studies available, LLMs increased the rate at which low skilled workers complete tasks. They also lower accuracy, so expect some of the tasks to be done incorrectly.

      If your metric for “improves” is being a better low skill drone forever then yes I’m sure it’s helping you. Here is a novel idea, maybe learn the language from a reliable source instead of taking the word of a bullshit generator at face value?

      • @DavidDoesLemmy
        link
        English
        23 days ago

        Here’s an idea, maybe start with curiosity about how someone is getting value out of it? It’s possible you don’t know everything about other people’s experiences.

        • @[email protected]
          link
          fedilink
          English
          3
          edit-2
          3 days ago

          It’s something being shoved down our throats every second of every day and I’ve seen enough to know I don’t like it. Curiosity was satiated a long ass time ago. It’s just a bigger power draw than Cryptocurrency but somehow magically even less value.

    • @[email protected]
      link
      fedilink
      English
      43 days ago

      improves my experience coding in unfamiliar languages

      Alan Perlis said “A programming language that doesn’t change the way you think is not worth learning.”

      So… if you code in another language without actually “getting it”, solely having a usable result, what is actually the point of changing languages?

      • @[email protected]
        link
        fedilink
        English
        12 days ago

        Exactly. I see AI as a tool to automate the boring parts, if you try to automate the hard parts, you’re going to have a bad time.

        Take the time to learn the tools you use thoroughly, and then you can turn to AI to make your use of those tools more efficient. If I’m learning woodworking, for example, I’m going to learn to use hand tools first before using power tools, but there’s no way I’m sticking to hand tools when producing a lot of things. Programming isn’t any different, I’ll learn the language and its idioms as deeply as I can, and only then will I turn to things like AI to spit out boilerplate to work from.

          • @[email protected]
            link
            fedilink
            English
            113 hours ago

            I’m not sure how to succinctly do that.

            When I learn a new language, I:

            1. go through whatever tutorial is provided by the language developers - for Rust, that’s The Rust Programming Language, for Go, it’s Tour of Go and Effective Go
            2. build something - for Go, this was a website, and for Rust it was a Tauri app (basically a website); it should be substantial enough to exercise the things I would normally do with the language, but not so big that I won’t finish
            3. read through substantial portions of the standard library - if this is minimal (e.g. in Rust), read through some high profile projects
            4. repeat 2 & 3 until I feel confident I understand the idioms of the language

            I generally avoid setting up editor tooling until I’ve at least run through step 3, because things like code completion can distract from the learning process IMO.

            Some books I’ve really enjoyed (i.e. where 1 doesn’t exist):

            • The C Programming Language - by Brian Kernighan and Dennis Richie
            • Programming in Lua - by Roberto Ierusalimschy
            • Learn You a Haskell for Great Good - by Miran Lipovača (available free online)

            But regardless of the form it takes, I appreciate a really thorough introduction to the language, followed by some experimentation, and then topped off with some solid, practical code examples. I generally allow myself about 2 weeks before expecting to write anything resembling production code.

            These days, I feel confident in a dozen or so programming languages (I really like learning new languages), and I find that thoroughly learning each has made me a better programmer.

            • @[email protected]
              link
              fedilink
              English
              110 hours ago

              Thanks for that, was quite interesting and I agree that completion too early (even… in general) can be distracting.

              I did mean about AI though, how you manage to integrate it in your workflow to “automate the boring parts” as I’m curious which parts are “boring” for you and which tools you actual use, and how, to solve the problem. How in particular you are able to estimate if it can be automated with AI, how long it might take, how often you are correct about that bet, how you store and possibly share past attempts to automate, etc.

              • @[email protected]
                link
                fedilink
                English
                19 hours ago

                I honestly don’t use it much, but so far, the most productive uses are:

                • generate some common structure/algorithm - web app, CLI program, recursive function, etc
                • search documentation - I may not know what the function/type is, but I can describe it
                • generate documentation - list arguments, return types, etc

                But honestly, the time I save there honestly isn’t worth fighting with the AI most of the time, so I’ll only do it if I’m starting up a big greenfield project and need something up and going quickly. That said, there are some things I refuse to use AI for:

                • testing - AI may be able to get high coverage, but I don’t think it can produce high quality tests
                • business logic - the devil is in the details, and I don’t trust AI with details
                • producing documentation - developers hate writing documentation, which is precisely why devs should be the ones to do it; if AI could do it, other devs could just use AI to generate it, but good docs will do far more than what AI can intuit
      • @DavidDoesLemmy
        link
        English
        43 days ago

        I have a job to do. And I understand the other language conceptually, I am just rusty on the syntax.

        Also the chat feature is invaluable. I can highlight a piece of code and ask what it does, and copilot explains it.