4 ms·
It’s absolutely mind boggling to me that we have gotten to a point that building a web frontend takes longer than compiling the Linux kernel..
by maccard 7mo ago
It’s absolutely mind boggling to me that we have gotten to a point that building a web frontend takes longer than compiling the Linux kernel..
- Hamuko 7mo agoAs a non-frontend developer mainly observing and touching something here and there, a lot of the things that frontend developers do seem vastly over-engineered.
- ramon156 7mo agoI'm not insanely deep into frontend, I mostly just pick up React and call it a day, but it seems like this is also over-engineered? I've seen vanilla JS before, and I just know I wouldn't want to do the housekeeping that comes with it. People claim it's less work because it' simpler, but I fully expect myself to rewrite the thing at least twice, only to give up because I have no actual mental model anymore of how it works.
- selfmodruntime 7mo agoI have never in my career encountered a Vanilla JS project of at least medium size that I would have called simple. They all feature brittle selfmade frameworks whose developers have since left the company years ago.
- maccard 7mo agoI write C++ and C# all day - I think it’s fair to say the same about a project in any programming language!
- thibran 7mo agoIsn't the main problem that the building blocks the modern web is based on are not a good fit for what we do with it? CSS is a total mess. HTML is a mess. JS is okay, but is not a high quality language. We would save so much time and money if we would have a modern base to build on. Sadly this will probably never happen, because company interests will try to corrupt the process and therefore destroy it.
- selfmodruntime 7mo agoHow are CSS and HTML a mess? Combined, they're an incredibly powerful layout engine that works almost the same across all environments and devices while also featuring easy accessibility.
- rk06 7mo agothe biggest problem with html/css is that they are tightly coupled. you can't meaningfully modify a layout with css alone. second biggest problem is "no stricter mode". so even wrong or useless html/css code goes unflagged and is treated as it is normal. CSS is way too powerful.
- rho138 7mo ago> you can’t meaningfully modify a layout with css alone Wut?
- manuelmoreale 7mo ago> you can't meaningfully modify a layout with css alone. https://csszengarden.com/pages/alldesigns/ https://csszengarden.com/pages/alldesigns/ That statement wasn't true ages ago, and it's even less true now.
- thibran 7mo agoWhen taking a bird eyes view on CSS it will be hard to oversee that CSS is a mixture of different concepts that evolved over time with a lot of inconsistentsies. It is possible to make it work, but it's not pretty. Same for HTML. If the web would be reimagined today, there is a very low chance that we would create HTML as is.
- nixpulvis 7mo agoSame reason why 90% of websites have serious UX issues and constant bugs. This and ad frameworks.
- itopaloglu83 7mo agoIt’s mind blowing when you check the generated code, because it goes over 50 elements deep for a simple looking website. Makes me think that there’s no way this is computationally efficient either.
- crooked-v 7mo agoThat particular issue is nothing to do with Next or React and everything to do with how HTML/CSS is a really shitty layout engine.
- maccard 7mo agoHard disagree. This is JavaScript frameworks building a hierarchy for themselves and ignoring any sort of complexity on the generated DOM. There’s 0 reason for these 8-10 nested divs other than that’s what the framework spits out.
- maccard 7mo agoThis is my understanding too - tools like react are like microservices - they’re a technical solution to an organisational problem. HTML/css/JavaScript is an imperfect abstraction, so we got bootstrap. Then we got client side frameworks which introduced a build step, and then we got asset bundles, optimisers, linters, validators, tree shakers, package managers, validators for your package managers. All of these monkey patched around the actual problem with more abstractions, and the end result is what we have now.
- pjmlp 7mo agoLike using SPAs for classical Web development, and then they rediscover PHP.
- rafaelmn 7mo agoAnd underenginered at the same time !
- mmarian 7mo agoNot that backend is any better - microservices everywhere, must scale to Facebook traffic even if we only have 10 customers, etc. Saying this as a backend dev
- selfmodruntime 7mo agoC is infinitely less complex to parse and validate than Typescript. C is compiled in a single pass, the `tsc` type checking algorithm has to check structural typing, conditional types and deep generics while also emulating JS' dynamic behaviour.
- iptq 7mo agoI don't think any C compiler has been single pass for the last 20 years. Typescript's analyses are also not that complicated, it's just that the typescript type checker is written in js. Iirc the actual ts -> js part is pretty fast with some of the more recent compilers.
- maccard 7mo agoI disagree - this is an excuse. Even the post we’re commenting in now shows that it’s a series of poor abstractions and bad tooling that takes way too long to do the basics, combined with a language and ecosystem that encourages this behaviour . They saw a 5x speed up by changing tools while still using a JavaScript framework so it’s clearly possible for it to not be complete nonsense.
- HeavyStorm 7mo agoThat's not the point...
- deleted 7mo ago[deleted]
- nicoburns 7mo agoIt's mostly because a lot of the web tooling is written in JavaScript. The build times for the "next generation" tools written in Rust/Go are dramatically faster.
- JoeCortopassi 7mo agoAgreed. My frontend/react builds use esbuild, and rebuild fast enough that it feels like hot module reloading