Live data from Hacker News

Ask HN: Is all programming constantly changing or just front-end JavaScript?

news.ycombinator.com

31–40 of 139 posts

Re: Ask HN: Is all programming constantly changing or just front-end JavaScript?

#31
I have impression that other way round, changes in js are one of the slowest amongst programming languages.

We have lots of js in our project, and it's mostly the same js as when I first learned it in early 2000s. No ES6, because it's completely unsupported in Android Browser and IE. Why bother with transpiling for just shorter syntax for functions? We had Sprockets and I'm not sure if there's adequate transpiling of ES6 for it. So, browsers are stuck with ES5 forever, does that mean that JS is evolving fast? And ES6 itself is ancient, it was released when iOS still had skeuomorphic UI.

On the other hand, while playing with IoT project I had to use C++ recently, and it feels like entirely different language than 10 years ago. Even Ruby had syntax changes in last few years, and lots of small standard library changes.

Maybe fashion and "best practices" in js world change frequently, but not the language itself. Featurewise it's still on the level of Python 2.2.

Re: Ask HN: Is all programming constantly changing or just front-end JavaScript?

#32
post #13

As somebody that's in JS all day but rarely touches backend, hearing about go, rust, kubernetes, docker, etc make it feel like backend is similarly fast-changing. The difference seems to be in the narrative about the older tech. The "rails is still fine" crowd is loud, which is great. There is no equivalent for older JS tech. Though I would be willing to believe that's because things like jQuery are full of dated pat…

> hearing about go, rust, kubernetes, docker, etc make it feel like backend is similarly fast-changing.

That's just hacker-news discourse. As for go and rust, backend programming languages aren't changing very much for most people. Python and Java are the most numerically significant languages and the experience of being a backend engineer in those languages doesn't change rapidly. (Python has just spent about 10 years releasing v3 and, while it is a great thing, honestly the difference that will have the most impact on peoples' brain-time is that you can interpolate variables into a string from the local scope using an 'f' prefix, and that `print` now requires function call syntax.)

Backend infrastructure is exciting and subject to radical change, however.

Re: Ask HN: Is all programming constantly changing or just front-end JavaScript?

#33
It's all changing, but it seems that front-end JS is changing the fastest.

That's (IMO) due to a handful of reasons. But three standout in particular...

1) The state of Javascript's standard library is getting better but still pretty bad. So people continually reinvent new ones.

2) Every company with a frontend (see: Every Company) has to work with Javascript (esoteric compile-to-js aside) on the front-end, so the sheer number of people/companies using JS is larger than basically any other language or framework.

3) Javascript is increasingly the first (and sometimes only) language that new developers learn and tinker with. And we get the resulting ideas/platforms/frameworks/etc/etc that people invent as they're learning.

Re: Ask HN: Is all programming constantly changing or just front-end JavaScript?

#35
post #13

As somebody that's in JS all day but rarely touches backend, hearing about go, rust, kubernetes, docker, etc make it feel like backend is similarly fast-changing. The difference seems to be in the narrative about the older tech. The "rails is still fine" crowd is loud, which is great. There is no equivalent for older JS tech. Though I would be willing to believe that's because things like jQuery are full of dated pat…

Yes, things are changing rapidly everywhere on the stack, but it seems that with front-end dev the same two things are left behind with each generation: performance and accessibility.

Each time we get close to making performant and accessible web sites easy for mortals to develop, some major disruption in the force occurs and well-crafted solutions no longer work in the new environment. So people reinvent them, poorly, and it takes another four or five years before things catch up.

I think many designers and developers prioritize their own needs or preferences and fail to advocate for what users really want. No user wants a web site or app to take 10 seconds to load on their phone, yet most do. Users don't care if your app is written in React, Angular, or served from a WordPress site. They just want to be able to use it.

Re: Ask HN: Is all programming constantly changing or just front-end JavaScript?

#36
It's not really unique to JS. We've had framework churn for a long time in lots of language communities. Look at Java and all the different desktop UI frameworks and build frameworks it has. .NET has at least three, first-party UI frameworks that are still in active use, not to mention the dozens of 3rd party frameworks in the wild. Don't even get me started on Data Access frameworks.

What is unique about the modern era is that A) there are a lot more developers than ever, and B) it's easier to get a niche of other developers into supporting your vanity framework project.

