Live data from Hacker News

Why I Hate Frameworks (2005)

factoryfactoryfactory.net

341–350 of 407 posts

Re: Why I Hate Frameworks (2005)

#341

Earlier quoted context omitted.

> But in the world of the factory factory factory, the apprentice carpenter (who really just wanted to drive a few nails) is now faced with trying to understand the gargantuan complexity of the factory factory factory. Sometimes I wonder if that's the point of all this complexity. (EDIT: I mean really excessive complexity as alluded to in the article with factory factory factories, or 100 microservices all in differe…

Senior here. Where I work, everyone has the authority of the position below them. The middle management above my team decides language, framework, and architecture. They were hired from much larger companies, so naturally they just know more. I think our 10mil/yr company doesn't need the complexity of a 100mil/yr solution because we're not Amazon and we're never going to be Amazon. But, we now we have dozens of lambd…

Intelligence won't matter here.

Software design doesn't have a formal theory that defines optimal design and there isn't any empirical evidence either.

We know the shortest distance between two points because we have a formal theory that defines it. Because software design has no such thing, everyone is making shit up.

Doesn't matter how intelligent you are. If the thing that's being designed can't be quantified it's the wild west. Those brains are focused on optimizing things we have no idea how optimize and things we can't even measure.

Re: Why I Hate Frameworks (2005)

#342
post #296

Earlier quoted context omitted.

I think the "hammer" metaphor is insufficient to cover why one would get a degree or not. I learned a number of fascinating things about computers in University that I would have never gotten on the job.

Couldn't you have learnt them on your own thanks to your own curiosity and outside of a job setting?

Sure, but it's not necessarily inherent to the job, so the level of effort needed is much higher.

Re: Why I Hate Frameworks (2005)

#343
post #47

I remember following up the Angular tutorial. I was about 15min into the tutorial, and I was already editing 8 different files. I never got lost so quickly. I lost a job because I could not use angular, but never felt bad about it. I remember somebody commenting here on HN about a developer conference, where the speakers were bragging about their software being complex. This is an awful trend with software, and is re…

This is why React won: No template language to learn. No prescriptions for managing your app. No piles of abstractions to do basic things. It's just a UI lib. Import it, declare what to paint on-screen, done. Oh, you want routing? "Not my business", says React. Go add a routing library. You want a framework for managing global state? Go find one. Want a kitchen sink frontend solution which bundles all of these common…

> Oh, you want routing? "Not my business", says React. Go add a routing library. You want a framework for managing global state? Go find one. Want a kitchen sink frontend solution which bundles all of these commonplace features together? Use Create React App, or Next.js, or whatever fits your use case.

Double edge sword in my opinion.

Every single react Project I jump into is completely different and a pain in the ass half the time to figure out what is where and what is doing what.

On the other hand I can jump into just about any Rails project and hit the ground running.

Re: Why I Hate Frameworks (2005)

#344

Earlier quoted context omitted.

React: - completely changes how you write your frontend - changes the language itself (JS -> JSX with embedded HTML) - has lots of react-* libs built around it - comes with a script initializing an app skeleton I would call that a framework. And it's a very good one.

> completely changes how you write your frontend You can use it for only a part of your UI, and you can implement any parts of your UI that are embedded within react components without react as well. It doesn't lock you into doing things its way in any manner whatsoever, it is literally just a library with functionality that you can utilize wherever relevant in your app. > completely changes how you write your fronte…

Yes, you can use React not like a framework, but very few people do that. If you say you're using React, it's assumed you're doing it the usual way (with JSX and all).

Re: Why I Hate Frameworks (2005)

#345

Earlier quoted context omitted.

factory to build a factory I see . Most including the standard docs would recommend using create-react-app unless you really know what you are doing

The standard docs can go fuck themselves. I've never seen a community try and fuck up a good library as hard as the React community does. React itself is great. Almost everything built on top of it and every word spoken about it on the internet is garbage. The incessent focus on shit like CRA, NextJS and people shitting themselves over "NIH" is going to kill React in the next decade and we're going to be stuck with s…

Indeed, react.dev is a disaster without precedents.

Re: Why I Hate Frameworks (2005)

