I simply do not give a shit about whatever the latest opinionated framework/tech of the week is. All I've gotten to is the point where what I really care about is "Can I fit all the necessary bits and bobs in my head?" The rest is just branding, mind share, and the cult of complexity.
Example: Yarn
I finally figured out why I hate it. It tries to "help" you optimize your runtime namespace via hoisting. Causing higher level builds to create a distinctly different runtime footprint via hoisting than running each of the lower level builds individually.
What. The. Heck. Who wants to inflict that on a user? I don't use a computer to do things in ways where I have to go through the torment of cataloging every bad assumption at every level. I'll take more pessimum, but easier track the reality of over more optimum, yet opaque any day.
What we need to figure out how to do is to inoculate new developers against ever caring about the latest "opinionated framework/tech of the week" in the first place :(.
> What we need to figure out how to do is to inoculate new developers against ever caring about the latest "opinionated framework/tech of the week"
Capital dictates what tech is popular, not actual popularity or effectiveness. So abolishing Silicon Valley and the global north IP regime is the only strategy that cuts at the root of this problem.
Ultimately, yes, but good luck ending IP imperialism. It would force the global north to actually build what it's consuming instead of extracting rents from intellectual property. That won't happen.
1. most of these things are the "new old thing", and more experience/education/history would dampen enthusiasm for these re-hashes of old ideas
2. alot of people/tech is on a revenue treadmill (especially consultants and companies that want to market the new hotness) so we get bombarded with reinventions of the "flat tire"... its like junkfoods with new packaging NEW FLAVOUR! we keep falling for it...
3. our jobs as coders can be boring and we look for new toys for stimulation and make things interesting again... if only for a little while...
FWIW, I believe those people are often the very amateurs who are drinking the koolaid themselves (and when they aren't they are parasites that are more "fans" of software that developers).
Well, let’s talk about that. These bloggers are taking part in a type of traffic generation that either generates direct revenue, or indirectly generates leads via branding (let’s say they get paid for their reputation).
What actually keeps that business model going? They have to write newer and newer shit about newer and newer shit. That’s the whole game.
Very few of them ever write mea culpas - ‘Hey I pimped something to you guys for awhile, and it turns out that tech really sucked’ or ‘Woah, I’m so sorry about espousing this pattern or framework, it’s not that great’.
That destroys credibility. I don’t really think they are sincere, the same way the media broadcasted everything Trump did to make him popular, followed by broadcasting everything bad he did because he’s the wave they needed to ride.
The insincerity is not even close to being bad in tech compared to politics, influencers, etc, but it’s there.
They probably care because they want to stay employable. We live in a system where you can’t work you are fucked (for most people) so yeah learn React, Redux, NPM, css frameworks etc. Whatever is needed so you can get that pay rise or just stay employed.
Also what are beginners doing who are trying to break into coding? Learning as many frameworks as possible. They want to get that first gig, rung on the ladder and double their salary from their non coding job before.
So you are saying we need to figure out first how to make companies not get infected by the latest fad, so people don't think they need to learn the latest fad to get hired? I guess I was simply under the impression that companies only were developing with fad technology because amateur developers were attracted to the fads and kind of forced the companies to develop with them, in which case if developers didn't find them fun then companies wouldn't use them and they wouldn't be a sadly useful way to get hired...
There's a bit of truth to both, imo. There definitely are companies that use new technologies for management or technical management to sound good, and certainly also to attract employees perceived as being into the latest fad.
This goes too far for me. There's nothing wrong with trying out the tech of the week and learning from it. Just don't go crazy needlessly rewriting old code or adding new frameworks to things all the time.
The best software was written in the 90's - Delphi - everything else is still catching up. All web frameworks are awful, because the browser is awful. There, I said it.
The problem there is that reinventing decades-old technology while believing one can simply shrug off uncounted millions of hours of technical problems and troubleshooting by doing so is in fact extreme hubris. Keeping the existing stack is much more humble.
Ever since I read the Joel on Software article on rewriting [0], I tend to share this opinion. However, there comes a point where it's much better to shuck some or all the layer of the tech stack.
It's inarguable that our current state of hardware and software is a festering pile of legacy layer upon legacy layer. C, x86 and Unix got us far and they were the only tech in their category that could do what they did, but the world has come a long way and they come with essential downsides (in both senses of the word). There will be replacements for each, eventually.
C is finally meeting its match in Rust and certain other contenders, while x86 is sort-of under siege by ARM and RISC-V. It will take a while before it happens, but we will be better off as an industry. We will build back better, simply because we have the benefit of hindsight now.
I agree the end result could very well be better. But, I’d also say it could very well be worse. As a result, it’s risky, and therefore ambitious rather than a humble thing to do.
Perhaps, but we still have the old thing to fall back on for a little while if the new thing is really that bad. This will give it enough time to iron out the bugs.
For example, Linux is in the middle of switching out the display server for something more modern, but not everyone has moved on because the new display server is still missing features and interoperability that the old one had. Everyone will eventually move on from the old one, but it's not like it's automatically overshadowed just because there's a new thing.
I would say Wayland vs X11 is a great example of how a rewrite can go wrong. In theory, Wayland should be better because it's easier to reason about and more restricted, but in practice, X11 being "dumb" (anything goes) is probably what led to its mass adoption to begin with. This mismatch in expectations has led to a falloff of support in what would otherwise be a thriving open source project.
Several of our general purpose platforms that have mass appeal (TTYs, the telephone systems, the Internet, FM radio, heck, even Fax) are built on unopinionated, stupid pipes. Correct me if I'm wrong, but Wayland is very much not a dumb pipe. As a result, it's risky in my book.
It's hilarious that you use "hubris" to describe the old stuff which works but is long in the tooth. Are we actually going to reinvent all the wheels, completely destroy backwards compatibility, and come up with a computing platform that is a pleasure to use and develop for? And who's going to explain to grandma that it's better even if it won't run the bridge game she bought in 1996?
What's the immense hubris? The reinventing the wheel constantly?
I mean rebuilding from the bottom up would be an example of that hubris at work... So I feel like I'm not understanding what you were trying to convey.
I simply do not give a shit about whatever the latest opinionated framework/tech of the week is. All I've gotten to is the point where what I really care about is "Can I fit all the necessary bits and bobs in my head?" The rest is just branding, mind share, and the cult of complexity.
Example: Yarn I finally figured out why I hate it. It tries to "help" you optimize your runtime namespace via hoisting. Causing higher level builds to create a distinctly different runtime footprint via hoisting than running each of the lower level builds individually.
What. The. Heck. Who wants to inflict that on a user? I don't use a computer to do things in ways where I have to go through the torment of cataloging every bad assumption at every level. I'll take more pessimum, but easier track the reality of over more optimum, yet opaque any day.