I would like to know what programming language you use, why you made this choice and for what tasks it is used.

  • Go, because

    • I can decent crank code out quickly, and good code when I need to.
    • The tooling is outstanding
    • I can easily jump back into my projects I haven’t touched in a year and do bug fixes. Which most of those is project organization (and some of my projects are less well organized and harder to get back into), the language facilitates it by being simple. The hardest problems I face are algorithmic, not fighting with the compiler
    • Astonishingly fast compile times. I really hate waiting for builds, and CI pipelines run so fast
    • Static binaries. Before Go, I spent several years in Ruby, and got sick of having services fail because of runtime dependency changes. I had interpreter updates itself break programs more than once.

    I was using Java in my job, and had been since 1995 at that point, and did not touch it except for work. When I finally got fed up with dynamic, interpreted languages (around 2008?) I evaluated Rust, Vala, and Go, and Go won. In retrospect, I’m really glad I didn’t pick Vala, but whenever I look into Rust these days I’m also glad I didn’t pick that.

    For scripting, now I stick to bash, or zsh if I’m not sharing the code. Bash scripts never fail because bash changes; the biggest risk is having to be careful with commands; tools I’ve become accustomed to, like ripgrep, aren’t guaranteed to be installed everywhere, and POSIX tools like grep have variants that differ in argument support: GNU grep is substantially different from SysV grep. If I’m distributing it and can’t write it using basic, standard bash and the standard SysV POSIX tools available in BusyBox, I write it in Go.

    I did do a project in V recently and like it a lot, but it’s not mature enough to switch to, yet, and it’s so close to Go I can’t switch between the two because I start to conflate them.

    I will very rarely program in C to fix a bug in some project I’m using. C is so basic, I’ll never forget it; the biggest hazard in C is other people’s idioms.

  • lime!@feddit.nu
    link
    fedilink
    English
    arrow-up
    5
    ·
    10 hours ago

    currently i have projects going in python, go, rust, lua, zig, gleam, shell, and c#.

    i don’t get much actual work done.

  • apt_install_coffee@lemmy.ml
    link
    fedilink
    arrow-up
    6
    ·
    11 hours ago

    C because it’s what is used for low-end linux & embedded work.

    Shell scripts because they’re the caulk that holds a Linux distro together.

    Rust when possible because it’s how I wish systems programming could be.

  • jroid8@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    8 hours ago

    Rust

    • no undefined behavior outside unsafe
    • performance
    • package management
    • lots of crates
    • it’s enums
    • Result and Option
    • makes good practices easy and bad ones hard

    Other languages are cool too (except java) but they often miss half of what I like about rust. I like C but debugging undefined behavior is hard even with valgrind

  • db0@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    11 hours ago

    Python and gdscript. Python because it makes programming quick and fun. Gdscript because it’s basically python.

    EDIT: I use python for everything. I builld the Fediseer, Threativore, AI Horde, and a loooot of other programs and services with it,

  • Victor@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    12 hours ago

    TypeScript, because I like programming for the web, which is also my profession. Not a huge amount of choice in that space.

    Otherwise I like the fish shell scripting language, very simple, very comfortable. Much smoother than bash. Has definitely helped me simplify all my helper scripts and made them more robust and less error-prone.

    I’d like to learn OCaml next. Seems like fun. And maybe zig. Widely different, I imagine.

  • CsJ5NPkuvE@lemm.ee
    link
    fedilink
    arrow-up
    3
    arrow-down
    5
    ·
    edit-2
    17 hours ago

    PL: English Reason: Write prompts for LLMs Task: Create a decision tree in markdown/mermaid explaining what programming language, libraries and stack should be used for a {personal, business, infrastructure}… project