• JakenVeina@lemm.ee
    link
    fedilink
    arrow-up
    63
    arrow-down
    6
    ·
    9 months ago

    C#. Comes with a first-class dev and debugging experience, a HUGE first-party BCL, cross-platform application support, and one of the best webserver frameworks out there.

    TypeScript makes a reasonably-close second, not necessarily because it's great, but because of how effective it is at making JavaScript usable.

    • huntrss@feddit.de
      link
      fedilink
      arrow-up
      15
      ·
      9 months ago

      The first-class dev and debugging experience, is this with Visual Studio or Rider as IDEs?

      Because I currently do C# with Linux + neovim + Omnisharp as Language Server and it is really slow and bad. Do you have any tips?

      • Entropius@lemmy.world
        link
        fedilink
        English
        arrow-up
        9
        ·
        9 months ago

        I’ve never used it on Linux but Rider seems fast to me on Windows. It’s snappier than Visual Studio + Resharper at least.

      • JakenVeina@lemm.ee
        link
        fedilink
        arrow-up
        6
        ·
        9 months ago

        VS for me. I've heard notbing but praise for Rider.

        I know there's also a lot of popularity for VSCode, if you know what you're doing and what all extensions you need to setup, but that makes for a much bigger barrier to entry.

    • ribboo@lemm.ee
      link
      fedilink
      English
      arrow-up
      6
      ·
      9 months ago

      Couldn’t have said it better myself! Lovely that it’s the most upvoted one.

    • pycorax@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      9 months ago

      Funny you list both C# and Typescript because the lead architect of C# also worked on Typescript.

  • bobbytables@feddit.de
    link
    fedilink
    arrow-up
    43
    arrow-down
    5
    ·
    9 months ago

    I'll just say it: PHP. I mean the language itself is not really pretty (but came a long way).

    But I've got a nice side gig running where I help small businesses and schools to keep their old PHP based websites running and secure until they can afford a new system. In that area money is often very tight and there are no "content managers" but a few people maintaining content with next to no technological knowledge and in their spare time. So changing systems is a hard task. Being the really decently priced guy who keeps their PHP ship afloat is pretty rewarding (not really monetarily but personally).

    So working with PHP I have a very nice group of customers who are grateful for every bit of help. I love that.

    • AeroLemming@lemm.ee
      link
      fedilink
      English
      arrow-up
      20
      arrow-down
      2
      ·
      edit-2
      9 months ago

      BRB, gonna make a platform frontend, backend, desktop application, mobile app, and hardware controller all in JavaScript. shudders

        • AeroLemming@lemm.ee
          link
          fedilink
          English
          arrow-up
          18
          arrow-down
          1
          ·
          9 months ago

          Ugh, I hate when people use Python for that. It makes the application slow and power-hungry. The Matrix backend is a great case to look at for why Python shouldn't be used for more than glue and scripting. It's soooooo slow and they're rewriting it in Go now.

  • dingleberry@discuss.tchncs.de
    link
    fedilink
    arrow-up
    25
    arrow-down
    3
    ·
    edit-2
    9 months ago

    Oddly enough Java. If you weren't brainwashed to write the "enterprise Java", it's surprisingly succinct. More so than Go, whose forced "simplicity" ended up making it more verbose.

      • swordsmanluke@programming.dev
        link
        fedilink
        arrow-up
        13
        arrow-down
        1
        ·
        9 months ago

        I fucking love Kotlin.

        Access to the massive Java ecosystem, and takes away 99% of the boilerplate that everybody loves to hate. AND introduces Optional types to make Null-management better. AND smart, type-aware hinting in the editor so that if you've validated once that x is not null, you won't get warnings downstream - unless your variable could be altered by another thread, which is an important thing to know.

        Kotlin is Java with all the suck taken out.

        …And the Kotlin compiler is compatible with Java, so you can migrate one file at a time or just try it out in a subsection of your codebase…

        It's just… chef's kiss

    • Pyro@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      1
      ·
      9 months ago

      I've heard that the recent versions of Java are a lot more pleasant to work with. I'll probably still stick to C# though.

  • david@feddit.uk
    link
    fedilink
    arrow-up
    20
    arrow-down
    2
    ·
    edit-2
    9 months ago

    Elm (for frontend). https://elm-lang.org/

    Nothing is as easy to refactor, maintain, add new features to, work with after a gap, nothing else is as crashless and rock solid.

    No compiler is a fast, friendly, helpful and insightful. Seriously. You don't wait for the compiler. It's instant even on huge code bases. And the resulting output outperforms other major frameworks.

    Its syntax is weird at first (even stranger than python) and the autoformatter is mad keen on blank lines but after a while it's just so clear and easy to follow.

    You have to let go of your object oriented mindset and stop trying to turn everything into objects and components but everything I hated about maintaining old code evaporated once I did. I used to believe that objects detangled code, I don't know why I continued to believe that despite the evidence, because apart from pretty small and simple things, OO code gets extremely tangled. Elm is absurdly easy to refractor, so you just do.

    It's genuinely nice to add new features to old code, something I've never experienced before in a few decades of programming.

    The elm slack is also a very helpful place indeed and you usually get a lot of support pretty quickly.

    Adding the link to their front page, I see they call it "A delightful language for reliable web applications" and the first claim is "no runtime exceptions". I remember thinking that was marketing BS but being intrigued by the bold claim. A few years later and I can honestly say that that accurately describes my experience.

    These last few years I've rediscovered the joy of coding.

    • christophski@feddit.uk
      link
      fedilink
      English
      arrow-up
      8
      arrow-down
      1
      ·
      9 months ago

      I've literally never heard of this before. Are there any major projects which use this?

    • technojamin@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      9 months ago

      I really love Elm, and it challenges the common notion of what it means to be a “healthy” language/ecosystem. It’s a beautiful passion project that can really only be used if you adhere to the vision of its creator, but it’s a really admirable and utopian vision.

      The reasons for it not being very popular are pretty clear (slow language evolution, “one way to do anything”, perfectionist design), but it’s an extremely cohesive and friendly language. I’ve never used it for anything serious, but I hope it stays around. Clearly the creator isn’t aiming for widespread adoption, but I hope that the niche it’s created grows nonetheless, because it’s a lovely ecosystem and community.

  • haruki@programming.dev
    link
    fedilink
    arrow-up
    19
    arrow-down
    1
    ·
    edit-2
    9 months ago

    Clojure. It's just fun to write.

    Firstly, it's functional and "Lispy". My code is super expressive. Writing code is like writing prose where I can choose a word (function) from a large vocabulary [1]. I can focus on high-level concepts and modifying states instead of fighting with low-level logic.

    Secondly, it runs on JVM - an already robust and performant platform.

    And there are so many good things that I cannot simply write in some words. The father of Clojure, Rich Hickey, is a genius in expressing Clojure's design. You should check out some of his talks [2].

    Too bad that Clojure is too "niche" that I haven't got a chance to make a living by writing Clojure, yet. But learning it is one of the best decisions I've ever made in my career. Yes, it's that good.

    [1] https://clojuredocs.org/

    [2] https://github.com/tallesl/Rich-Hickey-fanclub

  • coltorl@programming.dev
    link
    fedilink
    arrow-up
    18
    arrow-down
    1
    ·
    edit-2
    9 months ago

    C++, I am a library developer with some embedded experience. I can easily interface with c libs and expose my lib with a c interface. With clang, static analysis catches most bugs before runtime. Everything I write can be compiled nearly anywhere with very little dependencies required. Excellent IDE and LSP support with a ton of documentation on the language features available (admittedly, there are a lot). The standard library is gigantic, useful, and well documented. It is used everywhere, so resources and example source code in C++ are very easy to come by. Project configuration (via CMake) is extremely powerful and expressive (though not technically C++).

    Some languages have some of the elements I listed, but no other language has them all.

    • lysdexic@programming.dev
      link
      fedilink
      English
      arrow-up
      3
      ·
      9 months ago

      I would also mention support for third-party compiler cache systems. Install something like ccache, set a couple of flags in the CMake project, and your whole project can now reuse build artifacts with barely no CPU load.

    • z3rOR0ne@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      9 months ago

      If you don't mind throwing your two cents my way, what's a good intro to C±± book for those who already have a basic understanding of C?

  • alokir@lemmy.world
    link
    fedilink
    arrow-up
    15
    arrow-down
    1
    ·
    edit-2
    9 months ago

    Probably Typescript, it has so many quality of life features that I miss when I'm using anything else. A close second is C#, Kotlin third.

    Rust when performance really matters.

    PowerShell when scripting and automating stuff. It's common to hate it because "microsoft bad" but it's very logical and it feels modern. Funnily enough, I've only used it on Mac and Linux.

    • debounced@kbin.run
      link
      fedilink
      arrow-up
      5
      ·
      9 months ago

      Zig is really starting to grow on me, it's basically an unfucked C (screw you, macros) and you can translate C into Zig code…and it has comptime, very nice! I don't have the patience for Rust in my hobby projects and the standalone-ness of Zig is perfect for embedded/systems programming. it definitely needs to mature more before the masses start taking it seriously, but goddamn it's nice to code in.

  • worldofgeese@lemmy.world
    link
    fedilink
    arrow-up
    14
    arrow-down
    1
    ·
    9 months ago

    Racket but I'll take Guile Scheme as a close second. Then Hy, a lisp dialect of Python. I'm writing a blog written in a DSL of Racket right now, Pollen, that makes authoring a joyful experience. Hy gives me access to the entire Python ecosystem plus access to things like macros. Guile Scheme is the configuration language of the Linux distribution, Guix System. Guile's G-Expressions are so powerful for writing packages.

      • worldofgeese@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        9 months ago

        I'd say Racket is the most different of any Scheme I know but it's not hard to get started if you know one or the other. Racket (in my opinion) has more niceties around the development experience than Guile and a pretty dang good IDE if you ask me.

  • 🐍🩶🐢@lemmy.world
    link
    fedilink
    English
    arrow-up
    14
    arrow-down
    2
    ·
    9 months ago

    C# is my happy place. Started doing python more over bash scripts for complicated stuff and I like it. I mostly use Java for work and my opinion of it depends on the how much extra effort I had to spend doing something I could have done in C# in a few minutes. Otherwise it has some nice features and project Panama has been a game changer.

    • micutio@sh.itjust.works
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      9 months ago

      For me it's the exact opposite: Java is my happy place, especially since v17. Due to my job I got started with C# a few months ago and it has been a pleasent experience to say the least. I need to do a hobby project to explore things I can't do at work and then I might be able to let go of some Java-isms that still creep into it.