So if there were always going to be X% of developers getting behind any particular project, A means that B hits a critical inflection point of N total developers that make it achieve self-sustainability. Once a project becomes self-sustainable, it looks important.

But going back to point A, all these new developers don't have the experience necessary to evaluate whether or not a project is worthwhile on its own merits, beyond "well, N number of people use it". For a long time, front-end work was denigrated as "lesser" because it was typically done as an afterthought, foisted on designers, not deemed "important" or "hard" enough for "real" programmers (please note my use of weasel quotes to indicate I don't personally believe it to be so, that's just how the development community has treated it over the years). So, being treated as something of a read-headed step child, the front-end community has lacked a certain level of adult supervision that could help guide its growth in a stable, manageable way. The "blind leading the blind", so to speak, out of complete necessity.

I guess it was a little easier in the late 90s and early 00s in that businesses were much more reluctant to use open source code. It was a lot harder to get buy-in on anything that "wasn't invented here". But that doesn't mean there wasn't a lot of "invention" going on.

Your job as a developer growing to become a "senior" is to learn how to ignore the churn of shiny new things and do what is right by your projects. This has always been the case.

Re: Ask HN: Is all programming constantly changing or just front-end JavaScript?

#38
post #13

As somebody that's in JS all day but rarely touches backend, hearing about go, rust, kubernetes, docker, etc make it feel like backend is similarly fast-changing. The difference seems to be in the narrative about the older tech. The "rails is still fine" crowd is loud, which is great. There is no equivalent for older JS tech. Though I would be willing to believe that's because things like jQuery are full of dated pat…

The beauty of React and other frameworks is that it separates the concerns of state and UI.

I don't see it as a tool for making a fancy button or widget, I see it as a tool for guaranteeing that what the user sees is always what's actually going on in the logic.

Too many times I've written something like a "clear" button or a "reset" button in jQuery, added an extra field, forgotten to include it in that clear/reset method and now the UI doesn't match the logic, leading to unpredictable and hard to debug results.

Re: Ask HN: Is all programming constantly changing or just front-end JavaScript?

#39
* Yes, JS is changing stupidly quickly.

* C++ has changed a lot starting with C++11, and is still changing quickly. However, not nearly as quickly as JS.

* C is still stuck in the age of the dinosaurs. The tooling has gotten a little better with clang, cmake, etc. (though these are as much a result of its close relationship with C++ as anything).

* Assembly is not moving, mostly because it's dying. There's one notable exception: ARM.

* PHP is changing much faster than it has for a long time.

* I learned rails about 4-5 years ago and haven't done much with it since, but it doesn't seem very different (though this could be wrong).

* Rust, go, zig, and other new languages are all vying to replace legacy languages such as C/C++, even for high-performance, low-level applications. This may be part of the reason some things that didn't change previously are now changing: competition. Ditto with PHP and node.

* One other item of note I haven't really explored: functional programming seems to be the new hipster technology, and as a consequence is rapidly evolving.

It's kind of crazy in many places, which, to your earlier point, does indeed hinder productivity. For many people, more time is spent learning new frameworks, programming paradigms, etc. than actually doing work.

Oh, and I'm only commenting on the parts I have at least some experience with. I'm not sure for other areas. I've also heard a lot about swift on ios, along with cocoa. Even windows has uwp and has really been pushing its modernized c#/xaml ecosystem.

Re: Ask HN: Is all programming constantly changing or just front-end JavaScript?

#40
post #4

I would argue that the frontend js changes are mainly to do with user expectations for what constitutes a well designed user interface. People expect more, and we have to give it to them to survive. Addressing your specific question => have the backend languages/ frameworks changed? meh. sorta. They've made incremental changes, but the meat and potatoes look the same from 4-7 years ago for the opinionated frameworks.…

Nice comment. I agree - I think innovation in backend development has really been subsumed by DevOps and data pipeline architectures, which have both really changed quite a bit.

Java and .Net is steadily improving. But unlike the JS world things are mostly backwards compatible and there exists stable (some have argued too stable) dependable frameworks.

We are starting to see this in the frontend world as well with Angular. After throwing everything away between 1 and 2 it is now mostly smooth (until Google decides to ditch it for something else).

Post reply on HN