Live data from Hacker News

The Frontend Treadmill

polotek.net

251–260 of 722 posts

Re: The Frontend Treadmill

#251
post #223
post #145

> Whatever framework you choose will be obsolete in 5 years. I am predominantly not a frontend dev, but when I do do frontend work, (and I don't avoid it by any means,) I have been using React for the past... 10 years now? And while some sentiment has been moving towards Svelte, by the time Svelte overtakes React, it will have been in production for just as long probably. And Angular might eventually run out of steam…

Are you using the same version of React that you started 10 years ago? More importantly can you use the React version that was 10 years ago ? Can you even build a 10 year project ?

Well, that's just moving the goal posts. I never said you wouldn't have to do any maintenance at all, just that the floor doesn't just fall from under everyone every 5 years. Even outside of frontend, most ecosystems move fast enough that projects from 10 years ago would be in pretty bad shape. That's long enough that even many C/C++ projects will not compile, if nothing else, as a result of improvements to compilers.

As far as a React program from 2015, the maintenance required to get it working in modern React probably wouldn't be all that bad. The biggest transition in React's existence was the move from createClass to ECMAScript 2015 classes. React predates the existence of ECMAScript 2015 classes, having been released in 2013, but once they were available React 13 (2015) they were pretty quickly adopted for reasons obvious. So I'd expect a project from 10 years ago to probably still be using ECMAScript 2015 classes. If not, that transition is mostly mechanical. Definitely a few other potential compatibility breaks over the years, but they're all documented. None of them are going to require a full application rewrite.

Can you build a project from 10 years ago, using 10 year old React? Well, yeah, if you want to. You'll need to use an old version of Node.js most likely, but npm still has all of the old packages.

Re: The Frontend Treadmill

#252

Earlier quoted context omitted.

> It’s just nuts to me the degree to which FE development as a whole seems to embrace the breaking change, the deprecation, etc. I’m amazed at how much of this is driven by the FE influencers. The FE world has embraced social media, YouTube, and even Twitch to a degree that I haven’t seen in other domains. Influencers in these areas need to have a constant stream of fresh material to stay relevant, so they’re always…

I'm only recently getting into some of the dev influencer stuff (and enjoying watching some!), I've discovered Primeagen and Theo but that's about it. Are you willing to name some names? I am trying to still form my mental model about these people and what I should pay attention to and what I should ignore.

The best programming videos I've seen are ones where someone just pointed a camera at a teacher in a classroom setting, like the Programming Paradigms series Jerry Cain did at Stanford some years ago. No attempt to add entertainment value, just a teacher, students, and chalkboards. I wish I could find more content like that, especially about newer stuff.

Re: The Frontend Treadmill

#253
post #223
post #145

> Whatever framework you choose will be obsolete in 5 years. I am predominantly not a frontend dev, but when I do do frontend work, (and I don't avoid it by any means,) I have been using React for the past... 10 years now? And while some sentiment has been moving towards Svelte, by the time Svelte overtakes React, it will have been in production for just as long probably. And Angular might eventually run out of steam…

Are you using the same version of React that you started 10 years ago? More importantly can you use the React version that was 10 years ago ? Can you even build a 10 year project ?

In React 10 years ago, you included a tag in your HTML page and added interactivity via "React.createClass()" function calls.

Re: The Frontend Treadmill

#254

Why does FE development have such churn? Desktop toolkits from 30 years ago work just as performantly today; what is so difficult about the browser that demands constant framework updates?

I think it’s because, on a fundamental level, we have been trying to wedge an app platform into a document reader. Zoom out and think about how mad this is. Like if we tried to build “Web 2.0” inside Adobe Acrobat Reader. Apple has prescribed front-end frameworks like AppKit and UiKit and now SwiftUI, Linux had Gnome and GTK and whatever (I’m not an expert and my knowledge here is out of date)… there’s never been a C…

I'm going to go out on a limb and also suggest that there's a lower barrier to entry with HTML. You get a lot "for free" and this means there's more to choose from.

(But yes, I think this is a good assessment, and it matches my experience.)

Re: The Frontend Treadmill

#255
post #233

Earlier quoted context omitted.

Well said. The BE / FE split has been a really bad experiment. It has exasperated the issue where the FE is overly complex because there are people on a FE team, so they toil away and just add complexity. It is also problematic that we have so many people who only know web development and nothing else.

This comment is steeped in bias. The front end is not complex for its own sake, it’s complex because APIs are needlessly rigid: https://bower.sh/front-end-complexity

Delete the API, render your html on the server, problem solved.

Re: The Frontend Treadmill

#256
post #171

Earlier quoted context omitted.

> It’s just nuts to me the degree to which FE development as a whole seems to embrace the breaking change, the deprecation, etc. I’m amazed at how much of this is driven by the FE influencers. The FE world has embraced social media, YouTube, and even Twitch to a degree that I haven’t seen in other domains. Influencers in these areas need to have a constant stream of fresh material to stay relevant, so they’re always…

That's fascinating, and I had no idea web dev influencers were so big. I checked, and there really are people with millions of followers doing development. Personally, the idea of learning anything related to coding through a video is extremely frustrating. It's a text medium. I want to look at things, take time, think it over, compare code, follow references, look up functions. That people like video formats isn't r…

These videos are edutainment at best, which is generally not a good way to learn something well enough to be able to actually work with it. A lot of them are pretty much straight up entertainment, where the entertainment value comes from drama and strong opinions. They're totally fine if you know that, but some of their audience does not know that.

I've been seeing more and more of a certain kind of person who are into these videos on some Discord servers, and it is clear that they are driven more by culture and style than by the goal of creating some thing, or having a strong understanding of how to make computers do certain things.

Re: The Frontend Treadmill

#257

Earlier quoted context omitted.

This was true in the lodash and jquery as essential days, but hasn't been the case for years. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

> hasn't been the case for years For 10 years, actually. ES6 - otherwise known as ECMAScript 2015 - did in fact come out 10 years ago. - https://en.wikipedia.org/wiki/ECMAScript_version_history#6th... It truly did improve the JS landscape by an order of magnitude. For those unfamiliar with the extensive features this brought to JS, here is a good list: - https://rse.github.io/es6-features/

ES6 modules make it straightforward to reform great piles of unstructured JS hackery into hierarchical dependency-controlled units for which you can actually reliably draw a block diagram. Hmm, or maybe get Claude to draw it for you ...

Re: The Frontend Treadmill

#258
post #212

I've proposed an idea several times that I think might resolve this situation, but it's never received any real uptake and I can see some serious issues with the approach. Instead of building a "inner system" ( https://en.wikipedia.org/wiki/Inner-platform_effect ) where the browser uses HTML, CSS, and Javascript to create interactive applications, or attempting to make a sandboxed and highly limited execution environ…

Reminds me of: https://xkcd.com/1367/ Webpages being rendered framebuffers would be terrible for consistency and accessibility. All the logic for layout computation, responsive design, font rendering, and literally thousands of other things browser have developed over the decades would go out the window. But on the topic of multi-architecture, that’s really what web assembly is. I’d be surprised if it didn’t continue…

GUI frameworks have done accessibility and consistency better than browsers (which includes layouts, font rendering, etc) for decades. The browsers are literally just inner platforms that take the capabilities available in the GUI framework, and make it available through a set of API (javascript), content (HTML) and styling (CSS). Moving applications from browser tech to GUI framework tech doesn't throw anything away because GUI frameworks embed widgets that are browser windows (https://doc.qt.io/qt-6/qtwebengine-overview.html)

I wanted to love webassembly, but each time I've looked into it, it places significant constraints on the application developer in terms of networking, file systems, and many other things that I consider to be table stakes for modern application development. Similar to Web GPU support, it's just another inner platform with a bunch of restrictions that prevent me, as an experienced developer, from using high quality GUI frameworks and all the nice things that OSes have developed over the decades.

Re: The Frontend Treadmill

#259
post #171

Earlier quoted context omitted.

That's fascinating, and I had no idea web dev influencers were so big. I checked, and there really are people with millions of followers doing development. Personally, the idea of learning anything related to coding through a video is extremely frustrating. It's a text medium. I want to look at things, take time, think it over, compare code, follow references, look up functions. That people like video formats isn't r…

Here's one: https://remix.run/ These grifters sell entire courses on the product, that's their game. So when you find an unmaintained Remix app at your company, well, the grifters got the ears of your junior devs :( And they just promote it and promote it: https://kentcdodds.com/blog/a-review-of-my-time-at-remix https://kentcdodds.com/blog/why-i-love-remix https://kentcdodds.com/courses Pure grift. But since most peo…

I think you're mistaken. I can't comment on the quality of Kent C. Dodds' educational content, but his formal affiliation with Remix was short-lived. The courses that he sells have no apparent affiliation with Remix (the open source project or the company).

Incidentally, Remix is an open source project started by the React Router devs to create more framework features around React Router. React Router is probably one of the most widely deployed JavaScript libraries ever and is the furthest thing imaginable from a project created by grifters to sell online courses.

Remix was also a company that raised a $3 million seed round and then was acquired by Shopify (for presumably much more than $3 million). Shopify appears to continue to invest heavily in Remix and React Router development, and appears to use Remix heavily.

Re: The Frontend Treadmill

#260
post #9

To jump off the treadmill is not using a fronted framework: at all, and not using a random one and not rewriting the code later. Server side rendering, JavaScript only when needed, no separation between backend and frontend folks in the company.

Javascript doesn't have a good enough standard library to execute on this. You need frameworks just to patch up the runtime (or otherwise avoid the holes). Last time I checked they didn't even have decent hashmap or set implementations (let alone decent serde support).

Alright, I've been in the industry a very long time but moved to backend when it got complex. I am wondering why you need a decent hash map or set implementation. This is supposed to be done on the backend. The frontend is for presentation. Your backend should not give you elements with duplicates (why you don't need set). "Decent hash map" sounds like you just don't like the hash map implementation because you are trying to do something complex with the Map implementation, in which case it belongs on the backend.
Post reply on HN