Live data from Hacker News

Ask HN: Getting tired of complexity in web development

news.ycombinator.com

81–90 of 292 posts

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

#81
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…

I think what we need is a new spec that compiles down to whatever HTML/CSS/JS/WASM is supported by browsers over time. Waiting for browser vendors to agree on a new spec takes far too long. The same thing happens in all of comp-sci: we create a new programming language that compiles to an old language (C to Assembly) because changing the old one takes longer than inventing a new one.

Ultimately, that's what all these different frameworks actually are though. Look at how many different languages over the years have compiled down to JS? CoffeeScript, TypeScript, Elm. And all the frameworks that have smoothed over the native DOM API: React, Angular, JQuery, too many to list.

They all implement these concepts in Javascript. But if we don't standardize and allow browser vendors to implement at a lower level, we will always be taking a speed hit and on the framework treadmill. We need to take what we know works and do it.

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

#82

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…

And I think that’s why some stacks like Hotwired and Phoenix have decided to let the server handle a bunch of common JS use cases so that you don’t need some all of the frontend complexity like with React

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

#83
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.

I tried out PHP recently for a project because I have fond memories of it, but didn't end up going with it. I want server side rendering for the SEO benefits, but I also want some good 'app like' interactivity on the page. Doing the app like stuff with PHP is possible, but you kind of have to have mirror routines, one to load the data, and other api calls to update the data using whatever binding library you choose.

The good client side rendered js frameworks, react/svelte/vue have SSR solutions, but they also have their own servers for enabling SSR - next.js and sveltekit. So if you need SSR, SEO, good client side interactivity - you might as well as used those pre-packaged servers. You also have the added benefit of working in a single language across the stack. Laravel's front end recommendations aren't great - https://laravel.com/docs/9.x/frontend

I do like how react packages html/css/js as components and that you get static typing across the typescript to html bindings which makes the code more maintainable. Also react has a pretty good front end component library with MUI. You kind of have to 'kitchen sink' the front end libraries with PHP as there's no compiler to weed out the ones you're not using - plus you need to use a CSS library, and 'bring your own javascript' to utilize them with where MUI includes everything wrapped as components already.

Interested in others thoughts on this.

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

#84
> Has anyone either switched from doing web development type work to something else they enjoy more for similar reasons?

Yes, I quit being a FE developer in 2019, after around 13 years. There were a few reasons, but one of them is just what you describe. Looking ahead to the rest of my career, I knew I wanted to make things and not be a manager, but I could not imagine myself living in the world that front end development had created for the next 20 years and also being happy.

In my case, I had been a hybrid developer / designer for most of my career (as a contractor, I juggled roles based on what the client needed). So, my mid-career change was that I just switched to not doing contracting, and only doing design.

It's not that I enjoy design more than programming, but I do think it's a more sustainable path. I never used to program in my spare time, but now I do it a lot because I miss the fun parts. I'm sure as hell not doing React on the weekends, though.

The design world has its own frustrations, but so far I think it was a great choice.

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

#85

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? A lot of people value more enhancing their résumé than solving problems

Simply this

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

#87

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?

I highly disagree with everyone else. This is the answer why:

Because there's no clear or definitive answer to What's best the "best" architecture or system for building these things. The entire industry is full of people making up stuff without anyone truly knowing anything.

For the shortest distance between two points we can calculate an answer. there's a definitive optimum. The question of what's the best web service is infinitely more complex. The inputs are huge in number and even the definition of "best" is complex and hard to define... So in short we essentially have no mathematical theory for software design and technology that can help us define what is "best." It's the same problem they have in Art and Design.

So nobody actually knows what is better BUT they think they know so they build wrappers around bad technology or they build completely new frameworks NONE of which actually provably move the needle forward. In fact the needle can move backwards and nobody knows!

When something can't be calculated, it's "Designed." This is the difference between "design" and calculation. Anything that's designed is basically some human wandering around in an area almost aimlessly without ever truly knowing what is optimum. They just use their gut and find some sort of answer that somewhat works. This is the current and past state of the programming industry. That is why on some intuitive level we can see that a lot of the industry looks like it's moving backwards.

Let's say we do have an equation that can take all the components that go into web application development and give you a numerical rating on how good it is. If we had such a model, my best guess is that if we took a system from the past and compared it to a system now, the Modern system will actually have a LOWER numerical rating.

But that's just my guess. As of now, nobody can truly define what that numerical rating represents and nobody knows whether some new framework or design methodology actually increases the amount of points. We are doomed forever to exist in this endless design loop until someone finds a mathematical model that can prove and layout the big picture from a quantitative perspective.

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

#88
post #75

Earlier quoted context omitted.

This point of view is a fallacy itself. ORMs are about productivity and maintainability. Some of us write enterprise applications where ORMs are a godsend. They're not a replacement for being knowledgeable in SQL whatsoever.

It's just my opinion based on 20+ years of developing data management solutions across thousands of customers.. any framework employs a set of beliefs and that creates a box you are constrained to think in, hell SQL is one of them boxes. You say "They're not a replacement for being knowledgeable in SQL whatsoever." .. so what are they then? Edit: I once spent/wasted almost 2 years of my life trying to develop the ult…

Not sure if you've used Entity Framework, but you can do compos (with logic) amazing complex queries with relatively little code in a way that is statically typed and super easy to maintain. I'm talking about pulling heavily structured data from the database without having to pull from flat tables and structure it yourself server side.

Also working with databases with thousands of tables and relationships, hundreds of developers, weekly database schema updates, etc..

We still use raw SQL, stored procedures, jobs, profiling to understand current db hotspots, etc.. ORMs have their time and place just as everything else.

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

#89

Earlier quoted context omitted.

> request sudo from IT If you work for a company that doesn't give you Sudo on your own machine as a developer by default, find a new job Don't work for companies that still treat their professionals like children.

Easier said than done. This style of doing things is very common in large corporate environments such as financial services. The first time anybody works at a place like this they are shocked by all the IT red tape, but it's an interesting (and frustrating) rite of passage. It takes maturity and experience to understand that there is always a reason for "stupid" complications.

I think it's very easy to not work there, just leave and don't go back. I suspect most people that stick around either don't know any better or do it for the money/status/whatever and not for the technology.

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

#90
Web development is complex and has always been. 15 years ago you'd deal with complex hacks to work around the table based layout mess, the horrible browser APIs, javascript's prototype inheritance, Apache configuration and, god forbid, networks of .htaccess files.

10 years ago you'd deal with communicating stuff between language borders, what interaction to handle in javascript, what in ruby/php/perl/whatever and how to interact between the languages.

Now you deal with build processes, transpilers, bundle size optimization, framework configuration and broken react state updates.

It's intrinsically complex, deal with it.

Post reply on HN