Live data from Hacker News

Why I Hate Frameworks (2005)

factoryfactoryfactory.net

121–130 of 407 posts

Re: Why I Hate Frameworks (2005)

#121
post #40
post #36

Earlier quoted context omitted.

I mean, you certainly should learn arithmetic before using a calculator, right? But a calculator is more of a library than a framework, anyway, so your attempt at proof-by-analogy isn't at all resonating with me. (edit: I think I misread the comment I replied to and am now in the process of maybe figuring that out downthread.)

Calculators do a lot more than arithmetic these days. Without knowledge of calculus, most people think of a calculator as a magic “black box” that outputs square roots and cosines.

Roots were calculated at least as far back as 1800BC thousands of years before calculus existed. Trig functions were indirectly messed with since around at least 300BC and was definitely discovered by Indians around 600AD. Meanwhile Calculus wasn't published until the 1700s.

Re: Why I Hate Frameworks (2005)

#122
post #48

I don't get it. I assume the author is trying to make it sound absurd that you would need all these layers of factories to build a simple spice rack and, by analogy, that frameworks are also absurd. But if you were building spice racks at scale, of course you would build them in a factory! And you'd use machinery made in other factories. And those factories would have tools and machines made in yet other factories. T…

Exactly. This post falls apart because it's predicated on the company not selling hammers anymore. That's not true about software: you have plenty of choices if you don't want to use a framework. People are happily string together libraries to make web servers in almost every language I know of, including the heavyweights like Java and C#.

Re: Why I Hate Frameworks (2005)

#124

This is taking a shot at Java, and a pretty old "joke" but I've heard of this actually being a thing out in the wild: https://stevenheidel.medium.com/a-factoryfactoryfactory-in-p...

It's rich from someone coming from scala. I frequently see lambdas returning lambdas returning lambdas that return a new object.

It's called currying and it's awesome

Re: Why I Hate Frameworks (2005)

#126
post #25
post #5

Simplicity is easy to mandate: "just use simple tools!". It's not always obvious when the finished product looks wonky and slanted and has to be retrofitted several times that the complexity was always there, in the world. The complexity in our tools is hopefully there to help with some complexity in the world. In my experience, it's always the junior who shouts "This could all be so much simpler!".

> In my experience, it's always the junior who shouts "This could all be so much simpler!" Don't have time now to find links of Jonathan Blow, George Hotz, Casey Muratori, and many other decidedly non-junior programmers complaining about the absurd, unnecessary complexity of modern software development. The people who complain are the people who know how much simpler it can be. Now, there is a separate phenomenon of…

I just listened to George speak to Lex. He talked about the engineering time they spend in tinygrad to make it simpler. A lot of hours goes in to refactoring to make it as simple as it is. Writing simple software for complex problems takes a lot of work.

The path of least resistance at every step is definitely more complexity, so that’s what happens. Fighting complexity has to be actively prioritized.

Re: Why I Hate Frameworks (2005)

#127
post #94

Earlier quoted context omitted.

Everyone needs to learn to do calculus by hand before advancing to the calculator. People picking up frameworks without fundamental understanding is a shockingly common fallacy.

That's the reason why CS classes and degrees exist. Or at least it should be. No company will pay you for several years just to learn complexity theory, write sorting algorithms, study schedulers, rewrite UNIX tools, understand hardware architectures, etc... They want you to be productive right away, and the shortest path is just to follow recipes with the latest framework. That's the point of education, universities…

Things like Javascriptin30.com (no affiliation) are plenty to learn how to code vanilla before learning why (or when) things like libraries and then frameworks may have value.

Re: Why I Hate Frameworks (2005)

#128
post #94

Earlier quoted context omitted.

Everyone needs to learn to do calculus by hand before advancing to the calculator. People picking up frameworks without fundamental understanding is a shockingly common fallacy.

That's the reason why CS classes and degrees exist. Or at least it should be. No company will pay you for several years just to learn complexity theory, write sorting algorithms, study schedulers, rewrite UNIX tools, understand hardware architectures, etc... They want you to be productive right away, and the shortest path is just to follow recipes with the latest framework. That's the point of education, universities…

I see a lot of people online advising against taking CS degrees (in europe, where it's not economically impossible to study).

They argue that bootcamps and quick courses are enough, or that chatgpt exists now so programming is a dead profession.

I disagree, I think I've had a lot of use from having had education… but I might be biased. But I've had to explain things occasionally.

Re: Why I Hate Frameworks (2005)

#129
post #81
post #48

I don't get it. I assume the author is trying to make it sound absurd that you would need all these layers of factories to build a simple spice rack and, by analogy, that frameworks are also absurd. But if you were building spice racks at scale, of course you would build them in a factory! And you'd use machinery made in other factories. And those factories would have tools and machines made in yet other factories. T…

Like factories, frameworks are methods of reducing production costs, but come at the expense of certain aspects of product quality. Sometimes, that quality/cost tradeoff is desirable, sometimes it's not. The trouble comes if using a factory or framework is the only, or even main, tool in your toolbox, and it ends up getting used for everything.

I'm not sure the expense of reduced quality is even an issue. Just like an (decent quality) spice rack I buy from a store is probably better quality than spice rakes built by most people, an app built on a (decent quality) framework is probably better quality than apps hand built by most people.

Re: Why I Hate Frameworks (2005)

#130
post #48

I don't get it. I assume the author is trying to make it sound absurd that you would need all these layers of factories to build a simple spice rack and, by analogy, that frameworks are also absurd. But if you were building spice racks at scale, of course you would build them in a factory! And you'd use machinery made in other factories. And those factories would have tools and machines made in yet other factories. T…

The thing is you aren't building spice racks at scale. Every program is handcrafted.
Post reply on HN