29

First rant: but I'm so triggered and everyone needs a break from all the EU and PC rants.

It's time to defend JavaScript. That's right, the best frikin language in the universe.

Features:
incredible async code (await/async)
universal support on almost everything connected to the internet
runs on almost all platforms including natively
dynamically interpreted but also internally compiled (like Perl)
gave birth to JSON (you're welcome ppl who remember that the X in AJAX stood for XML)

All these people ranting about JS don't understand that JS isn't frikin magic. It does what it needs to do well.

If you're using it for compute-heavy machine learning, or to maintain a 100k LOC project without Typescript, then why'd you shoot yourself in the foot?

As a proud JS developer I gotta scroll through all these posts gushing over the other languages. Why does nobody rant about using Python for bitcoin mining or Erlang to create a media player?

Cuz if you use the wrong tool for the right job, it's of course gonna blow up in your face.

For example, there was a post claiming JS developers were "scared" of multithreading and only stick in their comfort zone. Like WTF when NodeJS came out everything was multithreaded. It took some brave developers to step out of the comfort zone to embrace the event loop.

For a web app, things like PHP and Node should only be doing light transforms between the database information and HTML anyways. You get one thread to handle the server because you're keeping other threads open to interface with databases and the filesystem. The Nexus.js dev ranting on all us JS devs and doesn't realize that nobody's actual web server is CPU bound because of writing HTML bodies, thats why we only use 1 thread. We use other worker threads to do the heavy lifting (yes there is a C++ bridge look it up)

Anyways TL;DR plz respect JS developers we're people too. ES7 is magic and please don't shit on ES3 or we'll start shitting on the Python 2-3 conversion (need to maintain an outdated binary just cuz people leave out ()'s in their print statements)

Or at least agree that VB.NET is an abomination and insult to the beauty that is TI-84 BASIC

Comments
  • 1
    Agree with everything except for thw last part
  • 4
    Preach it, brother. I'm a (mostly) JS developer, and what you can do is pretty amazing. The one's who complain about it are either not using the right tool for the job, don't have enough knowledge of the language or just want to jump onto the hate bandwagon. I agree the language used to be shit back in the day, but it's made a complete turn-around and has come back better than ever. I absolutely love JS because of how productive it makes me and how easily it allows me to go from idea to prototype.
  • 1
    Javascript is awesome. The original dynamic object system is cool.

    Leave VB.NET out of it though. VB.NET is glorious and has been able to do what Javascript has for years. I know it's not cool anymore so I'll leave it at that.
  • 3
    Thank you very much! It's awesome to read such a positive post about Javascript. Makes me really happy!
    You made my day, thanks.
  • 2
    Always bet on JavaScript.
    - Brendon Eich
  • 1
    Just because Node gives us async calls doesn't mean JavaScript is multi-threaded. JavaScript is single-threaded by design and always will be, and thus, is horridly handicapped to me; a dull tool.
  • 0
    @AlgoRythm that's the whole point, the js is single threaded so you can reserve the other threads to perform other tasks.
  • 0
    @saltyJeff I can't tell if that's satire or not but that sounds very very stupid if you are actually trying to make that argument
  • 0
    @saltyJeff I'm talking node btw.
  • 0
    @AlgoRythm just because it can't do multithread doesn't mean it's handicapped.

    Humans can't eat raw wood like termites would you consider them disabled?

    The point is that humans like node are perfectly evolved to the job they need to perform, not to be the best in all possible situations.
  • 1
    @saltyJeff Thats a pretty bad analogy. Server side technologies need multiple threads! I don't want to open a sub-process every time I need to crunch some numbers. I love node and use it every day but don't give it too much credit; it's one of the worst tools in the toolbox for anything but client-side scripting.

    Something you didn't mention here, which is weird, is the #1 advantage to JavaScript: being able to use it on server and client side. That just makes sense. Perhaps I should write a rant about it.
  • 1
    @AlgoRythm Node.js in background uses multiple threads to execute asynchronous code for long running IO operations. For web applications, this paradigm works very well as the compute operations are simple and most of the time we are orchestrating and composing calls from different sources having high latency time. For the main operation, we don't have to deal with complexity of managing multiple threads and concurrency issues as it is simply not warranted. This is the reason why node.js dominates for web apps.
  • 0
    @AlgoRythm yes JS is single threaded, it's upto the hosting environment to provide multi threading like node or browser. I find it useful for web apps.
Add Comment