34
kiki
2y

the year is 2050
- Linux is written in Rust and called Windows
- Python 2 market share increased by 2% since 2023
- The latest JS framework to finally solve everything just came out, and this time it’s the real deal. The exact same thing also happened in 2045, 2041, 2037, 2035, 2030 and 2026
- More than 60% of every CPU is hardware JS cores
- React became a separate language
- Sentient Copilot refused to write code in it
- Unit tests are illegal in three states
- Google had changed their motto from “Do The Right Thing” to “Do At Least Something”
- Chrome OS was rewritten in JS
- CSS is Turing-complete

Comments
  • 4
    Has nasa been hacked with html?
  • 8
    I’m hoping for the good timeline in 2050:

    - all major browsers finally agreed to stop supporting JS. Facing a similar fate as Flash, JS will slowly fade away. Better late than never.

    But who am I kidding, of course we will get your dark future, I can feel it.
  • 1
    @Lensflare I have a CS degree. The only language better than JS/TS is Lisp.
  • 1
    @Lensflare also, JS appeals to me a lot because it's the language of the people. Its inclusivity is immense. Anyone can code in JS. There are easier languages, of course, but you won't write production code in Scratch.

    Yes, JS has a _lot_ of bad libraries. But the body of work done for JS is immeasurable, and there are absolute gems of libraries out there.

    There are a lot of… not stellar programmers using JS. But we need that immense diversity. Only then the language becomes alive.
  • 1
    @Lensflare I also consider myself very anti-elitist. I once saw so-called “suckless” software, a set of highly performant tools and utilities written mostly in C and loosely governed by the original Git ideology expressed in that famous rant about C++ by Torvalds.

    I don't find it fascinating. The entry barrier is very high, and the low amount of critique can be explained not by those tools being good, but by people being too scared to criticize the Perfect Software™. I don't like 4chan-like toxic attitude shared by its creators. Maybe this is why no one really uses their perfect software.
  • 7
    USB D was released. Every cable needs to have a processor on it that runs a real OS, like Linux, in it. There are about 120 different features that a port or a cable may or may not support, with different speeds.
  • 6
    @kiki
    Does a CS degree make your opinions more relevant? If so, I have a CS degree, too.

    It’s easy to make JS look good by comparing it to C/C++.

    Since you like Lisp, have you tried Rust? They have many things in common.

    Have you tried actually modern languages like Swift or Kotlin or, again, Rust?

    They offer everything that makes JS great but have none of the bullshit from JS.
  • 7
    @happygimp0 you mean USB D Rev 5x HyperSpeed 224x20e
  • 1
    @kiki would you say that you think the same of PHP given how widely adopted it is?
  • 1
    @Lensflare I didn't mean to use the degree thing as a personal attack. I mentioned it as a short version of saying “in the uni we went through all levels of abstraction, from physics to our own CPU to ASM to C to Python to the web”. Yes, I tried both Kotlin and Swift. Granted, I was never proficient in them, yet I didn't like them.

    If I have to choose the next best language after Lisp and JS, it would be Ruby. Somehow its unorthodox nature appeals to me on a personal, emotional level.
  • 4
    @ars1 I dislike PHP and everything about it ferociously, yet its market share is undeniable. In terms of diversity, obviously yes. Its community is very diverse, and PHP is culturally significant.

    As a language, not so much. JS is leagues ahead.
  • 0
    @Lensflare why do you dislike JS so much? Is it the quirks, the “npm install is-even” culture, or the salaries, or all of the above? I'm genuinely interested
  • 1
    You can say whatever you want, but spherozord IS the final js framework. We have css-in-js-in-html-in-css-in-js, theta functions, pentadimensional css polyfills, it’s incredibly fast and lightweight* and it’s component support is gold.

    You are just an hater, girl.

    * (which ofc means probably something is missing coff coff)
  • 2
    @piratefox oh yes, that isomorphic side-effect-free polyfill hydration edge-server graphql component prerendering totally convinced me, hands down. The size of 3gb for base bundle is very lightweight too, and also serves as a deterrent against people who don't have the latest M2 Max macbooks and fiber internet. We don't need poor people using our product anyway.
  • 3
    @kiki Why I hate JS:

    First, I don‘t actually hate JS. I just hate that it‘s used outside of its domain way too much.
    It‘s a script language which is used as a programming language for all kinds of small and large projects.

    Because it‘s treated as such a programming language, though, it deserves to be judged by programming language standards:

    It‘s way too dynamic. It has practically no type checking and all the standard stuff that makes its building blocks behaves in very inconsistent and surprising ways.

    It‘s lacking so many features from the languages that I mentioned, I could probably write a huge "missing essentials" list and another huge "missing nice to haves" list.
  • 2
    @kiki

    Last but not least, all the good things that JS lovers always bring up is not exclusive to JS at all. Like the rapid prototyping, slim syntax, first class functions, etc.
    It‘s all there in modern languages. But people seem to just don‘t know. Probably because they are always comparing to C++ or C# and Java.
    This misconception alone drives me insane.

    In short: There are languages that combine all the good from C++ and JS and omit all the bad. There is no need for compromises. JS is a compromise.
  • 1
    @Lensflare correct me if I'm wrong, but I see the bias against dynamic languages in general. I admire dynamic things, and I see beautiful things in JS that only remind me about Scheme. It's not viable to code frontend in Scheme though.
  • 3
    @kiki It‘s not the only reason, but the main one, yes.

    I guess it‘s kind of irrational to hate a tool like a hammer, but if the whole world uses a hammer to cut paper, cook meals, wash their cloths, and so on, then tell me how great it is that they can use a hammer to cut their finger nails and how they love it and how other tools like scissors are just too complicated…
    Then I start to hate the hammer, even though it‘s irrational.
  • 0
    @kiki

    > It's not viable to code frontend in Scheme though.

    Yes. It IS viable in Rust/Swift/Kotlin though. I bet you lose nothing that you would have in Scheme.
  • 1
    @Lensflare sorry, WASM doesn't work for me. As of now, it is impossible to make a canvas-rendered UI accessible on the web without reinventing the browser inside the browser.
  • 1
    @kiki valid point. I am confident that it will get there sooner or later, though.
    After all, the limitation is based on the tight dependency of browsers and JS, not on some magical property that only JS has.
  • 0
    @Lensflare I agree. Yet, as of now, what I said is true
  • 0
    @bigmonsterlover yes, Swift and Kotlin don‘t have that and probably will never have. But I have the same feeling about Rust as you.

    Also, I tend to say that frontend development doesn’t need that kind of meta programming but I might change my mind once I get more familiar with that.
  • 1
    @Lensflare depends on the frontend. If you're fetching everything from the server and display it straight away, or, better even, if you do the whole templating server-side, you barely need JS at all. In this case, it's best to remember what “Script” in “JavaScript” stands for, and write small JS snippets that make your webpage alive.

    If you're doing a PWA that is basically a standalone app (works offline via service workers, stores data client-side in indexed db) and rarely talks to a REST API only to fetch raw data when it needs it, you need those meta things to manage complexity. Frameworks aren't necessary, yet language features really come in handy. Though I still get away with composing closures upon closures like I did in Clojure :)
  • 2
    @kiki don’t forget the hybrid side loading: why render it client side when you can render it both client side AND server side, to be sure it gets rendered correctly. Sure it may both cost a bit to your company and make the render a bit slower, but pixel perfect precision is worth it.

    Totally on point on the 3gb. We want people to browser OUR website, not to watch something on their second screen ffs.

    (Jeez, not being able to joke about this with you irl sucks: I’m getting chuckles which could be laughs!)
  • 3
    @piratefox this
    This is why I dislike modern frontend
    All that overengineering just to achieve pixel perfect, a.k.a. the biggest misconception about frontend
  • 1
    @ars1 main driver is wordpress and other CMS systems.
  • 1
Add Comment