• Knusper@feddit.de
    link
    fedilink
    arrow-up
    2
    arrow-down
    8
    ·
    11 months ago

    I mean, it’s not unlikely for a programming beginner to write Python, but I certainly had a hunch this was Python before reading to the end.

    So, yeah, this is at least partially the Python experience, not generally the programming experience…

    • enkers@sh.itjust.works
      link
      fedilink
      arrow-up
      7
      arrow-down
      1
      ·
      edit-2
      11 months ago

      I’ve had this experience in other languages, but never python. Find the missing semicolon and getting a cryptic error message is a very common programming experience.

      The reason I never had this problem in python is that by the time I learned it, I was already a fairly experienced developer, and I used better tooling from the get go. This kind of error is reallllllly hard to make in a modern IDE using a linter and formatter.

      That suggests to me that this is more likely a fairly language agnostic experience. It might even bias people against the languages they learn first.

      • Knusper@feddit.de
        link
        fedilink
        arrow-up
        2
        ·
        11 months ago

        I mean, I guess, it depends on your perspective. Some folks work in garbage/proprietary languages all day and would be very glad to have Python-levels of compiler help. Others work in JS/TS and do have similar nonsense to deal with as in Python.

        But lots of languages, e.g. JVM languages, Rust etc., don’t struggle with semicolons and the like.
        And they don’t have to compile at runtime, so they can easily outclass Python for more complex error reporting, which is at least my experience.

        Personally, I have pretty much only had the experience of “tell me where the error is” in Python and TS.

        • Fedora@lemmy.haigner.me
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          11 months ago

          I’ll always appreciate Lisp for the most powerful REPL in existence of programming languages by a long shot. Name me one programming language that empowers developers to troubleshoot and fix runtime errors with high availability like Lisp does:

          • Meh, who cares. Let’s continue to run.
          • Here’s a REPL with the app state at the time of the runtime error. Happy debugging!
          • Fix the bug in production inside of the REPL while everything continues to chug along.
          • Save the changes to disk and check it into version control.

          The REPL in Lisp is so powerful that there’s an entirely different approach to developing apps in Lisp. You can, and some do, code everything inside of the REPL. When they’re done, they save the file to disk.

    • DreamButt@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      11 months ago

      As someone who has taught people a variety of languages. No. This happens regardless of what language you choose. It’s just a universal programmer experience to get frustrated at your work

      • Knusper@feddit.de
        link
        fedilink
        arrow-up
        1
        ·
        11 months ago

        I am not saying that you don’t get frustrated at your work in other languages. I’m saying this particular frustration is characteristic.

          • Knusper@feddit.de
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            11 months ago

            Well, I’m not just talking about issues.

            everything looks good, time to run it

            This sounds like they did not or could not explicitly compile it. Pretty much all popular languages are compiled. JS isn’t, but people are less likely to say that they ‘run’ that one. Ruby isn’t, but it’s not as popular as Python.

            Well, and my preferred version of “everything looks good” is “everything compiles”, which with a strict enough language does also make failure during the first run much less likely.

            I’m also not saying that these aspects are unique to Python.

            The language failing to tell you where the issue is also happens in JS/TS, C/C++ and I’m going to presume Ruby, too.
            Python is just again rather popular and some of these choices don’t make sense with my first hunch.

            • DreamButt@lemmy.world
              link
              fedilink
              English
              arrow-up
              2
              ·
              edit-2
              11 months ago

              Honestly man it just sounds like you have struggled with dynamic languages and by extension prefer static (compiled) ones. Which is totally fine you don’t have to like everything. But I do think you’re missing the real issue with “everything looks good.” It’s a lack of experience with the tool. It doesn’t matter if you’re using something as strict as Rust or dynamic as Lisp. “Everything looks good,” is always bad. You should know “this is how this works,” which is just not something a newbie can handle when they still don’t know the difference between pass-by-reference and pass-by-value (or that those words even exist!)