Ask HN: Is web programming a series of hacks on hacks?
31–40 of 688 posts
Re: Ask HN: Is web programming a series of hacks on hacks?
#32* Multiple browsers that respond to the same code slightly differently.
* Multiple platforms that all need to be supported.
* Countless different screen sizes to consider.
* Standards that aren't supported across browsers and platforms (and different versions of each in use)
* Hundreds of undifferentiated web frameworks that all claim to do the same basic task better than each other.
* Thousands of ways to host, distribute, and scale your application.
* Millions of ways to monitor service availability.
* Billions of ways to create APIs for your service.
Professional:
* Too many technologies and skills needed to do the job.
* Design skills required if you want to create anything significant by yourself.
* The average web developer is practically an encyclopedia of technology yet full stack developers are still undervalued, low-paid, and mostly replaceable.
tl; dr: It takes a very special kind of person who doesn't immediately develop serious neurosis working as a web developer today.
Re: Ask HN: Is web programming a series of hacks on hacks?
#33Or, would they say "You guys are bloody idiots. Come back when you shopped at the galactic clue store."
Re: Ask HN: Is web programming a series of hacks on hacks?
#34And the DOM was.
Re: Ask HN: Is web programming a series of hacks on hacks?
#35John Carmack also agrees with you, though not about the web per se: https://twitter.com/ID_AA_Carmack/status/771749108780523520
This is how I feel too. If I had to put a finger on the root cause, it is because of the speed demanded. E.g., going back to the left-pad problems that happened in the Node ecosystem, I know lots of folks that know how to do that, but when speed comes up and they can just add a package, that's what myself and others are often going to do.
Re: Ask HN: Is web programming a series of hacks on hacks?
#36Re: Ask HN: Is web programming a series of hacks on hacks?
#37Re: Ask HN: Is web programming a series of hacks on hacks?
#38It was not long ago that I was in a similar situation like you, all these overlapping technologies looked unnecessary and redundant. Just the node ecosystem by itself, felt like a pile of crap that depended on a bigger pile of crap. For a simple application like "hello world" in React, I have to choose between a large number of possible combinations of packages and install and configure god knows how many of them.
But once you take sometime to adjust and familiarize yourself, you discover that each one of them is a little jewel and are the quite opposite of crap or hack you initially thought. At least that's the conclusion I arrived to.
So, my advice is to just take your time to familiarize yourself with as many technologies as you can in every aspect of web development. After the initial shock, you will start appreciating things and you will realize that they are made by excellent engineers and each has its own merits.
Re: Ask HN: Is web programming a series of hacks on hacks?
#39Re: Ask HN: Is web programming a series of hacks on hacks?
#40 > a fairly long-lived and large code-base
Such could be spaghetti on any platform. To understand web programming, I wouldn't start with something big and old. I've been doing web programming for more than a decade, and I still don't get the majority of web frameworks. Start instead with the basics, and work your way up:1. HTML. Don't view the source of websites and web apps to understand HTML. Read a good book or tutorial. HTML Dog is a good one.
2. CSS. Likewise.
3. JavaScript. Definitely don't try to learn JavaScript by viewing source either. Instead, maybe HTML Dog. There's also Douglas Crockford's _JavaScript: The Good Parts_ and David Flanagan's masterpiece, _JavaScript: The Definitive Guide_. I don't know how I would have ever understood JavaScript if I had not taken the months to read Flanagan's book cover to cover.
That takes care of the client side. For the server side, it should come much more easily. Basically you have a database, like I'm sure you're used to. Then you need a web server, like Apache or Nginx, and some kind of glue language like Python or PHP. Many people put a lot of code here. But I like to keep it pretty thin: like the database and the browser just talking to each other. Even so, just running this side of the affair can be a full-time job in itself.
I recommend at some point familiarizing yourself with the HTTP protocol in general: all the headers, request methods, etc. Basically once you can use Telnet to imitate a browser requesting a page, you'll feel more comfortable with how simple it really is.