Agreed. Comes off as biased fanboy-ism. It's easy to knock web programming because of how low the barrier to entry is and how any idiot who knows msqli_connect and a few simple HTML tags usually starts calling themselves a programmer. But really it takes just as much knowledge and expertise to be a "web guy". Just understanding how the client browser interacts with the server, the server to each of its components (the server software, database software, etc.) and the myriad of languages that need to interact to form a useful web app can be just as complex as writing software and understanding compilers, interfaces, classes, objects, methods, etc.
I don't like how the argument devolves into "this stuff I do is complicated so I'm smarter and your stuff is simple so you're dumb". I'm a "web guy" and I had a programmer call me yesterday to help him with a simple Wordpress upgrade, SSL certificate, and an upgrade to phpMyAdmin.
Software can be easy or hard just like web apps. I think maybe the big difference is that web apps can get wider exposure more easily than desktop software as all you need is a browser to run it so they're just more visible. There are plenty of crappy desktop software apps and I make them all the time when I play with C++.
I (a systems programmer) can write web code just as well as a good web programmer can write systems code: badly. That web frameworks and infrastructure tend to be more forgiving than bare hardware and system architecture is likely why the stereotype of the incompetent web programmer has come about, but the quality of a good web programmer is roughly equivalent to the quality of a good mobile developer or a good systems programmer or a good desktop application programmer.
> I don't like how the argument devolves into "this stuff I do is complicated so I'm smarter and your stuff is simple so you're dumb".
This itself is a microcosm of the attitude that is espoused by a certain insecure subset of techies where someone who doesn't understand computers is an idiot.
To me this is a clear indicator of someone whose self-esteem is tied up in identifying as an intelligent person, but who in reality is not nearly as smart as they think.
Intelligence can be applied to anything. Sure, system programming gives a nice barrier to entry such that someone with an 75 IQ will probably never even get something to compile, but mostly it's just curiosity plus time and effort applied to the craft. Brain power can be applied to anything whether it be programming, art, sales, sports, management, or investing.
The bottom line is all programming is limited by the capabilities of human intelligence, and all areas of programming are ripe for development by the smartest minds we can muster. Someone throwing stones at one area or another just to protect their self image is a simpleton as far as I'm concerned.
I think you're attributing to insecurity something which could be equally attributed to the sort of hubris which engineers are infamous for. To me, my problem domain is rich and varied, but your problem domain is mostly trivial. I understand HTML, stylesheets, server-side scripting, and client-side scripting at an intellectual level. Ergo, all problems in the web programming arena must be easily comprehended.
To a web programmer, however, the web development field is full of interesting, challenging, or frustrating issues such as incomplete or inconsistent standards implementation between browsers, supporting legacy browsers, applying solid visual design principles while also applying solid software engineering principles, dealing with a single-threaded execution environment for fundamentally parallel operations, falling back gracefully to older technologies when newer ones aren't installed on the client side...and so on.
So the systems programmer who looks at web programming and says "pft, trivial. A solved problem" is not necessarily exposing his own insecurity, merely the blinders that he is wearing to the depth and breadth of problems which do not interest him.
Sure, there are many potential reasons. Hubris could also be rooted in insecurity for that matter. My point has very little to do with the underlying reasons though.
The point is all programming has big challenges, and the list you cite for web programming doesn't really do it justice. Web programming encompasses all the toughest issues of network and scalable computing, a set of theoretically difficult problems as deep as anything in systems programming.
I don't like how the argument devolves into "this stuff I do is complicated so I'm smarter and your stuff is simple so you're dumb". I'm a "web guy" and I had a programmer call me yesterday to help him with a simple Wordpress upgrade, SSL certificate, and an upgrade to phpMyAdmin.
Software can be easy or hard just like web apps. I think maybe the big difference is that web apps can get wider exposure more easily than desktop software as all you need is a browser to run it so they're just more visible. There are plenty of crappy desktop software apps and I make them all the time when I play with C++.