Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> And, contra what Mr. Harris says, today the trend is not obviously in javascripts favor. Five years ago, we, as founding members of the javascript resistance, were despairing of any hope of stopping the Javascript juggernaut. But then something unexpected happened: Python took off and, at the same time, javascript flat lined:

Why yes... if you use Stack Overflow usage as your measurement.

The problem is that doesn't tell you anything about JavaScript or Python... except whom is using Stack Overflow.

As a JavaScript developer (primarily), I use Stack Overflow far less than I did in years past, not just because I need less help in general as a senior, but because SO is so littered with JS answers that are outdated, poor quality, and conflate JavaScript with jQuery, that it's simply not worth using 99% of the time because MDN provides excellent documentation.

It's been a while since I've used Python, so maybe things have changed, but I remember the documentation not being comparable. It's good documentation, but MDN is excellent.

I'm not saying that either one is better, but that to use Stack Overflow trends to prove a point seems very fallacious. By that point I couldn't finish the rest of the article.



The good news is that there wasn't much left in the article save a silly meme. Although perhaps this is worth pondering:

> We are fond of talking about the HOWL stack: Hypermedia On Whatever you'd Like. The idea is that, by returning to a (more powerful) Hypermedia Architecture, you can use whatever backend language you'd like: python, lisp, haskell, go, java, c#, whatever. Even javascript, if you like. There's no accounting for taste, after all. Since you are using hypermedia & HTML for your server interactions, you don't feel that pressure to adopt javascript on the backend that a huge javascript front end produces. You can still use javascript, of course, (perhaps in the form of alpine) but you use it in the manner it was originally intended: as a light, front end scripting language for enhancing your application. Or, if you are brave, perhaps you can try hyperscript for these needs.

> This is a world we would prefer live in: many programming language options, each with their own strengths, technical cultures and thriving communities, all able to participate in the web development world through the magic of more powerful hypermedia, rather than a monolith of SPAs-talking-to-Node-in-JSON. Diversity, after all, is our strength.


Diversity is also costly.

With JS or TS, it's really easy to have all the same IDEs, CI, testing frameworks — and of course libraries, programming idioms, and the general way of thinking both on backend and frontend.

This makes hiring easier, and hiring engineers is one of the tougher problems in tech companies.

There is a reason why folks writing Haskell on the backend try to compile it to JS for frontend, or go for PureScript. The same reason lies beneath other attempts to write non-JS and compile it to JS for client-side execution. Switching between languages for major components, and between different approaches these languages offer, has a real cost.

With JS being the only game in town for client side, the playing field is heavily tilted towards JS for everything.

(Yes, I know about WASM and about Dart. It's still not it, because they can't directly operate on DOM. It's like using a game engine to write a native Windows or MacOS app: most OS-wide affordances don't work.)


This probably feels like a big advantage if you’re in the JS world where setting up IDEs and bundlers and CI is a big involved endeavor, but Go+static HTML is close to effortless. No need for CI pipelines to build and publish source code or docs packages, and the test framework and build tooling require minimal effort to set up in a CI capacity. Similarly, Dockerfiles are trivial and minimalist, and everything builds, tests, and deploys lightning fast. It’s not as glitzy as some really high end web apps, but the quality is usually higher on the medium and low ends and it’s almost always faster.


If you can afford static (100% server-rendered) HTML, the world is your oyster! Party like it's 1998, but with incomparably better tools.

But a large enough proportion of modern web sites need enough interactivity to make even jQuery or even HTMX slightly inadequate.


Agreed, but I contend that this is a small share of the sites that use a frontend JS framework (which is to say that these frameworks are often used unnecessarily) and even those which genuinely need some serious JS could likely scale it back considerably to significant benefit. I say this as someone who usually argues in favor of the new and shiny.


I would argue this proportion is a lot smaller than the number of websites that think they do.


This is perhaps the oddest point the article makes.

They argue that JavaScript is still available for its “originally intended” purpose of light scripting, but that using less JS on the front end somehow frees you to use whatever you want on the back end.

But there is nothing inherent to SPAs that would force anyone to use JS on the back end.

And if “diversity is our strength” then I see no reason that wouldn’t be equally true when building JS-heavy SPAs.


You're maintaining two development environments without also using JS on the backend, and require developers that are skilled with both environments and languages. This isn't really an issue with htmx, or with using JS at both ends.


My SO experience lately has been the accepted answer is 12 years old and the correct, modern solution is down at the bottom with 1 point and I can't upvote it because they want me to jump through some hoops to get "reputation" before I can vote


> The problem is that doesn't tell you anything about JavaScript or Python... except whom is using Stack Overflow.

I'd also add that the author also failed to notice that all time series in that graph, with the exception of Python, either flatlined or are dropping. Thus that says more about SO and bad data analysis than real world trends in frontend development.


My gripe with Stack Overflow is that TypeScript and JavaScript is now what is conflated by question askers.


That seems like it would only be a problem if you're looking for Typescript answers, right? Like, ignore the typings in Typescript and in most cases you have vanilla JS (or ES6, anyway)...


Even if we assume that Stack Overflow is a good proxy for overall language usage, OP does not account for the fact that Python is used more broadly than JavaScript in non-web use cases — e.g. the use of Python for machine learning.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: