Live data from Hacker News

Ask HN: Is web programming a series of hacks on hacks?

news.ycombinator.com

1–10 of 688 posts

Ask HN: Is web programming a series of hacks on hacks?

#1
Been doing application development, primarily backend development, for a number of years. I've always found it quite easy to move up and down the stack and work anywhere from UI down to the bare metal in a number of environments and languages, and always the 'fast learner' who quickly knows the system inside-out, even when thrown into some area that I've never seen.

Lately I've been doing some web development on a fairly long-lived and large code-base, but I'm finding it MUCH harder to wrap my head around than application development ever was. I think my difficulty is that the whole environment feels so... HACKISH... everything is a horrible hack on top of a horrible hack. (yes, I'm familiar with the history, been using the Internet since before the web) I'm not even talking about the fact that everything has to be stateless, in fact I develop desktop apps as stateless even driven UIs as well, but just the fact that it really feels like there's no consistent way to do anything, there are 1000 different frameworks, all with their own way of doing the most basic tasks, and my experience is that they all ... well... suck.

Am I missing something? Is it me resisting change? Is web programming really that bad? Is it really just that I need a new mental paradigm?

Can you recommend any good resources to help me orient my mind to this new way of thinking?

Re: Ask HN: Is web programming a series of hacks on hacks?

#2
I don't know that they're all "horrible" hacks, but yes. We still generally don't know the best way to build a complicated website. We can't even agree on the simple stuff -- for example Angular2 and React, two of the hottest frameworks, pursue wildly different philosophies.

I think it's exciting. It keeps me motivated to learn new things, and really think about the code I'm writing.

Re: Ask HN: Is web programming a series of hacks on hacks?

#4
There is some stuff that actually makes logical sense, like CSS Specificity, but yes a lot of it is hacky. I mean, negative margins? Clear? Thirty different lines of browser-specific rendering tweaks?

WebKit is great, but any attempt to reform the competing browser shitshow reminds me of that xkcd comic about competing standards: https://xkcd.com/927/

(former web developer -- get out while you have your sanity)

Re: Ask HN: Is web programming a series of hacks on hacks?

#5
There are a lot of articles out there arguing that the web wasn't designed with modern web apps in mind, and that that's a source of a lot of strife, so you're not alone in this feeling. But there's also a lot of articles that argue that that even though it wasn't designed with this kind of use in mind, that there are ways it can work well.

Out of curiosity, what's your stack look like? Not all stacks (or components of the stacks) are created equal, by a long shot. Some devs love to try out brand new or new-ish frameworks/dbs/etc that haven't got all the kinks worked out yet, simply because it's the new hotness.

Re: Ask HN: Is web programming a series of hacks on hacks?

#6
Isn't everything? With web programming that's very much a feature, not a bug. You could say that Perl's - the first major web back-end programming language - TIMTOWTDI paradigm is a feature of the web itself.

MFC, Swing, Cocoa, Qt all offer more or less consistent experiences but none of those is as flexible as what you get with the web, which also is a feature, not a bug, because with a certain OS you also want a somewhat consistent, vendor-independent UI / UX across applications.

That said, if you aim for consistency, there are widely used frameworks and tools like Bootstrap, Modernizr, jQuery or Angular that can help you in that regard as well.

Re: Ask HN: Is web programming a series of hacks on hacks?

#7
I think all programming is, but Web programming is _particularly_ that way.

The least bad stack I've ever used is Reagent ( https://github.com/reagent-project/reagent ) - a Clojurescript library for React. Perhaps that's just _adding_ layers of hackery, but I found it made sense.

Post reply on HN