6 ms·
Because many want JS to die in a giant hellfire and then shat on the ashes. So alternatives are being made that don't rely on it.
by Daegalus 5y ago
Because many want JS to die in a giant hellfire and then shat on the ashes. So alternatives are being made that don't rely on it.
- adsharma 5y agoIs dart your preferred alternative?
- amitport 5y agoThe parent is talking about transpiling python to JS. I don't see why people who hate JS would like python. The language itself is not any better IMO (excluding ecosystem here). edit: following some comments I want to add that the situation is symmetric IMO. I don't see the point in transpiling any of the two to the other.
- egeozcan 5y agoIt's just what you are used to. I dislike Python, I hate PHP, but I really like JS. I've seen people like PHP and hate Python too. You see more JS hate because it's a more common scenario that people happy with PHP/Python/Whatever would be exposed to JS later, than the other way around. You see a bit more Python hate lately because ML is all the rage and Python is to ML what JS is to the web. All mentioned languages having some weird backwards compatibility quirks doesn't help either. I find it good that people are trying to port their favorite languages, although personally I'd stay on the happy path for the target platform. Especially the browser, as it already has weird APIs, JS or not.
- amitport 5y agoI agree, I was fluent in JS and other languages before learning python and hated it for a while. Eventually, you get used to the bad parts of any language so they become mostly transparent (and every language has bad parts). Specifically, now that I'm very much OK with both python and JS I find transpiling one to the other kind of pointless in terms of any language property (can make sense in terms of ecosystem).
- adsharma 5y agoAggressive type coercions in js frequently comes up 16 == [16] true in js false in python
- egeozcan 5y ago>>> a = 5 >>> b = 5 >>> a is b True >>> a = -4 >>> b = -4 >>> a is b True >>> a = 300 >>> b = 300 >>> a is b False Every language has these, JS a bit more (because mostly impossible to fix thanks to backward compatibility). I don't understand why you would do that anyway. Most linters would display errors even if you did (in both languages).
- adsharma 5y agoGreat. Thank you. I'll remove the "is" operator from the supported subset and perhaps rewrite the commonly used "a is None" to idiomatic code in the target language.
- h8hawk 5y agoYou should always use 'is' with None. == Is operator that can be overloaded and 'is' is object identity comparison. It make sense when you understand object system. You will be terribly messed up when use some numpy array == None.
- el_oni 5y agoa==b would be true. The is operator is not the same as the equality operator The is operator checks to see if both point to the same area in memory. Small numbers are preallocated in python so they point to the same memory. >>>a=300 >>>b=a >>>a is b True
- amitport 5y agoOf course there is some internal logic. The point was that both languages have pitfalls.
- globular-toast 5y agoPython is loads better than JS. I have experience with both.
- deleted 5y ago[deleted]