4 ms·
I am a product of a coding bootcamp from awhile back, so JavaScript is really the only thing I’ve ever known in my career (outside of writing some apps in Visua
by davely 3y ago
I am a product of a coding bootcamp from awhile back, so JavaScript is really the only thing I’ve ever known in my career (outside of writing some apps in Visual Basic around 2001).
Maybe it’s because it’s the only thing I’ve ever known, but… I like it?
I guess if I hack around on a side project and want to use vanilla JS, it’s the Wild West and there’s no rhyme or reason for anything (and everything looks gross).
But working inside various frameworks have been pretty enjoyable for me.
Side note: there’s also this hilarious video about the… delightful nature of JavaScript from 2012:
https://www.destroyallsoftware.com/talks/wat https://www.destroyallsoftware.com/talks/wat
- qbasic_forever 3y agoJS itself is perfectly fine and quite a nice language when you stick to all its modern idioms that you learned and use today. I think what rankles a lot of people is going through the history of JS when it was terrible and confusing, then basically just jQuery, then the explosion and confusion of server side/node and drama with the company behind it, and finally confusion and drama with moving to modern ES modules. For the longest time doing the most simple thing in any programming language, putting code in a separate file and loading it to execute, was nearly impossible in JS and required learning and picking sides in an opinionated loader battle. It was confusing and pretty bad for newcomers. Nowadays all that drama is settled and the core of modern JS is quite nice. I like it more than python to be honest.
- treis 3y agoThe problem with JS these days is not that what's there is bad. It's that there's not much there. Anything beyond the basics requires you to roll your own or go hunt for a library.
- qbasic_forever 3y agoVery true, it's why I really like deno for server side since it's trying to plug that gap with a nice out of the box standard library. Client side it does feel like something like lodash is the new jQuery and just mandatory to use everywhere.
- mst 3y agoAnd then of course you have to pick between lodash and ramda (I'd say "whichever your dependencies use" but every time I've tried to use that as a deciding factor the answer has turned out to be "both"). It's all a bit of a cambrian explosion but it at least means you run into "this awful API has been baked into core and now we're stuck with it" less often.
- schemescape 3y agoAnecdote: when using Metalsmith and a sampling of plugins to build my fairly minimal static site, I ended up with 18 direct dependencies and 200 transitive dependencies, including 6 different file name matching libraries. I now prefer comprehensive standard libraries.
- jakelazaroff 3y agoAs in, there's not much in the standard library? What other options are there beyond "roll your own" or "use a library"?
- andirk 3y agoDon't use?
- ElectricalUnion 3y ago> and finally confusion and drama with moving to modern ES modules. (...) Nowadays all that drama is settled and the core of modern JS is quite nice. I like it more than python to be honest. Using a mixture of old, deprecated versions of Webpack, Angular, Babel, and Typescript, and a very big pile of code with plain bad (if not plain wrong) type annotations I wish that statement applied to me. Constantly attempting to keep all this nodejs stuff without vulnerabilities while migrating the least ammount of stuff at once is a daily challenge. And that comparison is pretty low bar, everything involving say pytorch is a flaming pile of bad waiting to explode.
- chrisco255 3y agoI always think back to this talk when I come across a WebAssembly Text file, annotated by .wat. Highly relevant to the author's prediction about the future from 2014 as well: https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript https://www.destroyallsoftware.com/talks/the-birth-and-death... https://developer.mozilla.org/en-US/docs/WebAssembly/Understanding_the_text_format https://developer.mozilla.org/en-US/docs/WebAssembly/Underst...