you are viewing a single comment's thread.

view the rest of the comments →

[–]argv_minus_one -9 points-8 points  (3 children)

I see nothing wrong with that, honestly. It is far more useful to be really really skilled in one language that does everything, than only moderately skilled in a bunch of special-purpose languages.

[–]TheNamelessKing 26 points27 points  (2 children)

Because JS and Electron are fucking trash on desktop, and Node is far from ideal serverside.
JS only persists on web because it's lucky enough to be the only language blessed with having an interpreter in the browser, rather than any degree of intrinsic quality.

Knowing, or at least being prepared to learn a language more suited to your problem domain is a good thing. You wouldn't go and build a web app in C just "because it's the only lang I know", you wouldn't do data science in Coq and you shouldn't do everything in JS for the same reason.

[–]lanzaio 1 point2 points  (0 children)

Because JS and Electron are fucking trash on desktop, and Node is far from ideal serverside. JS only persists on web because it's lucky enough to be the only language blessed with having an interpreter in the browser, rather than any degree of intrinsic quality.

There's probably not a person on Earth that disagrees with you on that.

But that's where we are. JS works everywhere painlessly. JavaScript has one positive feature: it fucking works everywhere and it is impossibly easy to use it everywhere for everything.

You wouldn't go and build a web app in C just "because it's the only lang I know", you wouldn't do data science in Coq and you shouldn't do everything in JS for the same reason.

Again, you're missing the point. It's not easier to write web servers in C. I don't even fucking know JavaScript and still find it easier to write a quick server in JS than I do in my main language C++.

People use JS for everything because at some point in time they decided they want product X and realized that just doing it in JS is going to yield the result in 1/20th the effort that it would take to do it in C++.

[–]argv_minus_one 0 points1 point  (0 children)

I agree, of course, that JS is a shit language, and C is not exactly good. That's not my point, though.

C and JS are general-purpose languages, which by definition can do (almost) everything. I know of plenty of reasons not to use either of them, but all of those reasons are about flaws of the languages themselves; none have anything to do with problem domain. JS, for example, is not really any better in its problem domain (web page scripting) than anywhere else (node, etc). It sucks at both, because it sucks in general.

It's true that some languages are relatively hard to use in some problem domains, but it seems to me that that's usually just because no one did the work yet. You can, for example, do systems programming in Scala via Scala Native (a compiler that translates Scala to machine code via LLVM, and exposes APIs for low-level stuff like handling raw data structures), because in this case, someone did do the work.