• bestboyfriendintheworld@sh.itjust.works
    link
    fedilink
    arrow-up
    1
    ·
    18 hours ago

    The available libraries, operating system, and hardware platform pay a bigger role than the programming language. Often the choice of language follows the tool chain and frameworks that fit with the intended program.

  • Digit@lemmy.wtf
    link
    fedilink
    English
    arrow-up
    10
    ·
    1 day ago

    But, Haskell…, it’s so well thought out, so evolved, the best of all functional programming in one, the ability to handle infinite lists, the lazy evaluation, the strict type checking, the compiler that catches whole classes of bugs, the curt syntax, the ability to breathe it like pure thought, the clarity like maths…

    Okay, sorry, I better leave the room too.

  • AldinTheMage@ttrpg.network
    link
    fedilink
    arrow-up
    32
    ·
    2 days ago

    That’s why we use JavaScript on the front end, JavaScript on the back end, and you can streamline it even more by using JavaScript for the db layer too. After all, if you have too much data to be reasonably parsed in a single .json file, you are probably just architecting wrong.

  • AnarchoSnowPlow@midwest.social
    link
    fedilink
    arrow-up
    119
    arrow-down
    1
    ·
    3 days ago

    Programming languages, much like the jackass in the middle, are tools. Different tools are for different things. The right tool for the job can make your day. The wrong tool can make you question your entire career.

      • Sasquatch@lemmy.ml
        link
        fedilink
        arrow-up
        4
        ·
        2 days ago

        Embedded? Rust!

        Web Frontend? Rust!

        Web Backend? Rust!

        idk what orher kinds of programming exist…

        • ZILtoid1991@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          2 days ago

          Game dev? Just force Rust into it, despite being quite mediocre for the job, there’s so many engines written in Rust. ECS is the answer to everything!

        • Ephera@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 days ago

          That is, like, genuinely an advantage, though. At $ DAYJOB, we have a project that spans embedded, backend, web frontend and CLI, and for all of these, Rust is decent.

          Like, I can see why a frontend dev would want to use HTML+CSS+JS/TS (rather than HTML+CSS+Rust), mainly because the massive ecosystem of JS components makes you more productive.

          But you pretty much won’t ever develop a web frontend without an accompanying backend, and then being able to use the same language-expertise, libraries, utility functions and model types, that is also a big boost to productivity, especially if you won’t have a dedicated frontend dev anyways.

          Realizing that also made me understand why people subject themselves to NodeJS for their backend, which has the same advantage, just with the big ecosystem in the frontend and the small ecosystem in the backend.

          • because the massive ecosystem of JS components makes you more productive.

            Slightly less ironic: I question even this right now (as I have to suffer from endless “hot”-reloading and browser-crashes because of Next.js bloat).

            I think the massive ecosystem has fewer high quality libraries than Rust at this point. I use both JS/TS in frontend and Rust (either frontend more as a hobby and backend) extensively, and I very often check the dependencies-source, and even more often rewrite it (unfortunately not in Rust), because of low-quality. And it’s sooo slow… the tooling and the frontend (albeit I think that has a very lot to do with next.js… and with how easy it is to make it slow for someone not that experienced or someone not being extremely careful).

            Frontend is not yet as matured as JS/TS (whatever matured is, but the count of frontend frameworks is at least a magnitude higher in JS/TS), but I think when I would start a new company I would default to Rust now as frontend indeed, the language itself is for me reason. And I think vanilla-js (or Rust?) is not that much worse (time/effort-wise, sanity etc.) for more complex applications than what the Next.js ecosystem has produced so far.

      • MotoAsh@piefed.social
        link
        fedilink
        English
        arrow-up
        15
        ·
        2 days ago

        A tool of a person is a fool who is being used by someone else. They might not be useful to you, but to who ever makes the koolaid they’re drinking, they’re a very good tool.

        • CanadaPlus@lemmy.sdf.org
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          2 days ago

          I think that’s the basic idea, but in practice it’s used for people who are just generally dumb as well.

          • Omgpwnies@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            2 days ago

            Well, when was the last time you looked at a hammer and thought “y’know, you’re pretty smart!”

            • CanadaPlus@lemmy.sdf.org
              link
              fedilink
              arrow-up
              1
              ·
              1 day ago

              Haha, true. But then again, I’ve definitely thought that about like, a self-loading rifle or a can opener that way.

            • CanadaPlus@lemmy.sdf.org
              link
              fedilink
              arrow-up
              1
              ·
              1 day ago

              I guess, but neither kind of dashboard catches dash from your horses these days. And forget about all bears being “brown ones”. Language evolves.

      • DacoTaco@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        2 days ago

        Tools are always useful. If its a good thing to (ab)use said tool depends on the tool and if its human or not :p
        … And the job for the tool ofc

    • Captain Aggravated@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      10
      ·
      2 days ago

      I seem to remember hearing this story: Back in the 2000s, Google did all their back-end stuff in C++ to make sure it was performant, and when they acquired Youtube they found it was made in Python, slow to run, fast to develop.

      • Victor@lemmy.world
        link
        fedilink
        arrow-up
        8
        ·
        2 days ago

        Did they change it after the acquisition? Or is python why it’s still so freaking slow?

        • sping@lemmy.sdf.org
          link
          fedilink
          English
          arrow-up
          6
          ·
          edit-2
          2 days ago

          Things is you don’t crunch numbers in Python code, you do that in libraries called from Python.

          It’s a few statements of orchestration and any heavy lifting is encapsulated compiled code.

          You don’t do tight loops on Python, or if you do you’re using it wrong.

          • Victor@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            1 day ago

            This was mostly tongue in cheek, probably not very clear 😅

            But yeah, fully agree with you.

        • boonhet@sopuli.xyz
          link
          fedilink
          arrow-up
          9
          arrow-down
          1
          ·
          2 days ago

          Lol @ YouTube being slow

          Look at the amount of data that goes through their servers every millisecond. It’s ridiculous. All things considered, YouTube is lightning fast.

          Maybe the UI isn’t as snappy as it could be, but the blame there lies solely on throwing more and more javascript at it to add “features” that end users don’t really want.

    • staircase@programming.dev
      link
      fedilink
      arrow-up
      11
      ·
      edit-2
      3 days ago

      Sometimes I just want to use a particular tool, and care less what I’m making with it.

      I rarely get this pleasure at work.

  • MonkderVierte@lemmy.zip
    link
    fedilink
    arrow-up
    34
    ·
    edit-2
    2 days ago

    The programming language promotes a thinking model and the ecosystem defines a modus operandi.
    Of course they matter.

  • Jankatarch@lemmy.world
    link
    fedilink
    arrow-up
    9
    ·
    edit-2
    2 days ago

    Ngl changing paradigms can have the problems do a 180.

    I hate leetcode but it’s surprisingly fun to code certain questions in prolog when final outcome with error checking is like 15 lines.

  • palordrolap@fedia.io
    link
    fedilink
    arrow-up
    16
    arrow-down
    1
    ·
    3 days ago

    This is pretty smart for the left guy. He’s usually down at the level of “HTML is a programming language” or “What’s a programming language?”.

    That said, the first one of those isn’t mutually exclusive with what he says in the meme.

    • flamingo_pinyata@sopuli.xyzOP
      link
      fedilink
      arrow-up
      14
      arrow-down
      1
      ·
      3 days ago

      It mostly reflects my own story. From a beginner enthusiast of multiple “cool” languages (Scala was all the rage back then), through considering myself more “mature” and thinking about business priorities, ending at understanding that using a good programing language is a business priority.

      If the team works with a language they enjoy, they will be happier (and more productive). Doesn’t even matter if the code is written by humans or machines.

  • Gonzako@lemmy.world
    link
    fedilink
    arrow-up
    13
    ·
    3 days ago

    I like using python just cuz I can quickly get it working. I wish I had the time to undust C and try getting that to do what I want but my work cares more about iteration and speed to implement than speed of the program itself.

  • SmokeyDope@piefed.social
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    3 days ago

    I’m only a hobbyist no skin in the game but as an engineer first programmer second I feel like how you design the architecture of your logic and how you choose to prioritize computational optimization or feature implementation have a much bigger impact than language. Obviously theres a time and place like using luajit instead of lua if you really need that speed boost, but in big complex programs I’m willing to bet lazy programmers skip optimization steps and copy paste thousands of lines to ship quickly regardless how performance optimized the underlying language is.

    I make a module that does a specific thing for version 1, after initial bug patches and maybe a feature addition theres usually an epithany that the logic can be generalized into an api type registry structure that allows the code to be reused and configured as needed on per item basis. Along the way you do stuff like ask what the not expensive calls are, add accumulator timers to reduce unneeded CPU usage , ensure early returns are up top when it makes sense, choosing to render a cleverly crafted sprite instead of a full 3d entity.

    A conditional if then logic loop Is a logic loop no matter what Turing complete language its written in. What really matters is how you use the loop not which syntax its written in.

    • Ethan@programming.dev
      link
      fedilink
      English
      arrow-up
      12
      ·
      3 days ago

      Any function can be written in any Turing complete programming language. That doesn’t mean a sane person would use malboge or brainfuck for a production system. Language choice can have a huge impact on productivity and maintainability and time is money.

    • theneverfox@pawb.social
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 days ago

      It’s extremely important, because you’re never really picking a programming language, you’re picking a stack

      You can technically write an android app in Python, but should you? You’re now locked into a framework used to run apps in Python, which are going to be much more limiting than other languages and frameworks. But you’ll also have access to Python libraries, which gives you options in that direction

      Then you examine the context. How good are you at learning other languages? How long/complicated is what I want to do? Does this need to be performant? How long do I need to keep this working?

      And most importantly, and you really have to think this one through… Will I need to extend the original goals in the future?

      So really, yes, it’s very important. A bad decision in the beginning could cause problems for decades

    • Caveman@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      2 days ago

      You make a fair point, programming skill is more important than language but picking a programming language is still important in a lot of cases.

      Ecosystem size can reduce “reinvent the wheel” code.

      Some languages just have dogshit performance like Ruby, lua is pretty good though and it absolutely matters when you have to crunch a lot of data. Access to developers is big since you ideally want to find someone with experience in the language your project is in.

      Some languages like Rust are very good for making safe code but very bad if you want to get out a microservice fast. I could make an equally correct version of some adapter in a fourth of the time in python compared to rust and I know them similarly well.

      Then there’s low RAM requirements like embedded devices, it’s best to run something that compiles to machine code and doesn’t need a big runtime. Java and C# become almost useless in very low RAM environments and you’d have to use Zig, C or Rust instead.

      So long story short, depending on what you’re writing it can just not matter or matter a lot.

    • AnarchoSnowPlow@midwest.social
      link
      fedilink
      arrow-up
      7
      ·
      3 days ago

      “We have decided that we will use deck screws to build our deck, it’s the right pattern and architecture for the job. Now get started with this hammer, the tool you use doesn’t matter as long as it’s functional as a tool. If it’s not working well that’s an optimization problem because you’re bad at your job.”

    • expr@piefed.social
      link
      fedilink
      English
      arrow-up
      6
      ·
      3 days ago

      No one actually copy/pastes thousands of lines of code. We use libraries.

      Languages do matter a lot. Yes, they are all technically equivalent, but the craft of software engineering is much, much more about social/cultural/community considerations than it is computational ones. What the community around a programming language values matters, because it informs a great deal about what’s idiomatic in a language, what libraries are available, what kind of bugs are possible (or not), how easy code is to read, comprehend, and maintain, and much more.

      What makes a language good is not what programs you can write in it, but how it constrains what you can do such that you naturally writing good code. For example, null pointer exceptions (or segfaults in C, etc.) are a classic problem that plagues many mainstream languages like Java, C#, Python, etc. In Haskell (and a handful of other languages, including Rust), null pointer exceptions are not possible, because nulls do not exist in these languages. Taking away this language “feature” actually increases the power of the language, because you can guarantee that a certain class of common bugs are not possible in your program. So languages that restrict known bad programming practices lead to programmers writing better programs and, more generally, a community around the language that resonates with these philosophies.

    • Ethan@programming.dev
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      14
      ·
      3 days ago

      Keep your Rust to yourself. I don’t care what language someone else uses for their projects but Rust is an unreadable mess that I don’t want anywhere near my projects.

      • UnfortunateShort@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        2 days ago

        Rust is an unreadable mess to you because you can’t read it. It has a steep learning curve, but the reward is one of the most reliable and efficient languages ever created.