Live data from Hacker News

JavaScript is Eating the World

dev.to

151–160 of 323 posts

Re: JavaScript is Eating the World

#151
post #122

Earlier quoted context omitted.

> Let's be honest: it is nothing to do with either of those and purely a matter of fashion. Let's be honest: if you need "fashion" or "idiocy" etc to explain a trend in tech, you don't have an explanation. Your explanation wouldn't even explain why it was Node+JS that got to be "in fashion" and not something else from the 20000 options.

Your explanation wouldn't even explain why it was Node+JS that got to be "in fashion" and not something else from the 20000 options That's the point. There is no explanation, other than the same reason that bellbottoms are in again this year. Or out, I don't actually know. We pretend like we're "engineers" or "scientists" but there's nothing objective about what we do...

Your personal lack of imagination and insight doesn’t mean there isn’t a reason (there are several, some extremely obvious).

Re: JavaScript is Eating the World

#152

Earlier quoted context omitted.

My day gig is nodejs. I was interested in the problem space, didn't think too much about the stack. How bad could it be, right? Oops. The worst aspect of nodejs is code construction (craftsmanship). Whereas Bill Joy said of Java "Allows you to think both In The Big and In the Small, at the same time." With nodejs, not only is there no Right Way, there's not even a Good Way. You have to mind all the details, plus quit…

My take on this (I have had the same experience, fwiw) is that it is like the well-known story of bridges falling down due to experienced engineers retiring (Tay Bridge Disaster, Tacoma Narrows Bridge for example). A new generation of folks who actually believe that "Single Threaded is a benefit" arrive on the scene and make a bridge that falls down..

I used to love to idea of a global interpretator and/or a single thread (coding without concurrency). It was great until it wasn't. Learning Elixir helped me get over that.

Re: JavaScript is Eating the World

#153
post #147

Earlier quoted context omitted.

> That's the point. There is no explanation, other than the same reason that bellbottoms are in again this year. Or out, I don't actually know. You mean you can't come up with one. Because for me, which followed the scene for 20+ years, there is a perfect explanation.

which followed the scene for 20+ years I had a homepage in 1994. I've seen them all come and go. This one's no different.

Mhmmm 1994 here also. Your take is shallow, pointless, and meaningless.

It’s as relevant as saying we don’t write apps in COBOL or Modula2 anymore.

Re: JavaScript is Eating the World

#154

Earlier quoted context omitted.

> If I'm better at one language than another, it is at least somewhat harder. Why struggle when you can flow? If you're better with screwdrivers, why struggle with a hammer? JavaScript has a painfully slow runtime. Writing servers requires attention to performance and reliability, which javascript is very poor at. If you want to make a toy service and don't care about any of this, go ahead and use your favourite lang…

> If you're better with screwdrivers, why struggle with a hammer? Hammers and screwdrivers are not general purpose tools in the way that languages are. For most things, most languages are just as fine. It's not like JS is specialized in some very small niche by design -- like e.g. COBOL is. > JavaScript has a painfully slow runtime. I call BS. v8 is one of the fastest dynamic runtimes, at 2x of C or so for lots of ta…

Lua

Re: JavaScript is Eating the World

#155

Earlier quoted context omitted.

With ES6, JS became a really nice scripting language. Personally, I'm glad to see more and more projects that use javascript outside of web browsers and I've also added V8 to my most recent C++ project. The only major drawback in my opinion is, that it's not statically typed.

The deeper problem is that JS is not strongly typed. Typescript gives you static type checks but the runtime is still weakly typed and will still do all sorts of weird type conversions.

Strong typing is a start but not enough for my taste. Static typing serves as documentation and compile time bug check, which is awesome to have. I'd like to have both, without the detour over typescript.

Re: JavaScript is Eating the World

#156

Earlier quoted context omitted.

I just tell myself it's because the sales pitch is so appealing: learn, and use, one programming language on the front end and back end of your web site. I've never written anything on node.js, but that's the only argument that's ever given me pause.

It honestly doesn't give me pause, since the impedance mismatch between JavaScript and backend programming is so great. To me, the fact that Node has to add a library with custom semantics just to allow a basic 'open' on a file handle is a huge warning flag to me.

Favorite node / libc impedance mismatch is the stat() call. stat() returns an inode, which is a 64 bit integer. But JS doesn't have 64 bit integers, so it just gets rounded to the closest representable double. So node will sometimes identify two different files as the same file.

https://github.com/nodejs/node/issues/12115

Re: JavaScript is Eating the World

#157
post #122

Earlier quoted context omitted.

Your explanation wouldn't even explain why it was Node+JS that got to be "in fashion" and not something else from the 20000 options That's the point. There is no explanation, other than the same reason that bellbottoms are in again this year. Or out, I don't actually know. We pretend like we're "engineers" or "scientists" but there's nothing objective about what we do...

> That's the point. There is no explanation, other than the same reason that bellbottoms are in again this year. Or out, I don't actually know. You mean you can't come up with one. Because for me, which followed the scene for 20+ years, there is a perfect explanation.

I have no horse in this race; Care to share the perfect explanation?

Re: JavaScript is Eating the World

#158

Earlier quoted context omitted.

I had a client that asked me to rewrite our software in JS. He didnt know anything about programming but said he preferred JS.

I haven't ever written professional software, but I just took a software engineering course and what I learned is that what technology stack to use is none of the clients business.

I know.

I just wanted to share this because I find it amusing til the moment that client went with another company that had "patent pending tech" and AI, it was sad because I knew the other company was just a couple of guys loading data.

I guess the lesson is that sometimes it's hard for people with a technical background to sell because we usually don't "hype" our tech.

Re: JavaScript is Eating the World

#159
I think ES6 javascript is actually a decent language. But the way it's used is terrible. Slow transpilers that give all the disadvantages of a compiled language - but with the type safety of a dynamic language. Asynchronous code that is slightly better with promises and async/await, but horrifying to debug with stacktraces that are often completely useless. NPM with its plethora of low-quality packages - yet it's not uncommon for packages to have hundreds of dependencies. And when you try digging into those packages to understand what they do, because there's no documentation, you find a mess of javascript magic. Globals, nested closures, "coroutines" using yield and function references and a dozen magical libraries that are nearly impossible to untangle. I found the development experience to be slow and extraordinarily painful. I actually find PHP easier to work with (but more soul crushing to write.)

I would much rather use Go or C# or C++ or Java (well Kotlin, because I don't like to write Java) the development experience is just so, so much smoother.

Re: JavaScript is Eating the World

#160

Node scales well in terms of performance. However does it scale well in terms of code complexity and readability?

Because it's not opinionated, it all depends. IMO the code base where I work is very complex but it's very easy to onboard new engineers with it. This is due in part to enforcing documentation and code style guidelines.
Post reply on HN