Remix.run Logo
pizlonator 2 hours ago

Yeah I don’t get that either

It’s a super successful language

Waterluvian 2 hours ago | parent | next [-]

I think with ES6 and newer things really cleaned up and now we’re left with avoidable ugly parts, of which every language has.

Before when you didn’t even have strict equality checking, for example, you were forced to know about implicit type casting.

Getting on the same page with modules also helped a lot. Typescript directly in Node is great. Look mom, no build system!! I’m just hoping one day browsers will accept TS the same way.

thedelanyo an hour ago | parent | next [-]

> I’m just hoping one day browsers will accept TS the same way.

Wouldn't that be a direct kill of JS?

afavour a minute ago | parent [-]

TS is JS just with stuff on top so it can’t really ever kill JS. The way Node does it is to just ignore the type notations in a TS file, making it valid JS. Does mean you can’t use things like enums but worth the price.

ricardobeat 2 hours ago | parent | prev | next [-]

When did JS not have strict equality?

jazzypants an hour ago | parent [-]

1995-1999. Strict equality was introduced in ES3 which was first released in December 1999.

https://www-archive.mozilla.org/js/language/e262-3.pdf

cyberax 2 hours ago | parent | prev [-]

You still need a compiler for TSX, though. There's also a tiny bit of non-erasable Typescript (enums).

Waterluvian 2 hours ago | parent [-]

There’s a mode to pretend those features don’t exist and not allow them. Meaning it gets far simpler to just type elide rather than any actual compilation effort. I think this idea is getting more popular and it would be kinda nice if TS committed to not adding any more features like that.

MrJohz an hour ago | parent [-]

TS has committed to not adding any more features like that. Features only get added when they reach a certain threshold on the TC39 standardisation track.

hyperhello 2 hours ago | parent | prev [-]

It's successful because it's been kept away from the kind of programmers who think the time spent to endlessly specify everything four times is nothing compared to the sadness of losing a byte or a cycle. These are the descendants of people who hundreds of years ago would have insisted that real work is in Latin. C++26 is available for them, or Node/React with hundreds of dependencies if they want JavaScript, or they can even compile and run whole operating systems into WASM now, or anything else. Just let JavaScript be the domain of people who do other things for fun.