Live data from Hacker News

Why I Hate Frameworks (2005)

factoryfactoryfactory.net

161–170 of 407 posts

Re: Why I Hate Frameworks (2005)

#161

Earlier quoted context omitted.

Its resonance may sustain because theres always people entering the field who are trying to build something, and either get caught up on a frameworks hypetrain or have fond enough memories using a given framework to build something quickly, and then getting burned trying to build something ambitious with a given framework because its opinionation proves to be too rigid one way or another, and a perpetual new influx o…

One of the very first times I was paid to professionally develop software for someone else I totally fucked it up by trying to build some kind of “modular” “reusable” contraption, that in reality was a vague collection of ill-defined ideas for what I wanted to make. I have since come to believe that this is a trap that many people fall into. Even a colleague of mine at my current job might be sort of in this track hi…

Overengineering confessions. He that is without sin among you, let him cast the first stone at her.

There’s a seductive aspect to abstraction and generalization. But I don’t even think that’s what makes these things so bad in practice. It’s other, more trivial things, like losing stack traces, imposing of types and flow control that the author didn’t anticipate, but pains the user tremendously.

We don’t really have good measurements for - and often overlook those aspects - which causes us collectively to suffer only after a great commitment of time and labor. I’m pretty convinced that complexity isn’t just mentally confusing but actually hard measurable, as long as we have language to describe it and a well tuned skepticism towards unnecessary layers of indirection. Function coloring is one such attempt, imo, at explaining the great costs of something which looks innocent.

Re: Why I Hate Frameworks (2005)

#162
post #121

Earlier quoted context omitted.

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.

Those techniques were precursors of calculus. They're often taught in introductory calculus courses (at the university level). I consider them part of the field of mathematics we now call calculus. Indeed, if you study the history of mathematics you'll find that calculus isn't just something Newton invented out of whole cloth, as he himself was well aware: "If I have seen further, it is by standing on the shoulders o…

You could argue that algebra was a precursor of calculus and that basic operations were precursors of algebra. This is a rather reductionist argument. They hadn't even invented zero or algebra when they found ways to produce square roots or that you could make interesting ratios from the sides of a triangle (yes, I know about the history of zero and that is a slight exaggeration, but no symbol for zero existed in Mesopotamia when they were calculating inverse proportion roots).

My real point is that these thing don't require calculus (though calculus does require them). Most people who take trigonometry (or "precalculus" as they usually call it today) couldn't tell you anything about limits let alone derivatives, integrals, and the fundamental theorem of calculus.

As to Newton inventing calculus, he was a vehement antagonist to Leibniz claiming that his work on calculus had been stolen. That's no the attitude of a man who believed calculus was obvious from looking at previous works.

Re: Why I Hate Frameworks (2005)

#163
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…

That's a mistake. Imagine you're instead a carpenter. You're being called up because the problem is specialized. Now as a carpenter, you go to the container store and then go back to your shop to dismantle prebuilt products and glue a bunch of different pieces from different containers together and present the Frankenstein cabinet as the product back to the customer. Also, you're on the hook for maintaining it. Is it…

Unfortunately this is true, as I grew more experienced I’m very careful with the dependencies I add to a project. I don’t work with React Native but I hear horror stories of how the hundreds of dependencies force you to either stick to the old versions of stuff or keep fixing or rewriting things that used to work. Seems totally unsuitable for a side project you want minimal maintenance over time.

Re: Why I Hate Frameworks (2005)

#164
post #77

Earlier quoted context omitted.

