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.
Why I Hate Frameworks (2005)
191–200 of 407 posts
Re: Why I Hate Frameworks (2005)
#192Re: Why I Hate Frameworks (2005)
#193Re: Why I Hate Frameworks (2005)
#194Earlier quoted context omitted.
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.
The carpenter doesn't need a degree. The architect and structural engineer do. If you plan to be a programmer all your life, and a journey-man one at that, then feel free to learn-programming-in-21-days. If you're planning a career in software, then I think understanding fundamentals (database normalisation, the Order of a solution, the ideas of Coupling and Uncoupling, memory usage versus performance, the impact of…
A certified carpenter has more trade-specific information than your average dev out of a great Uni.
It'd be positive if there were some degree of institutionalization of software.
Re: Why I Hate Frameworks (2005)
#195Look, if you don’t like React just say so.
This piece was written before React even existed. (React is from 2013, this is from 2005.) Besides, I can't think of a single "factory" oriented concept in React, could you elaborate?
It was a joke. Jokes don’t have to make sense. They just have to be funny. I understand that you did not find it funny, and that’s ok. It certainly wasn’t even all that funny. There are wide variances in what people find funny. Even the most uproarious joke a comedian tells will have those who genuinely didn’t enjoy it.
But at the same time it is generally considered dickish to try to convince the people who did enjoy the joke that they shouldn’t. People tend to enjoy laughing and smiling. Having some buzzkill come in and vomit “well akshually” all over the place is a sure fire recipe for annoyance.
As an example, the movie “Monty Python and the Holy Grail” opens with King Arthur being trailed by a servant banging two halves of an empty coconut together. King Arthur’s time is estimated to have been around the late 5th century. Coconuts were not introduced to Europe until centuries later. If someone were to object to the scene with these bits of history they likely will be viewed unfavorably. The reason for this is because most people do not expect satire to be historically accurate.
Personally, if I see the words “frameworks” and “hate” in a sentence then immediately my brain goes “REACT!” The joke, such as it was, was an expression of that.
Should you require further elaboration on the subject of humor please do go jump off the nearest bridge.
Re: Why I Hate Frameworks (2005)
#196Earlier quoted context omitted.
You're conflating React the library with create-react-app which is a collection of pre-configured tooling for making SPAs. React on it's own is very much just a library with a couple functions.
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
Re: Why I Hate Frameworks (2005)
#197Earlier 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.
And sine, cosibe, and tangent are just ratios between different parts of a triangle and can be derived relatively easily (just like how you can derive pi if you know the diameter and circumference of a circle).
Re: Why I Hate Frameworks (2005)
#198Earlier 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…
- Browser incompatibilities. You couldn't just do X, because in other browsers X might behave differently. So you would write X blueprint and use an X factory that would auto-generate code for the different browsers. This applies to both JS, CSS and HTML BTW.
- Then the modules+bundlers came. Initially they were , but when you had multiple you wanted to concatenate them for performance ofc, and in Node.js you wanted a way to import them. So a tool for each was created, then a tool on top of both was created, and thus a factory of factories of sorts was created.
- Then ES6+ came, which was similar to the first point so I won't bother you with it.
- Then Webpack and all of its derivates promised to solve all of the problems above, at the same time (with Babel and whatnot), and the era of mega-factories came to be.
Luckily nowadays we have standardize mostly around ES6+, and using ESM for imports/exports everywhere, so if you write plain JS and use ESM both in your code and in library code you don't need any more factories. You can still use a tool to bundle all your code, or to use more advanced coding paradigms like React*, but that's nowhere the peak of complexity we've lived.
That's one of the reasons I dislike TS BTW, because now that we are in "bliss plain JS" some people were not happy and had to add complex tooling again with TS.
*I draw the line here and declare that JSX is not JS, and thus this complexity thing doesn't apply there. If you are writing JSX you are writing it against CRA/Vite/Next, while plain JS you are writing it against the browser, so only things built on top of JSX, like TSX, can be considered factories from that point of view. If you think it's not fair, I'll argue it's as fair as JS, since in the end every browser is a "factory" of JS -> low-level code.
Re: Why I Hate Frameworks (2005)
#199Earlier quoted context omitted.
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…
This misses the mark. CS classes and degrees are akin to reading books about swinging hammers rather than just swinging the hammer.
Re: Why I Hate Frameworks (2005)
#200Earlier quoted context omitted.
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.