• 0 Posts
  • 87 Comments
Joined 1 year ago
cake
Cake day: July 5th, 2023

help-circle




  • I don’t understand the need for Ctrl-C/V, when manually copying the text exists. I know it’s snarky, but that’s the level of difference we’re talking about here. Or imagine, to delete a line, someone Right Arrows 50 times, then backspaces 50 times, instead of using the shortcut.



  • SQL is horrible as a language to read or write. There’s a million different variants, because it lacks so many basic things. And when used in other code, you generally end up string concatinating one language in another language, with all the HORRIBLE bugs something like that brings about.

    Imagine Backend People said we should just write adhoc Javascript for the frontend by concatinating the “correct” code in the backend.



  • r1veRRR@feddit.detoMemes@lemmy.mlPlane goes brrrr
    link
    fedilink
    arrow-up
    31
    arrow-down
    9
    ·
    9 months ago

    ANY effective, long-term collective change REQUIRES that the large majority of people CHANGE THEIR CONSUMPTION HABBITS. While not great, the private plane stuff is exactly as pointless as the paper straws. Both are ways for everyone to point the finger at everyone else, and not have to change.

    If the government implemented the “correct” laws tomorrow, but the populace doesn’t want to change their habits, they will vote in people that give them back their old, bad things.

    If a company implemented to “correct” processes, but the consumers don’t want to pay the necessary price, they go bankrupt, and the company with the “incorrect, but cheap” processes wins.

    ALL COLLECTIVE ACTION IS A COLLECTION OF INDIVIDUAL CHANGE. There is no alternative!





  • Ironically, I learned Rust first, and later looked at Go. I found a lot of the syntax needlessly “different”. That being said, it’s still a decent language. Point being, a lot of the weirdness subsides once you understand why it’s there.

    Personally, I don’t actually care about the lifecycle and memory management stuff. What I like about Rust is:

    • An enforced error type that is very convenient to use with the ? operator. No more err != nil spam, but same amount of safety
    • ADTs with a host of wonderful features, like exhaustive match statements. Go enums are horrendously basic, let’s be honest
    • NO NIL!! Non existence is expressed with an Option type that, like the error type, comes with many conveniences
    • Generics from the start, meaning you don’t have older code that throws away type safety anywhere
    • Traits/Interfaces can be implemented for foreign/external types and types can implement external interfaces (duh)
    • Great tooling, good formatting tools, good LSP, that kind of stuff. Golang has that too

    Why learn Rust? For the same reason everyone should learn different languages. To learn new concepts and see new perspectives on old problems. It’ll make you a better developer even in your previous languages.




  • For bigger projects, anything with MANDATORY types is a must for me. Optional, not compiler checked hinting doesn’t cut it.

    Not that i hate the language, but I do hate the tooling around it. I don’t think I’ve ever had a pleasant experience with setting up a Python project. And all the data stuff is just wrappers for code in other languages, making the packaging story even uglier, even harder.


  • In my experience it HEAVILY depends on the language you’re using. Nothing beats Intellij for Java or Kotlin, but Rust and Go feel at home in any editor.

    I know that LSPs and DAPs somewhat take care of these, but the following are often easier in IDEs:

    • Refactorings, including really smart language specific ones
    • Support for fancy frameworks. For example, Intellij can analyse all annotations for Dependency Injection or Spring stuff, and will then tell you exactly how everything connects on a higher “framework” level. Arguably, this is a solution to a problem Enterprise Java created
    • Debugging is easier
    • In general, stuff works “well enough” out of the box. As a fan of Neovim, I’ve definitely been frustrated a lot the first time I had to set something up
    • Fancy integrations, for example linking frontend code calling backend code directly, or an entire little Database Manager builtin, with magic SQL code completion



  • We used to have a Python guy at my work. For a lot of LITTLE ETL stuff he created Python projects. In two projects I’ve had to fix up now, he used different tooling. Both those toolings have failed me (Poetry, Conda). I ended up using our CI/CD pipeline code to run my local stuff, because I could not get those things to work.

    For comparison, it took me roughly zero seconds to start working on an old Go project.

    Python was built in an era where space was expensive and it was only used for small, universal scripts. In that context, having all packages be “system-wide” made sense. All the virtual env shenanigans won’t ever fix that.