3 ms·
Next.js is awful, and bad for the world. Bad for young developers who have to learn it and all its quirks, some whom end up believing that all software is like
by aabhay 2y ago
Next.js is awful, and bad for the world. Bad for young developers who have to learn it and all its quirks, some whom end up believing that all software is like that. People who have to learn JSX and have it drilled into them that _this is good for you_. Its bad for abstractions about what happens where and why. And its bad for openness, because who should we trust to operate Next.js effectively but Vercel, the company with a deep, personal, existential reason to make Next both complicated and server side dependent.
Thank you, Next
- skeptrune 2y ago>bad for the world I wouldn't go this far. More realistically, Vercel's early fit was with devs just starting in their journey and Vercel has since moved beyond. However, they haven't told anyone that they are no longer prioritizing the beginner devs and that's the problem.
- jongjong 2y agoIt's interesting watching how history rhymes. When I started learning to code in 2004, a lot of software tools started to abstract away from underlying fundamentals, but they were very careful about the abstractions they introduced... Fast forward to around 2010 to maybe 2015, there was an explosion of abstractions (in terms of adoption); MVC, MVVC, MVP, ORM, design patterns, functional programming, dependency injection, etc... And a lot of frameworks just built on top of these concepts and were promoted as silver bullets. Fast forward to today, frameworks are built on top of a massive amount of abstractions and philosophies, some of which don't really make sense together. There is so much stuff to learn at the top layer that, in the long run, you'd be more efficient just learning the fundamentals and working from first principles. Even though I started coding in 2004, I started with Flash/ActionScript on Windows and I was wondering why anyone would need to use the console/terminal in this day and age... What happens is; over time, you will repeatedly get into situations which will force you to peak under the bonnet and the more you do that, the more you realize that actually a lot of these abstractions are unnecessary... Then you inevitably end up becoming a Linux nut who uses bash for everything. I think the clearest illustration of how needlessly complicated a lot of frameworks/abstractions are, from back in 2004, was the Windows API in C++... Back then, you needed to write like 100+ lines of code just to create an empty Window! At the time, I felt so clever for memorizing over a hundred lines. I now realize how ridiculous that was. It invented a lot of abstractions, but those abstractions didn't make things simpler nor more flexible. Incorrect abstractions like this are everywhere nowadays though they moved away from the Desktop and to the web instead.