• Johanno@feddit.org
    link
    fedilink
    arrow-up
    2
    ·
    3 months ago

    The language is as important as architecture and stuff.

    Pick the right language for the right task.

    Performance? Don’t use python.

    Everything else? Use python because everyone does.

    /s

  • MonkderVierte@lemmy.zip
    link
    fedilink
    arrow-up
    1
    ·
    3 months ago

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

  • AnarchoSnowPlow@midwest.social
    link
    fedilink
    arrow-up
    1
    ·
    3 months 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.

      • MotoAsh@piefed.social
        link
        fedilink
        English
        arrow-up
        0
        ·
        3 months 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
          0
          arrow-down
          1
          ·
          3 months ago

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

      • Sasquatch@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        2 months ago

        Embedded? Rust!

        Web Frontend? Rust!

        Web Backend? Rust!

        idk what orher kinds of programming exist…

        • ZILtoid1991@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          2 months 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!

          • jasory@programming.dev
            link
            fedilink
            arrow-up
            0
            ·
            2 months ago

            “Game dev… Just force Rust into it”

            What’s wrong with Rust for game dev? It seems similar to C++, and C# which are the dominant languages.

            I can see arguments that the current projects have poor approaches, but not that the language itself is ill-suited.

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

              Rust has constant by default, which many don’t like in gamedev circles. Yes, compilers don’t care and optimize - at the highest optimization setting, otherwise it’s marginally slower, and each constant use will just add up.

              Other Functional Programming features of Rust makes writing transform functions quite good, until you need to get the results of those functions to be displayed.

              Some of the system-level allocation is quite hard with Rust, if not impossible.

              The borrow checker is hard to use with games, not to mention it has a big impact on performance.

              Object-Oriented Programming is possible through macros, but sometimes you need OOP instead of Entity Component System for more system-level stuff. Sure, ECS is really nice for game systems, but Bevy (an engine written in Rust) uses it for everything.

  • SmokeyDope@piefed.social
    link
    fedilink
    English
    arrow-up
    0
    ·
    3 months 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
      1
      ·
      3 months 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.

  • Digit@lemmy.wtf
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 months 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.

    • Ethan@programming.dev
      link
      fedilink
      English
      arrow-up
      0
      arrow-down
      1
      ·
      3 months 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.

      • Lucy :3@feddit.org
        link
        fedilink
        arrow-up
        0
        ·
        3 months ago

        Average Rust code:

        macro_rules! sum {
            ( $initial:expr $(, $expr:expr )* $(,)? ) => {
                $initial $(+ $expr)*
            }
        }
        
        fn remove_prefix<'a>(mut original: &'a str, prefix: &str) -> &'a str
        
        let mut up = 1;
            'outer: loop {
        

        Hell I don’t want to know what you define as ugly then.

    • Sunrosa@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      3 months ago

      One of the reasons i find it so hard to use non-Rust languages is how ugly they typically are by comparison. “fn” instead of “function” is such a great example of saving key presses where they’re most needed. And you get very used to seeing compact abbreviations. Idk if that’s what you’re talking about though.

      • Lucy :3@feddit.org
        link
        fedilink
        arrow-up
        1
        ·
        3 months ago

        Rust:

        fn getofmylawn(lawn: Lawn) -> bool {
            lawn.remove()
        }
        

        C:

        bool getofmylawn(Lawn lawn) {
            return lawn.remove();
        }
        

        With Rust you safe 1 char, and gain needing to skip a whole line to see what type something is.

      • tyler@programming.dev
        link
        fedilink
        arrow-up
        0
        ·
        3 months ago

        List comprehensions are much stranger than tabs vs spaces. There are very very very few languages that use them, and python’s is by far the worst out of the popular ones.

  • Gonzako@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    3 months 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.

    • Damarus@feddit.org
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      3 months ago

      Python has many great aspects, unfortunately it’s missing strong static typing.

      • jjjalljs@ttrpg.network
        link
        fedilink
        arrow-up
        0
        ·
        3 months ago

        Most of the code at my current job doesn’t even have the optional type annotations. You just see like def something(config). What’s config? A dict? A list? A string? Who the fuck knows.

        Unfortunately most of the developers seem to have a very pre-modern take on programming and aren’t interested in changing anything.

  • AldinTheMage@ttrpg.network
    link
    fedilink
    arrow-up
    0
    ·
    3 months 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.