I’ve been working with a Javascript (+ TypeScript) + Java + SQL stack for the last 10 years.

For 2024 I’d like to learn a new programming language, just for fun. I don’t have any particular goals in mind, I just want to learn something new. If I can use it later professionally that’d be cool, but if not that’s okay too.

Requirements:

  • Runs on linux
  • Not interested in languages created by Google or Apple
  • No “joke languages”, please

Thank you very much!

EDIT: I ended up ordering the paperback version of the Rust book. Maybe one day I’ll contribute to the Lemmy code base or something :P Thank you all for the replies!!!

  • @scarilog
    link
    110 months ago

    Bundle size is my only complaint with blazor, has to send the .net runtime in webassembly to the client.

    Aside from this, C# on the browser is an absolute joy to use. I’d use for everything if I could.

    • @[email protected]
      link
      fedilink
      410 months ago

      You are talking about Blazor webassembly, I am talking about Blazor server side, which loads as fast as a “normal” website.

      Server side Blazor has other caveats, that’s why I specified it is an intranet project, where server side Blazor fits very well. Anyway, at the moment, Microsoft is still putting effort in polishing both type of Blazor hosting model.

      This is not our first Blazor intranet web app and some of them are running in production for one year more or less.

      It is really a joy to program using Blazor, especially if you need cross tab/browsers/device/user real time communication, which comes almost free thanks to underlying SignalR channel.

      • @scarilog
        link
        -3
        edit-2
        10 months ago

        Ah you mean Razor then. Blazor lets you run C# in the browser, but Razor is the one that needs a server and streams changes to the client using signalR.

          • @scarilog
            link
            210 months ago

            Sorry, that’s my bad, I was under the impression that Blazor and Razor were two distinct ways of doing things. Thanks for that link, it was very helpful.

        • @[email protected]
          link
          fedilink
          410 months ago

          Razor

          Razor is the templating engine that’s been there since the original MVC. Blazor Server is the one that needs a server and streams changes to the client using signalR. Blazor WASM is the one that uses Web Assembly. As of .Net 8, Blazor can now also ne used as a generic SSR backend. They all use Razor Components, which is a component model using the Razor engine.

          Not to be confused with Razor Pages, which is also a generic SSR backend.