Extremely common, and was one I fell into as a junior dev myself (early 2010's). Some reasons (based on my experience): - University classes were either very low level, or using some new framework to increase your employment prospects - All the experienced devs would hop jobs every few years, leaving less opportunity for mentorship. - Lack of convenient resources for gaining base knowledge. Googling "how to make a to…

> a good engineer has know where to go for the right information That colleges aren't teaching this as a first-rate topic is a real failure. This is, in my opinion, the most important skill any engineer should have.

One of the most important general life skills imo

Re: Why I Hate Frameworks (2005)

#165

Earlier quoted context omitted.

My handheld calculator, a Ti-89, did basic symbolic differentiation (and maybe integration, it's been awhile) in the late 90's.

Oh hey, I have a TI-89 Titanium. It can emulate the gameboy advance playing Pokémon Red at 30FPS. :)

lol, thats awesome. i suppose i shouldn't be surprised. Can do a heck of a lot with a couple dollars of silicon these days.

Re: Why I Hate Frameworks (2005)

#166

I will give a counter point. I love well-designed opinionated frameworks. Whenever I want to do something simple, I agree that a framework may be overkill. A micro-framework is nice for those scenarios though. However, whenever I build a project that will be maintained or extended by many people, opinionated frameworks give me the advantage that they force you to do things in a particular way. Django is a perfect exa…

I think it really depends on the use case, no? You can design a framework to be more or less restrictive, and the best tend to be less so, (which allows you to do stupid things but has good guidance on how to NOT to do that).

For instance, you could have an http framework that handles things like compression, buffering, timeouts etc, which are likely to work everywhere. But you could also design it such that each mime type comes with a separate class, like a HTMLTreeBuilder, or something like that, which would be horrible and way too constrained.

Elaborate type systems can, in some cases, seduce this kind of overengineering. If it really looks like something can be modeled as a type, chances are that the author cannot resist it.

Re: Why I Hate Frameworks (2005)

#167

Earlier quoted context omitted.

Oh hey, I have a TI-89 Titanium. It can emulate the gameboy advance playing Pokémon Red at 30FPS. :)

lol, thats awesome. i suppose i shouldn't be surprised. Can do a heck of a lot with a couple dollars of silicon these days.

And they mark up the price to $200 (that's what the device costed... a 68k in 2017...)

Re: Why I Hate Frameworks (2005)

#168
post #16

The worst part of this kind of thing is that young carpenters honestly, really, truly, just need to learn to use a hammer. They can't even conceive of the problems that are being solved by the hammer factory, let alone the factory factory. 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 comple…

> the carpenter might find themselves awfully tempted to take a ball peen hammer to someone's face. But sadly, they don't know where to get one or how to use it. ...and that's how the the factory factory factory also provides immediate safety and security benefits! /s

Several just-in-time access approvals are required to authorize a zero trust hammer-face transaction.

Re: Why I Hate Frameworks (2005)

#169
post #92
post #89

Earlier quoted context omitted.

I would add that intuition and knowing how to question it is also vastly important. My main driver is Ruby - I have a good feeling about code that can be refactored to use Enumerable more effectively; but I also know that Enumerable offers so much that I might be expecting too much of it. So 80% of the time I point to a method that solves the exact problem and the rest of the time I know how to write it differently.…

> I would add that intuition and knowing how to question it is also vastly important. I agree. Especially knowing how to question and how to break problems down. I'm not sure intuition is a thing that can be taught, but it's a thing that emerges as a consequence of being curious and learning how to question and find answers to those questions. That aspect is also why I think that being generally curious and having a…

Definitely. And at a slightly higher level, open mindedness is paramount to this. Engaging with other perspectives in good faith not only expands ur worldview but also pushes you to reconsider why you believe/do a thing a certain way.

And like you mention, when a problem arises and you query ur mental rolodex, there’s many more solutions/ideas to iterate over and consider

Re: Why I Hate Frameworks (2005)

#170
post #16

Earlier quoted context omitted.

> the carpenter might find themselves awfully tempted to take a ball peen hammer to someone's face. But sadly, they don't know where to get one or how to use it. ...and that's how the the factory factory factory also provides immediate safety and security benefits! /s

Several just-in-time access approvals are required to authorize a zero trust hammer-face transaction.

Sorry, I only accept ACID transactions
Post reply on HN