> Seriously, web programming is for chumps,
Really? The web rules because you don't have to install software on any computer other than your own server and HTTP naturally handles networking and caching for you, allowing your program to run anywhere. True, the W3C is completely impotent and the modern web is a bit of a kluge, but no so much more so than everything else that the no-install, run-anywhere benefits don't dominate. Web is the ONLY way to go.
> Let's talk about having to support multiple version of multiple browser on multiple versions of multiple operating systems on multiple platforms,
You probably haven't done it for a while. Since IE8 or so, FF, IE and WebKit are actually reasonably consistent at rendering things. I use reload 8+ browser windows every time I made a change, but now I just use FF and test things across browsers near the end. Works fine.
> all with multiple sized screens.
Okay, I'll give you that one, especially with mobile. But if you're not coding a site with more sidebars and ads than actual content, HTML does as good a job as Java's Swing, Awt and layout engines in other GUI languages and is far simpler to code.
> Let's talk about the expectation of being an expert at a horrendous number of technologies like HTML, CSS, Javascript, Ajax, GWT, Java, JSP, EJB, XML, JSF,
> Facelets, JPA, JPQL, EL, SQL, PL/SQL, Regex, BASH etc. etc....for the one fucking project!
You do need HTML, CSS, Javascript, SQL and one server-side language. Those languages all have different purposes and do them well. But:
- Ajax - Jquery wraps this quite nicely
- GWT - Just don't
- Java - Does anyone actually write applets? And if you picked it for your server-side, shame on you.
- JSP, EJB, j* - See above
- XML - Why? Haven't we all switched to Json by now?
- Facelets - WTF is that?
- Regex - If you don't know regex, find another career. And that's not web-specific in any way.
- Bash - For the web? I hope you're not sticking bash scripts in cgi-bin anymore?
> Let's talk about the expectation of being an expert at optimising different servers like Apache, Tomcat and JBoss.
- WTF are you doing that you need to optimize for the server. Oh ya, you chose Java for your server-side. That was your first mistake.
> Let's talk about the expectation of being an expert at load testing using various load testing suits.
I think you're remembering the pre-internet days when you didn't need load-testing because there was no way to connect all these computers to generate a load in the first place. If we just wrote desktop apps that connected to a SQL server, you'd have to load-test that too. Except without HTTP, you'd be writing your own client-side and middleware code to handle all the redirection, load-balancing and caching necessary when your load tests revealed that the expected use would cripple your single database server.
> Let's talk about the dismal state of Flash and Java Applets and HTML5.
Ya, I'll give you that one too. But that's why we learned to do most of what we need with HTML/CSS/JS instead.
> I pity the poor web programmer (such as myself), for his or hers is surely a tortured life.
Hey, if this was easy, they wouldn't pay you so much to do it.