<story><title>Ask HN: Is web programming a series of hacks on hacks?</title><text>Been doing application development, primarily backend development, for a number of years.  I&amp;#x27;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 &amp;#x27;fast learner&amp;#x27; who quickly knows the system inside-out, even when thrown into some area that I&amp;#x27;ve never seen.&lt;p&gt;Lately I&amp;#x27;ve been doing some web development on a fairly long-lived and large code-base, but I&amp;#x27;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&amp;#x27;m familiar with the history, been using the Internet since before the web)  I&amp;#x27;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&amp;#x27;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.&lt;p&gt;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?&lt;p&gt;Can you recommend any good resources to help me orient my mind to this new way of thinking?</text></story><parent_chain><item><author>pixie_</author><text>What&amp;#x27;s sad is the zillions of hours wasted by engineers on an inherently flawed stack. What&amp;#x27;s sad is how ridiculously complicated it is to create and manage relatively simple UIs. What&amp;#x27;s sad is an entire generations of programmers growing up and thinking this is normal.&lt;p&gt;Programming is supposed to be about creating platforms for each other so we can continue solving higher (and higher) level problems.  This web crap has us stuck fighting in the mud going nowhere.</text></item><item><author>captainbenises</author><text>This post makes me sad. Javascript, CSS and HTML can all be used powerfully, performantly and in a managed way where anyone can come on board and contribute. Facebook, Google and Microsoft all use the web stack to run huge companies. To broadly paint this web stack that so many people poured countless hours into making, as &amp;#x27;impossible&amp;#x27; to use is doing it a great disservice.&lt;p&gt;But hey man, that&amp;#x27;s just like your opinion.</text></item><item><author>pixie_</author><text>Yes. I feel like we&amp;#x27;re in the dark ages right now.&lt;p&gt;JavaScript - Dynamically typed, does not scale what so ever. Code written in it becomes &amp;#x27;read only&amp;#x27; very quickly. Impossible to refactor.&lt;p&gt;CSS - Also becomes impossible to manage. Who knows if the class you wrote is or isn&amp;#x27;t being used in HTML or JavaScript somewhere. Same problem, read-only, it only gets bigger and more unmanageable.&lt;p&gt;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&amp;#x27;re still waiting on it.&lt;p&gt;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.</text></item></parent_chain><comment><author>TheMagicHorsey</author><text>Yes.  Exactly what you said.  It bothers me when people think solving broken Javascript problems is a valuable way to spend our civilizations scarce skilled manpower.</text></comment>
<story><title>Ask HN: Is web programming a series of hacks on hacks?</title><text>Been doing application development, primarily backend development, for a number of years.  I&amp;#x27;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 &amp;#x27;fast learner&amp;#x27; who quickly knows the system inside-out, even when thrown into some area that I&amp;#x27;ve never seen.&lt;p&gt;Lately I&amp;#x27;ve been doing some web development on a fairly long-lived and large code-base, but I&amp;#x27;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&amp;#x27;m familiar with the history, been using the Internet since before the web)  I&amp;#x27;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&amp;#x27;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.&lt;p&gt;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?&lt;p&gt;Can you recommend any good resources to help me orient my mind to this new way of thinking?</text></story><parent_chain><item><author>pixie_</author><text>What&amp;#x27;s sad is the zillions of hours wasted by engineers on an inherently flawed stack. What&amp;#x27;s sad is how ridiculously complicated it is to create and manage relatively simple UIs. What&amp;#x27;s sad is an entire generations of programmers growing up and thinking this is normal.&lt;p&gt;Programming is supposed to be about creating platforms for each other so we can continue solving higher (and higher) level problems.  This web crap has us stuck fighting in the mud going nowhere.</text></item><item><author>captainbenises</author><text>This post makes me sad. Javascript, CSS and HTML can all be used powerfully, performantly and in a managed way where anyone can come on board and contribute. Facebook, Google and Microsoft all use the web stack to run huge companies. To broadly paint this web stack that so many people poured countless hours into making, as &amp;#x27;impossible&amp;#x27; to use is doing it a great disservice.&lt;p&gt;But hey man, that&amp;#x27;s just like your opinion.</text></item><item><author>pixie_</author><text>Yes. I feel like we&amp;#x27;re in the dark ages right now.&lt;p&gt;JavaScript - Dynamically typed, does not scale what so ever. Code written in it becomes &amp;#x27;read only&amp;#x27; very quickly. Impossible to refactor.&lt;p&gt;CSS - Also becomes impossible to manage. Who knows if the class you wrote is or isn&amp;#x27;t being used in HTML or JavaScript somewhere. Same problem, read-only, it only gets bigger and more unmanageable.&lt;p&gt;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&amp;#x27;re still waiting on it.&lt;p&gt;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.</text></item></parent_chain><comment><author>raverbashing</author><text>Complicated to create UIs? Win32 was complicated. MFC was complicated. GTK is hard&lt;p&gt;HTML and CSS aren&amp;#x27;t as complex as those. Not even close</text></comment>