• menas@lemmy.wtf
    link
    fedilink
    arrow-up
    7
    ·
    20 hours ago

    bonus feature : you server is now a toaster. Well there is nowhere to pu bread, but your watt/heat ratio is definitely closer to toaster than with a decent stack

  • hperrin@lemmy.ca
    link
    fedilink
    English
    arrow-up
    14
    arrow-down
    1
    ·
    edit-2
    1 day ago

    I wrote an entire email service (https://port87.com/) in JavaScript (Node.js and SvelteKit). I know some people have strong feelings against JavaScript, but the fact that you can build basically anything in it is pretty nice.

    • iglou@programming.dev
      link
      fedilink
      arrow-up
      4
      ·
      21 hours ago

      There is many languages that you can build anything with… Although I’ll agree the front end side is more tedious

    • douglasg14b@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      18 hours ago

      I mean yeah you can do anything with it like most other languages. The problem comes in with the unstable ecosystem JavaScript has.

      You simply don’t have longevity with libraries and frameworks. They churn and become deprecated far too quickly for really any stable project that requires a low maintenance burden.

      • hperrin@lemmy.ca
        link
        fedilink
        English
        arrow-up
        3
        ·
        17 hours ago

        When I say “build anything”, I mean it works in nearly every environment, including natively in the browser. I can write the same code on the server as in the browser as in a mobile app as in a desktop app.

        React has been around, and improving, for 12 years. You can run code from the first version today. The DOM has been stable since about 1998, so anything built on it should still run today.

        It is true that JavaScript libraries tend to change quickly, but that doesn’t mean old versions stop working. It’s not like the native Linux ecosystem, where you need to build on the current kernel and libraries or it won’t work, it’s more like Docker or Flatpak, where you can build your libraries into your bundle and they will keep working. That’s why websites that were built 20 years ago, with the libraries of the time, still work today.

  • palordrolap@fedia.io
    link
    fedilink
    arrow-up
    64
    ·
    2 days ago

    I am old. I am still not over JavaScript existing outside of a browser. I’m not sure I ever will be. And that’s from someone who uses a Linux DE that uses JavaScript and XML as part of its GUI.

      • NotSteve_@piefed.ca
        link
        fedilink
        English
        arrow-up
        20
        ·
        2 days ago

        I hate Microsoft but honestly Typescript makes JavaScript one of my favourite languages. Its how it should have been

        • douglasg14b@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          18 hours ago

          Yes, typescript is my favorite language. There’s literally no other language out there that is as expressive and has as strong of a type system as typescript. It is the master of making impossible states unrepresentable through meta programming. Being able to move domain complexity into the type system instead of into the runtime is some of the best ways you can reduce your runtime complexity and defects.

          Though .net is my favorite ecosystem, by far. It’s first party frameworks are unmatched in performance and developer experience. And its ecosystem is incredibly stable, unlike JavaScript. C# Is unfortunately a much less capable language from a type perspective than typescript though.

          If C# got discriminated unions and strings as first class type citizens that would launch it pretty far.

          • expr@programming.dev
            link
            fedilink
            arrow-up
            1
            ·
            16 hours ago

            Umm, there are plenty of languages with a stronger, more expressive type system than Typescript. Like Haskell. And there are languages with an even stronger type system than Haskell (dependently-typed programming languages like Idris). Typescript, while having some small innovations and certainly an improvement over the rather sorry state of OOP type systems, is fairly low on the totem pole as far as type systems go. Also, Typescript’s type system is famously not sound.

            There’s a ton of stuff Typescript simply can’t do. Higher-kinded types, GADTs (type narrowing gives you a little bit of their functionality kinda, but misses a lot of stuff), etc… Not to mention that it has a fairly lackluster type inference system.

    • dohpaz42@lemmy.world
      link
      fedilink
      English
      arrow-up
      9
      ·
      2 days ago

      If you have an evening (or all weekend), and really want to blow your mind, look up Low Byte Productions on YouTube and look up their JavaScript videos.

    • TheRedSpade@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      2 days ago

      I am old. I am still not over JavaScript existing outside of a browser.

      I’m in my mid thirties and didn’t know this was a thing until now.

      • vithigar@lemmy.ca
        link
        fedilink
        arrow-up
        15
        ·
        edit-2
        2 days ago

        Even if you don’t count desktop applications like VSCode or Discord or whatever that are written in primarily JavaScript due to those arguably just being packed inside their own little browser engine that they ship with, still yes.

        Node.js is an extremely widely used JavaScript runtime environment that people are using to write server back ends and command line utilities and god knows what else in JavaScript.

  • Timberfang@pawb.social
    link
    fedilink
    English
    arrow-up
    21
    ·
    2 days ago

    We need a mobile app? Believe it or not, JavaScript, right away. We have the best/worst software in the world because of Javascript.

  • Iced Raktajino@startrek.website
    link
    fedilink
    arrow-up
    28
    arrow-down
    2
    ·
    2 days ago

    For the longest time (relatively speaking), I would do full stack Javascript (like the meme). But I have to frequently tie into AD/LDAP and the only decent NodeJS library for LDAP is no longer maintained because the community was shitty to the dev. Now I’ve had to venture out into Go (I can’t stand working in Python).

    Let this be a reminder to be nice to the developers who are giving you their hard work for free.

    • Eager Eagle@lemmy.world
      link
      fedilink
      English
      arrow-up
      22
      ·
      2 days ago

      whoa, that email is wild, wtf

      it’s not even just a shitpost troll you can shrug off, what’s wrong with that person

      • ripcord@lemmy.world
        link
        fedilink
        arrow-up
        16
        ·
        2 days ago

        Depending on your use case, it can be fantastic.

        There’s good reasons why it is the world’s most popular programming language (by a wide margin).

        You are not, generally, going to be using it to write kernels or device drivers, though.

      • Iced Raktajino@startrek.website
        link
        fedilink
        arrow-up
        7
        ·
        2 days ago

        For me, it’s the rigid and wonky virtual environments. I get why they’re useful and necessary, but they’re awkward to use. Like, Node just works from the working directory with no fuss and python has to be all source {venv}/bin/activate and lord help you if you need to move it.

        Plus, I have never liked that the spacing is load-bearing.

        • Eager Eagle@lemmy.world
          link
          fedilink
          English
          arrow-up
          5
          ·
          2 days ago

          uv mostly gets rid of the “venv activation” thing (mostly bc you can still use it if you really want, but you don’t need to), you can do uv run main.py and it’ll just work, no need to even install packages explicitly, it’ll also do that for you and make sure your uv.lock is in sync with your environment.

          it’s the most hassle-free experience I’ve had with python, by a long shot.

          • Iced Raktajino@startrek.website
            link
            fedilink
            arrow-up
            4
            ·
            2 days ago

            Sounds like at least a minor improvement. Can those me moved and still work? Like, if I move the project folder, do I have to reinitialize it and download all the packages again?

            • WhyJiffie@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              1
              ·
              21 hours ago

              you can always keep the venv dir in the project dir, even without uv. that’s what I do most of the times

            • Eager Eagle@lemmy.world
              link
              fedilink
              English
              arrow-up
              2
              ·
              2 days ago

              ah, it’s a massive improvement. Everything is in your project dir, so you can move it around. But uv is the fastest package manager, so reinstalling most things doesn’t take time; with the exception of dependencies that need to compile code in different langs.

      • Contramuffin@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        2 days ago

        Python is extremely high level and slow. Great for scripting and prototyping but you really shouldn’t build any infrastructure off of it.

        It also has dynamic variable typing, which depending on your use case (see above), can either be nice or a headache

    • Jayjader@jlai.lu
      link
      fedilink
      arrow-up
      4
      arrow-down
      12
      ·
      2 days ago

      Wow, it’s rare that I encounter a tech spat where I can so thoroughly empathize with both parties simultaneously. Thank you for sharing that link, I’d never heard of node-ldap nor it’s history.

      • Iced Raktajino@startrek.website
        link
        fedilink
        arrow-up
        18
        arrow-down
        1
        ·
        2 days ago

        You’re empathizing with the troll, too? 👀

        FYI: What the troll is describing is not required all. I don’t know what they’re on about, but I’ve used ldap-js in many projects without having to do any of that.

      • douglasg14b@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        18 hours ago

        Honestly, the people that shit on C# as a Microsoft product are just as bad as the Microsoft Fanboys. It’s an asinine position.

        Point at the objective reasons to use it such as first party frameworks, being incredibly stable and having some of the best devex and performance in the ecosystem. There are many reasons to use this, especially for large performance orientated, cross platform, long term stable applications.

        It’s a FOSS language anyways, the majority contributions aren’t even from Microsoft employees, seeing crazy high levels of community contributions… Its also supported by a legally separate entity from Microsoft themselves.

  • melfie@lemy.lol
    link
    fedilink
    arrow-up
    4
    ·
    2 days ago

    I had to deal with large JavaScript codebases targeting IE8 back in the day and probably would’ve slapped anyone back then who suggested using JavaScript for everything. I have to say, though, that faster runtimes like v8 and TypeScript have done wonders, and TypeScript nowadays is actually one of my favorite languages.

      • melfie@lemy.lol
        link
        fedilink
        arrow-up
        1
        ·
        23 hours ago

        The JavaScript code is compiled to native and is heavily optimized, as opposed to being interpreted.

        • Fair Fairy@thelemmy.club
          link
          fedilink
          arrow-up
          1
          ·
          21 hours ago

          Compiled to native what?
          Typescript is only used at development time it won’t do shit in the browser for you.
          Where did u see any performance improvements? TS doesn’t do that

          • melfie@lemy.lol
            link
            fedilink
            arrow-up
            1
            ·
            20 hours ago

            TS transpiles to JS, and then when that JS is executed in Deno, Node.js, a Blink browser like Chrome, etc., it gets just in time compiled to native machine code instead of getting interpreted. Hope that helps.

  • bleistift2@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 days ago

    When you add TypeScript on top and with EcmaScript finally caving in to classism, and with all the new shiny APIs (fetch, Temporal, Set and the like), I really don’t get the hate for JavaScript anymore.

    Especially TypeScript’s type system is so awesome that I’ve found my self cursing at Java for not doing types well enough.