Live data from Hacker News

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

news.ycombinator.com

21–30 of 688 posts

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

#22
Yeah it is. Django is a good example of a framework that is popular and well documented overall. Yet when a new Django revision comes out the books and documentation from third parties take months to follow on. So by the time I've learned all the major changes in a revision well enough it's already party over for that revision. Official support is just ending because they have a new revision out. Unless it's an LTS build but that means there is a whole lot of new stuff in these non-LTS releases.

I for one would prefer to have Django and other projects abandon the minor revision numbers like 1.8 and 1.9 in favor of what Asterisk did and call them what they are. Version 8 and Version 9.

That'd make it feel less hacky and if done right they could encourage longer support cycles for these major version releases.

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

#24
Yes. I feel like we're in the dark ages right now.

JavaScript - Dynamically typed, does not scale what so ever. Code written in it becomes 'read only' very quickly. Impossible to refactor.

CSS - Also becomes impossible to manage. Who knows if the class you wrote is or isn't being used in HTML or JavaScript somewhere. Same problem, read-only, it only gets bigger and more unmanageable.

HTML - At the heart of it, the foundation is the layout engine and positioning, and it sucks. Flexbox was supposed to bring sanity, but I feel like we're still waiting on it.

Put these three stooges together and you get where we are today. Rewriting the same damn app every year in another framework in what can only be described as some sort of high paying purgatory.

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

#27
post #12

I think it feels hacky because it is, and it's natural. And by natural I mean this is how spontaneous complex systems evolve. Internet is a result of half of a century of millions of people's contributions for different and often opposing goals and priorities. For other examples of hackiness take a look at other complex natural processes, like multicellular living creatures and ecosystem in general.

But Is hackiness how we humans want to do engineering? I don't think that biological systems are considered ideal models for building bridges or planes. Is software different?

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

#28
post #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 so…

Cars, airplanes, ATMs... IMHO for every well defined standard or torque wrench tolerance there's a rule of thumb and little piece of tape somewhere.

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

#29
The internet as a whole is one giant, hacked together system. There's no doubt that, with a magic reset button, we could build an internet that is vastly more secure, efficient and reliable than the current one.

But that's the nature of an emergent, distributed technology like the internet. Once the concept was born we ran with what we had, and once adoption hit a certain point it became impossible to start over again and do it correctly. I see it as an innate challenge that comes with the domain, like EM interference for electrical engineering.

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

#30
Not gonna comment on most of this, as I'm right there with you. Web development is a gigantic shit sandwich. But I have to at least respond to this:

> 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,

No, you do not. UIs are state machines (not like state machines, they actually are state machines). It is impossible to have a stateless interactive UI. If it is stateless, it might be a web page or document, but it is not a UI.

Any attempt to make a "stateless" UI will fail because of this impossibility. What many half-baked frameworks will attempt to do is make them as stateless as possible, which is a recipe for disaster, as they can't actually get rid of the state, they can only move it to some location where it wasn't designed to store state (Routes? Cookies?), or to some location where the semantics and comprehensibility have been compromised. In fact, this statelessness is precisely one of the major problems with web programming...you're trying to bolt something inherently stateful onto a format that was designed for statelessness (HTML was created for documents, not apps).

Programmers in general, and UI programmers in particular, need to get over their fetish for statelessness. Sure, modeling a stateless problem with stateful code is ridiculous, but if you try to model a stateful problem with stateless code you are going to have a much worse time. Modeling state is hard...don't make it harder by pretending it doesn't exist.

Post reply on HN