• affiliate@lemmy.world
    link
    fedilink
    arrow-up
    50
    ·
    3 months ago

    back in my day we only had one language. it was called ASSEMBLY. wanted to make the computer do something? you had to ask it yourself. and that worked JUST FINE

  • pulaskiwasright@lemmy.ml
    link
    fedilink
    English
    arrow-up
    46
    arrow-down
    1
    ·
    3 months ago

    My favorite is “Java is slow” said by someone advocating for a language that’s at least 10 times slower.

        • humbletightband@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          3
          ·
          3 months ago

          I wouldn’t say so. They are inexperienced. They don’t know where the bottleneck of most of the modern software is (it’s io in 80-90% of cases) and how to optimize software without rewriting it to C++

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

      My favourite is “all the boilerplate” then they come up with go’s error checking where you repeat the same three lines after every function call so that 60% of your code is the same lines orlf error checking over and over

      • pulaskiwasright@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 months ago

        And god help you if you forget those 3 lines somewhere and you silently have database failures or something else.

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

          Yeah, that’s the other thing - it does become easier to accidentally fail to deal with errors and the go adherents say they do all of that verbose BS to make error handling more robust. I actually like go, but there’s so much BS with ignoring the pain points in the language.

      • xtapa@discuss.tchncs.de
        link
        fedilink
        arrow-up
        0
        ·
        3 months ago

        When you handle all your errs the same way, I’d say you’re doing something wrong. You can build some pretty strong err trace wrapping errs. I also think it’s more readable than the average try catch block.

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

          You still need to add error handling to every call to every function that might raise an error

  • invertedspear@lemm.ee
    link
    fedilink
    arrow-up
    29
    arrow-down
    2
    ·
    edit-2
    3 months ago

    One project I worked on had 10 different languages. That was rough. But even your basic full stack web application is usually 5 languages: SQL, a backend language, HTML, CSS and JS. Usually some wheel reinventing frameworks thrown in for good measure. 5 languages is light these days.

    • CodeMonkey@programming.dev
      link
      fedilink
      arrow-up
      4
      ·
      3 months ago

      I work in Java, Golang, Python, with Helm, CircleCI, bash scripts, Makefiles, Terraform, and Terragrunt for testing and deployment. There are other teams handling the C++ and SQL (plus whatever dark magic QA uses).

  • nickwitha_k (he/him)@lemmy.sdf.org
    link
    fedilink
    arrow-up
    18
    arrow-down
    2
    ·
    3 months ago

    Seems reasonable to me. A scripting language, a compiled language, SQL, some CI/CD DSL, and a dealer’s choice.

    Java isn’t bad but, I’m not a fan of how verbose and convoluted it is. That said, I’ll take Java over here JS any day of the week.

    • treechicken@lemmy.worldOP
      link
      fedilink
      arrow-up
      13
      ·
      3 months ago

      This is literally how this all started for us lol. Senior wanted to try to migrate everything to Kotlin in our project. Migration never finished. Now one of our major repos is just half Kotlin half Java. Devs on our team learn Kotlin by unexpectedly encountering it when they need to touch that code.

      • monsieur_hackerman@programming.dev
        link
        fedilink
        arrow-up
        6
        ·
        3 months ago

        Maybe it’s because I know both languages but is that really a big issue for people? The interop is great, and kotlin is very readable, so the cost of context switching between the two is miniscule.

        Some people have an extreme aversion to learning new things though. I feel that holding yourself to the standards and limits of your lowest performers isn’t a great thing.

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

    The python code we inherited had some performance issues. One of the guys was like “we should rewrite this in Java”.

    Luckily the boss was not an insane person and shut that down. The issue was an entirely stupid “…and then we do one query per project” behavior that worked fine when the company was small but unsurprisingly started to suck as users created more projects.

    Instead of a months long complete rewrite, we had a two hour “let’s add profiling… Oh wow that’s a lot of queries” session.

  • Aceticon@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    3 months ago

    I would say that over a decade of my career was coming in as a freelancer to fix codebases where a couple of people tought they knew better than the previous ones and proceeded to add yet another very different block to a codebase already spaghetiffied by a couple such people.

    Sometimes it was coding style, sometimes it was software design, sometimes it was even a different language.

    I reckon thinking that just deploying one’s EliteZ skills on top of an existing code base without actually refactoring the whole thing will make it better is a phase we all go through when we’re still puppy-coders.

  • MyNamesNotRobert@lemmynsfw.com
    link
    fedilink
    arrow-up
    4
    arrow-down
    1
    ·
    edit-2
    3 months ago

    How to go from only being able to compile the project on a Windows machine (due to obscure dependencies that every other Java project has for some reason) to not being able to compile on anyone’s machine at all in just 1 simple step.