#346
Essays like this are not constructive imo. Reading it I'm not even sure what a "framework" is to the author. It would make more sense to talk about the specific technologies that inspired the rant, and then evaluate the tradeoffs and suggest alternatives.

Re: Why I Hate Frameworks (2005)

#347
post #227

Earlier quoted context omitted.

Part of that is almost certainly because it is far, far easier to explain how to get started with create-react-app then it would be to explain the various alternative approaches, especially considering how inexperienced on average the kind of people who are looking up how to set up a react project must be (professional developers needing the information for their actual work probably constitute a small minority), eve…

What's hard to explain about “add this tag to your HTML, open a new JavaScript file and start writing”?

It's not that simple if you want JSX.

https://legacy.reactjs.org/docs/add-react-to-a-website.html#... if this is up to date

Re: Why I Hate Frameworks (2005)

#348

Earlier quoted context omitted.

factory to build a factory I see . Most including the standard docs would recommend using create-react-app unless you really know what you are doing

The standard docs can go fuck themselves. I've never seen a community try and fuck up a good library as hard as the React community does. React itself is great. Almost everything built on top of it and every word spoken about it on the internet is garbage. The incessent focus on shit like CRA, NextJS and people shitting themselves over "NIH" is going to kill React in the next decade and we're going to be stuck with s…

For bad docs, my stuff worked pretty well following them. Is create-react-app really gonna screw up my project?

Will say that the React Native docs suck because they keep trying to shove Expo down your throat, which simply doesn't work if you're trying to actually build a production app, plus it keeps changing and breaking stuff. Or at least that was the case a few years ago; I haven't even gone there since.

Edit: Seems react.dev is beyond create-react-app and now it's pushing some overkill stuff that feels like corporate lock-in. Yeah that's a concern.

Re: Why I Hate Frameworks (2005)

#349
post #334

Earlier quoted context omitted.

Eh. It’s usually not that hard to take two tightly coupled components and insert an abstraction layer in between. Usually tightly coupled code is small, and you can almost always use the compiler to find all the places you need to modify things. Practically speaking I’d much rather that problem than it’s inverse. It’s exhausting dealing with code that’s too abstract. Especially if the abstractions don’t do anything a…

Two? Sure. How about when the whole application is tightly coupled so a change in one class necessitates changes in 4 others? And sure if the logic is straight forward and simple that's fine, but add in that the code is a complete mess with a bunch of weird convoluted solutions to things and whoever wrote it is long gone so nobody knows what it's supposed to do beyond "exactly what it currently does". I think I'm pre…

Bad code is still bad code. And correctly abstracting everything is still the ideal. Abstractions are like hinges. Too few and everything is a big fused mess. Too many and your system is a wobbly mess you can get lost in. You need the right abstractions in the right places.

For my money the way to do that is to start with as few abstractions as possible and only add them in the places you need them, when you need them. Start simple and refactor as you go. If you try to predict where the abstractions go before you’ve designed your system, you’ll get it wrong and then you’ll either leave your code with bad abstractions or spend far longer than you had to refactoring. (Since refactoring is harder the more code you have).

Re: Why I Hate Frameworks (2005)

#350

Earlier quoted context omitted.

React is arguably just a library though. NextJS is React as a framework

React: - completely changes how you write your frontend - changes the language itself (JS -> JSX with embedded HTML) - has lots of react-* libs built around it - comes with a script initializing an app skeleton I would call that a framework. And it's a very good one.

Sure, to me a library is something you call, like ReactDOM.render(), React.useState(), etc, and a framework calls the code you create. You create files and modules for a framework in the way that it dictates, and a library doesn't constrict you in any way.

But defining react as a framework or a library isn't easy, the word "React" isn't just one thing. JSX, initializing script, and the app skeleton are all optional to using React, yet React without JSX doesn't exist, everyone does it, like bundling your web app is a must in production nowadays.

React wasn't so much a framework when it started, you could add pieces of react in different parts of your page, to the point people sometimes argued that it was overkill to have the entire page be a react app. It is slowly walking into the framework direction, and the new react.dev docs violently suggest you use a react with a framework. A developer doesn't just "start" using react in these times, they need to understand a lot to create a full project with react.

Post reply on HN