Live data from Hacker News

Why is modern web development so complicated?

vrk.dev

611–620 of 731 posts

Re: Why is modern web development so complicated?

#611
I like to read these things, because it feels so foreign to me. I started web dev around 2003 (stopped maybe 2010-2011), it involved a empty HTML file, perhaps only the few basic elements copied in, some hand crafted CSS, hand crafted JavaScript, a few ifs for Internet Explorers of the days, it was pretty manual, but one knew all the bits and pieces of the code.

Given how much I spent doing things this way, I'm quite reluctant to building JavaScript, let alone CSS (though preprocessing first came to CSS, if my mind serves me right). I find the write-test-update loop to be much tighter for frontend work, so I'm quite fond of the old ways of doing things (and all my side projects look the same way as they did back in the early 2000s), but I understand that modern build tools are getting more and more performant. Not as performant as "Save" though :-)

Re: Why is modern web development so complicated?

#612

As someone who hasn't done much web development in the last 10 years, it is mind-boggling how much you need to know in order to be a full-stack engineer these days. I tried to start a project a few months ago and just trying to decide on a technology was difficult. Npm, Gulp, Grunt, Webpack, React vs Vue vs Angular...I don't even know what half of these tools even do, why they're needed, not to mention the learning c…

And there are like 20+ popular javascript (or Typescript, CoffeeScript, Dart) frontend frameworks to choose from (Vuejs, React, Angular, ...) several "native" solutions if you also want Mobile apps (NativeScript, ReactNative or even Flutter if HTML is not looking good enough) and there are like 10+ languages to choose for the backend development. And don't forget proper state management (Redux, RxJS, NgRx or Vuex). So if you plan to make a simple admin webpage you can either quickly write 50-line code in PHP or Python or some other lang. Or you can spend months learning TypeScript, webdev tools, js frameworks, Golang (+dependency management), java (+maven, gradle or some other tools from hell) and spend half a year on it. I have spent so much time learnig all that frontend and backend sh*t to find out "yeah it's nice and interactive but next time I should use HTML+CSS+AJAX)". Webapps are for teams of people. Frontend team and backend team. You need like 10 people to make modern SPAs roperly, also with all the proper CSP, headers and caching settings.

Re: Why is modern web development so complicated?

#613
It's not that complicated. There are only like 20+ popular javascript (or Typescript, CoffeeScript, Dart, ...) frontend frameworks to choose from (Vuejs, React, Angular, ...) and their popularity changes over time. Several so called "native" solutions if you also want fast Mobile apps and HTML is not looking good enough (NativeScript, ReactNative or even Flutter). And there are like 10+ languages to choose for the backend development. And don't forget proper state management client-side to maintain single source of trust (Redux, RxJS, NgRx or Vuex)! Webapps are for teams of people nowadays. Frontend team and backend team. You need like 10 people to make modern SPAs properly, also with all the proper CSP, headers and caching settings. And you have to transpile the code to javascript after every change and 1.5 GB of JS dependencies and tools with web-based editor like VSCode. But all that is worth it because it's so interactive and modern. :)

Re: Why is modern web development so complicated?

#614
post #542

Earlier quoted context omitted.

Likely in that other industry the engineer built 100+ other basically identical items that are two or three orders of magnitude less complex and where all the costs and techniques are pretty well known. Also, those mature industries routinely overrun by millions of dollars and months or years, event though they are dealing with a fraction of the complexity and the costs and techniques are well known. Software is the…

90% of Web applications are database frontends. What they do to the end user might be different, how the pieces come together, it is always the same, unless one is doing curriculum driven development.

I wish we could get away from the fashion show in this industry. Currently we have a React frontend, which just adds extra complexity for no real benefit. But its fashionable.

Re: Why is modern web development so complicated?

#615
post #473

Earlier quoted context omitted.

Ugh. You've basically made the case for me doing my next project in c++ 17 instead of using it as an excuse to learn Rust. Im morally opposed to c++....

isn't protection against de-referencing null pointers a good reason?

Yeah, but I've been around the block enough times to avoid those types of bugs.

Re: Why is modern web development so complicated?

#616

Earlier quoted context omitted.

