Live data from Hacker News

Ask HN: Getting tired of complexity in web development

news.ycombinator.com

41–50 of 292 posts

Re: Ask HN: Getting tired of complexity in web development

#41

I call this the "path to enlightenment." You have discovered that the most popular toolchain is overkill for 95% of the things its used for. The problem is that's true literally across the board. You move to the backend and you have to deal with people who fell in love with microservices and weird databases that they didn't need. You move to ops and you have to deal with k8s when a single container would do. If you t…

Speaking of ops. What is the simplest reproducible way to accomplish this task. - create vm instance ( setup firewall, users, network dna, stuff) - install : apache, runtime - install app.

Heroku or alternatives

Re: Ask HN: Getting tired of complexity in web development

#43

I call this the "path to enlightenment." You have discovered that the most popular toolchain is overkill for 95% of the things its used for. The problem is that's true literally across the board. You move to the backend and you have to deal with people who fell in love with microservices and weird databases that they didn't need. You move to ops and you have to deal with k8s when a single container would do. If you t…

Speaking of ops. What is the simplest reproducible way to accomplish this task. - create vm instance ( setup firewall, users, network dna, stuff) - install : apache, runtime - install app.

create - terraform, install / manage - cfengine / ansible / chef

Re: Ask HN: Getting tired of complexity in web development

#44

I call this the "path to enlightenment." You have discovered that the most popular toolchain is overkill for 95% of the things its used for. The problem is that's true literally across the board. You move to the backend and you have to deal with people who fell in love with microservices and weird databases that they didn't need. You move to ops and you have to deal with k8s when a single container would do. If you t…

| Why does this happen?

Because nobody wants to hear "that feature isn't viable given our architecture."

So we build systems that can accommodate any possible future feature. No matter how unlikely. And no matter how much extraneous complexity it adds now.

In order to maintain simplicity you have to enforce simplicity. And tech business culture doesn't like that.

Re: Ask HN: Getting tired of complexity in web development

#46
I feel your pain. My career happiness peaked around 2014 or 2015, when I was writing Rails monoliths. I felt like I could focus 100% of my energy on business logic since the framework was so opinionated and the stack was simple. Things went rapidly downhill after that, once microservices, SPAs, node.js, NoSQL, and serverless computing started becoming popular. Everything just felt like a step backward. Microservices made simple things (like transactions) impossible. Express felt like a degraded version of Sinatra. NoSQL, frankly, is utterly pointless, and I have no clue why it ever caught on. Serverless computing is interesting in some respects but the places that I've worked that have gone all in on AWS were total disasters. SPAs are definitely useful for rich, interactive front-ends, but the trend to make everything a SPA and render everything in JS is totally nuts.

I ended up switching to a PM role, where I can focus on the business problems without having to worry too much about the implementation. I do miss coding a bit, but it's not fun enough to do full time anymore.

Re: Ask HN: Getting tired of complexity in web development

#47

I call this the "path to enlightenment." You have discovered that the most popular toolchain is overkill for 95% of the things its used for. The problem is that's true literally across the board. You move to the backend and you have to deal with people who fell in love with microservices and weird databases that they didn't need. You move to ops and you have to deal with k8s when a single container would do. If you t…

> Why does this happen?

It happens because these technologies solve real problem for some subset of their users. Usually when people are saying that technology has become too complicated, it's because they happen to be looking from a perspective where the problems that the technology solves are invisible to them. That doesn't mean that the problem isn't important - it just means the problem isn't important for them. The easiest way to motivate this is to imagine the kinds of problems that need solving at large companies with thousands of employees. They look vastly different than the problems of someone like me working on a side project by myself.

e.g., TypeScript might not be useful for some single-person teams of developers. It's quite useful for teams of around 5, and it's unthinkable to work without it in teams of 100+. Does this mean that the single-developer team is wrong?

(I'd actually say the same thing about React. If you're a one-man team, go ahead, do whatever you want. But if you're working with 100 other engineers, god help you if you're all directly manipulating the DOM with vanilla JS.)

Most "complex" technology is solving many problems for many different smallish subsets of its users at the same time. To the average bystander, it can look like the technology has gained huge amounts of unnecessary complexity, but it hasn't, not really - it's just complexity which isn't directly relevant to you.

(OK, and yes, some other technology is just needlessly stupid, but...)

Re: Ask HN: Getting tired of complexity in web development

#48
post #9

>I’ve hit a point where it just doesn’t seem like the end justifies the means in the vast majority of cases anymore I agree, but the only path forward is to change the specifications for HTML/CSS/JavaScript. As an industry we need to accept that these technologies get used to build web pages as well as software and adjust. This will remove a ton of the tooling. I think there are 3 basic things we could do to solve th…

Please write the blog post. It may be a hard sell but think of it more as a creative conversation with the future of web dev. While you may not get the final answer “correct”, your post will help the community progress a much needed discussion.

Re: Ask HN: Getting tired of complexity in web development

#49
post #35

Earlier quoted context omitted.

Speaking of ops. What is the simplest reproducible way to accomplish this task. - create vm instance ( setup firewall, users, network dna, stuff) - install : apache, runtime - install app.

Set it up once. Snapshot an image (called an AMI on AWS, but applies on all cloud services). Use the image to make new identical instances. You can also script the process with (for example) Terraform.

Nearly every company I've ever worked for could get away with only using:

- packer for images

- terraform for prod infra

- vagrant for local dev

- pssh for ci/cd and config management

And in some cases I would say they'd be far more efficient with this setup.

Re: Ask HN: Getting tired of complexity in web development

#50
post #14

PHP. Use PHP, it’s so crazy easy for web development. - No compiling, - no middleware, - no state (which also means no memory leaks), - just drop a file on web server and it works (no crazy CI pipeline), - the documentation is fantastic, - it’s extremely fast, and - no surprises because it’s tried and true. PHP is so under appreciated.

Also good about PHP:

- mostly backwards compatible with easy upgrades, even between major versions

- many new features all the time for better static analysis, type safety, speed, succinct code, etc

- designed for use with Web

- PHP itself is a (good) templating langue, so no need to reinvent the wheel there

- FFI interface for integrating native code

- easy to learn

Some downsides though:

- Single threaded with typically blocking I/O and no built-in async paradigm means it’s like 1/1000 as fast as something like node for I/O heavy applications, even when using something like ReactPHP

- Need something like FPM to fire up one whole process per visitor

- Many core language features like OOP, type hints, lambdas, etc are a bolted-on afterthought and still only 60-90% there

- Still no typed resource handles until PHP 9+

- Syntax is cumbersome in many ways, though improving

Post reply on HN