Comments by "Vitaly L" (@vitalyl1327) on "Why Does Everyone HATE JavaScript? (Yet Still Use It?)" video.
-
15
-
6
-
6
-
4
-
4
-
3
-
3
-
3
-
3
-
3
-
2
-
2
-
2
-
2
-
2
-
@chakritlikitkhajorn8730 language is defined by its purpose. A language that fits a purpose, which have a nice, clean semantics that reflects the purpose, the problem domain as closely as possible is a well designed language. In this regard, Brainfuck is perfect, and not just that, it's beautiful.
While JS serves no purpose. It was not derived in any way from its supposed problem domain. It's inconsistent, its semantics is even hard to define (it shows that the language was just jotted in a couple of days, and no spec was written before the implementation started).
If a PL theorist tried to build a language for the niche occupied by JS, it'd be a very different language. Most likely, something similar to Scheme. If a PL theorist had to create an accessible language with a dense encoding for a 4kb RAM, 8080 CPU device, they're likely to reinvent Basic, given that Forth is deemed too alien to the target audience and teaching purposes.
2
-
2
-
2
-
@TheBoing2001 your answer got deleted, apparently, for having URLs.
"Javascript is fine." - no, it is not. It's a crappy language devoid of any tools for creating higher level abstractions without suffering too high performance costs. Namely, no proper macros, and no proper control over code generation.
"With 3 other click you can C&P and run entire chess game" - mind you, a chess engine was one of the first programs Konrad Zuze wrote for his primitive computer in 1945. Hardly an impressive achievement in the 21st century.
Clearly you're a fanboy and you don't know anything at all about PLT, so you cannot see how deeply flawed JS is.
And, no, ease of deployment is not a virtue of JS the language. It did not facilitate this cross-platform deployment in any way. It's simply the result of web standards monopoly. If Tcl/Tk was such a standard, you could deploy a Tcl/Tk application everywhere equally effortlessly. So your argument makes zero sense.
Now go and learn some computer science, you're clearly lacking the most basic education.
2
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
oh, really? Any developer must master dozens of languages. Any capable developer must continuously create new small languages, because Language-Oriented Programming is by far the most powerful abstraction tool. A developer with only one language under their belt, especially such a crippled and ill-designed language as JS, is not a real developer.
Want to be "full stack"? Master the entire stack underneath your level of abstraction. Starting with analog and digital electronics, HDLs, all the necessary elements of computer architecture, all the PLT-related mathematics, PLT itself, a deep understanding of compilation and interpretation methods available, a deep understanding of how operating systems work (and when and where to use them or ditch them altogether). Understand networking, from PHY levels to high level protocols, and know where you should be on this stack of abstractions depending on your goals. There's a lot of critically important knowledge there. Javascript, browsers and all that meh are not among even the tangentially impactful pieces of knowledge.
1
-
1
-
1
-
1
-
1
-
@ApprendreSansNecessite for me, it sounds like a weird design, when similar data processing happens in different parts of the system. For data model - yes, it can be the same while flowing through the system, but it does not mandate the same language that handles the data in any way. Validation is normally just a part of the data model.
And things like data model, validation, etc., should be defined in a higher level (ideally, declarative) language anyway, and then translated into whatever language whatever part of the system is using. You're likely familiar with rudimentary forms of this approach employed in IDL and similar protocol / data model description languages. There's often dozens of languages involved, with a single data model in between them.
I admit I stay away from anything related to web, so may be unaware of some of the rationalisation behind common design choices in that world. From far away, the whole web stack looks like it's massively overengineered and badly designed on all levels though.
1
-
1
-
1
-
1
-
Many languages, some are good, some are mediocre, but none as awful as JS. I use C, C++, various flavours of Lisp (including Scheme), Tcl, Verilog, ocaml, and a few more, including even Fortran. Nothing is as ill designed as JS.
1
-
1
-
1
-
1
-
1
-
@awmy3109 right, what a great argument! Since only JS is available in a web browser, JS is somehow now a great and performant language.
Simply for a virtue of monopoly. Nice.
But this is not what OP was talking about. This is how people with experience from outside of web see the web ghetto. Any time we take a closer look we recoil in disgust. This whole web thing is a pile upon piles of utter crap, and it should have never been like this.
Also, people like you are very often guilty of not even trying to think if they really need to build a "web app". Turns out, very often they should not, but they still do, because this is all they know. A lot of time a native application is a far better solution. Even more often, no UI at all is even better, yet, the people with such a severe professional deformation fail to see it.
Now, you claimed JS is somehow performant (we know it's not, not even close). You claimed you don't pay for abstractions in such a language. Wrong again, you pay dearly. Admit you're wrong and stop moving the goal posts.
1
-
1
-
1
-
1
-
1
-
1