This is far from obvious and is almost never convincingly exemplified.

It should be totally obvious if you have written or tried to reason about a jQuery codebase that is larger than, say, one thousand lines of code, especially with multiple event listeners reading from and writing to the same pieces of state.

Having done this many times, my main takeaway is that storing state is what the DOM was designed to do and it’s faster than a virtual DOM.

Re: Why is modern web development so complicated?

#617

Earlier quoted context omitted.

This is fundamentally because our industry is built on opinions, not standards. You talk to one software engineer, and they'll say, "that's built in PHP, so it sucks; it should have been built with npm, obviously." Then you talk to another and they say, "I can't believe they built that with npm, the package management system is just terrible and the whole mess is bloated and there have been a ton of security issues.…

Likely in that other industry the engineer built 100+ other basically identical items that are two or three orders of magnitude less complex and where all the costs and techniques are pretty well known. Also, those mature industries routinely overrun by millions of dollars and months or years, event though they are dealing with a fraction of the complexity and the costs and techniques are well known. Software is the…

Yeah, I used to hold similar naive views fresh out of school. Reality is, at least 98% of the software out there is just redoing what has been done, copy paste for slightly different purposes, integrating libs in slightly different ways.

But maybe its hard to admit it, lower down your ego and be a bit humble. Yes, software development is a creative work, but so are all other engineering branches. And yes, we have massive issues with code, process and people quality across whole business.

Re: Why is modern web development so complicated?

#618

Earlier quoted context omitted.

This is fundamentally because our industry is built on opinions, not standards. You talk to one software engineer, and they'll say, "that's built in PHP, so it sucks; it should have been built with npm, obviously." Then you talk to another and they say, "I can't believe they built that with npm, the package management system is just terrible and the whole mess is bloated and there have been a ton of security issues.…

Likely in that other industry the engineer built 100+ other basically identical items that are two or three orders of magnitude less complex and where all the costs and techniques are pretty well known. Also, those mature industries routinely overrun by millions of dollars and months or years, event though they are dealing with a fraction of the complexity and the costs and techniques are well known. Software is the…

>Software is the only industry where you are asked to build systems that have never been built before but that are more complex than anything ever built in the history of "mature industries", on top of astronomically complex systems, and estimate it with an accuracy of 5 to 10 days and a few thousand dollars.

You are seriously overestimating complexity and novelty of most software development, while underestimating engineering in other industries. I work currently as software developer and previously in a branch of a civil engineering.

Do you seriously think that other engineering disciplines to not have those small little problems that plague us all the time in software development? They do, but they can offer their solutions based on data, not just whim. They do also have codified standards, and guidelines and certification exams.

On the other hand software development is relatively new discipline - other fields had hundred of years to mature.

EDIT: and they are catching up with rapid prototyping - it is getting cheaper and faster.

Re: Why is modern web development so complicated?

#619
post #566

Earlier quoted context omitted.

Honestly I think it's kind of worrying that this opinion is so popular. Aren't you essentially saying that frameworks are in most cases useless, and "job security" is something you should strive after? First of all, "job security" means that you're irreplaceable, and in the case of you actually being the architect/designer, that probably means you did a (perhaps intentionally) bad job to make yourself the linchpin. N…

In this case "job security" means their customer trusts them, not that no one else could do the job.

I disagree that customer/provider trust is equivalent to "job security".

Re: Why is modern web development so complicated?

#620
post #484

Earlier quoted context omitted.

I take a similar approach for 9/10 of the enterprise web apps I build, but use ASP.NET Core MVC instead of PHP, and I also favour SASS. Point is that SSR (Server-Side Rendering), with a sprinkling of simple JavaScript and XHR calls as required, is enough for almost everything I do, and it means build are really simple. Doubly so with a strongly typed language like C#. I've worked on Angular and Vue projects, and the…

Have you tried Razor Pages? I used it in my last project and I loved it, it was a lot simpler and subjectively more fun than using regular MVC.

I haven't tried it, but have read uo a bit and seen some examples.

TBH, I'm not all that keen, possibly because it reminds me of the bad old days of webforms with code-behind files. Maybe I should try it in anger before I judge it though :)

Post reply on HN