DEV Community

[Comment from a deleted post]
 
nssimeonov profile image
Templar++ • Edited

Funny, that instead of quotes it should be a tag: sarcasm.

Yes it's just plain wrong - a language that has only floating point numbers and no integers (heck, you have no idea what type a variable is until you check it) and you call it "low level"

The most controversial parts - types and equality you call that strengths. Especially the comparison produces so many "funny" results, that people are laughing at JS for ages about that. Objects and inheritance in JS can be called weird at least. Seriously - are you suffering from Stockholm syndrome?

NPM - this is by far the worst package manager available with so many issues it's not even funny and you say "I have never seen a better package manager than NPM". Unless NPM is the only package manager you have seen... because it's literally the worst one around (universe is inventing bigger idiots all the time, so pointing to one that is worse will not surprise me at all).

 
mogery profile image
Gergő Móricz • Edited
  1. It can in fact be low level, because you can use it along with C/C++ code with node-gyp.
  2. This is a "why I use" article. Not a "comprehensive review" article. This article lists the pros of JS, and not the cons.
  3. See the thing I've added to the article:

I have never seen a better package manager than NPM. (Not saying that there isn’t but I’ve not seen it/my experience was bad with it.)

If you have any recommendations of a great package manager to check out, tell me!

 
nssimeonov profile image
Templar++

Literally ANY package manager for any other language is better than NPM. The level of entropy in JS Is just ridiculous. The amount of disks space, used by NPM is insane. The packages have crazy dependencies and the chaos there is beyond comprehension: you have packages for is-even and is-odd - one depending on the other, which on it's turn depends on is-number: npmjs.com/package/is-even

Lets talk a bit about types - dates in JS are a total joke and the only package solving this issue correctly "moment.js" is just too big to be used in front-end projects (react, vue, angular) so you have to stick to date-utils. Such a joke - this should be part of the language itself.

You have no integers, oh yes, there are some tricks but most are such insane hacks, that it's fun to see such code.

Having no static typing also makes it hard to catch spelling errors in code, when you accidentally spell a property slightly different.

Low level - please stop this. Via interop you can call C/C++ code in nearly all languages. This does not make your language low-level at all.


Now let me explain why I reacted like this - it may be a bit too harsh as reaction and I'm sorry to hurt your feelings, but you have to be objective. You may like any language and use it anyway you like. As long as it gets the job done - it's good. However you cannot put the biggest cons as pros without saying "yes this is sarcasm"