All Programming is Web Programming

Jeff,

I agree with a lot of what you’re saying, though I had the following thoughts:

  • I have seen JUST as much bad client/server code in my day as I have bad web app code. Bad programmers write bad code. By Michael’s post, I guess all VB6 apps would be better than any web app, huh?

  • As someone who does understand pointers, threading, abstract classes, etc. and who does spend 99.99% of my time (recently anyway) working on web apps, I can say there are still plenty of times I use these lofty concepts. If you apply them to your web app, you end up with a better web app. You don’t have to, but Windows Forms can be really drag and drop too, and you don’t have to use any of these to fart out a desktop app either.

  • I don’t think all programming will be for the web - though I think it will be close. At some point, everything will be so constantly connected to the internet there won’t be a difference between web, OS, and applications. We’re already seeing a great deal of this. I use Google Docs probably 10 times more often than I use MS Office, for instance. But obviously there are some things you still need desktop programming for. Also, most of the web apps I’ve ever written end up needing at least 2 or 3 background processes running, as I’m sure StackOverflow did too (email processor or something).

  • I agree that the coolest thing about web apps (and iPhone apps as your other recent post said) is that it’s opened up software to so many new people. Used to be, when and if Joe Q. Public bought a computer, all he’d use it for was word processing and maybe some games. Now, that same user is likely to be on Facebook, Twitter, and might be doing his finances on Mint.com.

Anyway, good article, and don’t pay too much heed to all the stuck up C Developers. Their time will come. :slight_smile:

@David Karnok - “Plus, most of them will be in PHP.”

Oh, the humanity!

Here’s a TCP/IP stack written in PHP - this is how the world could be, if we only have the courage to make it so…

http://www.sics.se/~adam/phpstack/

All applications: web, embedded systems, drivers, OS, ect… require professionals working at their best.

I don’t know why anyone gets off on attacking and ridiculing the members of the group you wish to be part of.

If a code is a crap or not, doesn’t depend on it being for web or desktop, it depends on the programmer’s skills and the time the programmer have to deliver the application (most of the time a crap is all we can do on time).

I, as a web developer, have to oppose myself towards Michael Braude’s view of web programming.

While a website has more or less the same characteristics as a desktop application has (code-wise anyway), I’d argue that a website is actually harder to program than a desktop application mainly because of a factor that your average desktop application lacks: Exposure to the internet.

am I the only person who thinks that C++ is a crime against sanity and making someone program in it is a cruel punishment?

Michael Braude’s thinks a web app is only the client side, how clever of him.
I think he will be quite surprised when he will realise there is a server side, a database side…
Poor Michael, so far from the truth…

I guess servers spontaneously appear out of some quantum uncertainty field, write their own application layer, and architect themselves together into efficient, reliable topologies.

Or not!

I have to side with Michael on this one. In my extensive (approaching 25) years in most corners and niches of the IT industry, I’ve seen exactly what he’s talking about. Of course there are challenges in all these areas, and in my experience there is as high a ratio of useless back-end, desktop, set-top box, etc programmers as there are useless web programmers.

However, to truly make the web function, an incredible amount of hardcore work goes into making the browsers, the libraries, the server software, the databases, etc. I’m afraid there’s no comparison.

You think the “desktop” ever accounted for any large percentage of the software engineering going on about you? How myopic…

Quote:
“If you want your software to be experienced by as many users as possible,…”

Software should not ‘experienced’ by users,it should just be there and do what it is supposed to.
Just a humble opinion from someone doing embedded software at the moment…

Don’t mind me while I try to push you off your high horse… and then shoot the horse but…

Any, ANY, website could go down - hell the entire internet world wide web could blow up - and I’d be fine. Sure I’d have to drive to the bank (where… omigod… they use desktop software). But I’d survive, just as well. In fact, I think that my boss and my wife would both be happier.

Bottom line: No website matters to my well being (or anyone I know of for that matter). I’m happier to have them, but could go on just as well without them. The only people who care, are the people who make the sites, and the people who have nothing better to do with their time.

Jeff… I am disappointed… This should have been a non argument. Let’s look at this for a second. A Thick Client UI guy is whining about how easy and sloppy web UI guys put crap out there. The same argument used to be made about how non professional VB guys slap together a UI vs. the polished C++ MFC app. Why the divide and argument? Anyone who is a good engineer knows that regardless of the presentation the middle tier is where the guts are that matter. The same app can have a front end from either camp and still work just the same.

This shouldn’t have been an argument at all. A better person wouldn’t have fed into this trolling.

Will everything become NETWORK code, oh yes, that is undoubtedly so. Will the presentation layer become increasingly WWW or “Web Based” yes, because of the power of the browser and the forementioned argument of ease of implementation and rollout.

This is just a case of you getting a egotistical high horse to beat down someone who is lamenting the lack of polish in web ui that they probably spent years developing in desktop ui, because it insulted your specific ui presentation method of choice.

I am sure you have even lamented the crap web UI practices in your own field, if I had the time I would search up some of your posts to prove this point.

short answer… sometimes the only way to win the argument is not to argue. Lead by example and ignore the childish whining.

Enjoy your fail.

System software is not going to be web programming. Skizz has a good list. In addition, is SQLServer going to be a web app? What about the .NET framework? IIS? JVM? WebLogic?

Jeff, you’ve never worked on system/infrastructure software and you ignore it in your discussions. Think about all the software you use every day.

I’m glad someone else is seeming some shift from desktop application to web application. For those few who are working at a Software company, look around the various collaboration tools that you use, most of them are web apps. I agree that 3D softwares are there to stay but some of the desktop softwares are moving to the web. Even Microsoft is following Google’s foot steps in having their Office Suite as a web app.

In my current location, the number of software companies have gone down significantly over the last few years. They are instead replaced by internet companies who are making a significant profit in the current economy and they are hiring right now.

I believe the majority of people who are against Jeff’s article are working on the West Coast where there is a large number of software companies. Opinions among both software and web developers will vary depending on their locations around the world. The future will still need desktop and web apps but the job market will have less demand for desktop developers.

This is not true. Jeff, I read your blog almost daily, and this is one of the first times I completely disagree with you. Well, at least with the way you’ve put it.

ALL programming will most certainly not be web programming one day. Why? Because there are still people who enjoy movies and games and robotic toys (or occasionally the robotic tool). All of these things need to be produced and programmed, and none of them rely exclusively on the web. I’ve yet to find a JavaScript based application that can do the hardware acceleration required to dynamically create movies and 3D applications.

Take the Wii or Xbox as an example. Both make heavy use of the internet, but at the end of the day, all of that software runs inside the console’s hardware. And that’s how it should be for those mediums, because it’s far far easier to program a graphics intensive game when you know exactly what to expect of the hardware running it. Digital distribution of the game doesn’t change the target medium either, it’s still got to be run on the Wii for it to play.

Don’t forget that all of the hardware in your computer that’s not the processor itself needs to be programmed as well. That video card of yours doesn’t just spit out polygons using magic elves, someone had to write the software burned onto its many chips. Assembly (and C) programming will thus always be in high demand, because hardware is always required to actually run software and produce desirable output, even when that output is the web. Not to mention that someone has to be there to program the next electronic toothbrush revolution, and all those other gadgets that we use that aren’t anywhere near connected to the web.

So no, All programming will in fact not move to the web. Not unless we decide that all the hardware we have is suddenly perfect and cannot possibly be upgraded in any way.

I agree that all programming will be for the web, but I think it will take a different form. Constructing desktop applications are already becoming more web-like and web apps more desktop-like. At some point we’ll achieve some kind of convergence where the differences are mostly superficial. How will we argue about the abilities of programmers based on their chosen technology then?

the users don’t care. FIN.

thats why opensource is the best software, only who really loves to programming on the best way uses his free time to work on a free tool for everyone

Between this and your attitude towards COBOL (shared by Joel, discussed on recent SO podcast), you’re beginning to sound like a trailer-park-lotto-winner.

The military, financial, medical, scientific, and embedded systems that have been around forever, in a very different world with different requirements, are done a massive disservice by posts like this.

It is difficult enough to get talented developers into the “less sexy” (but immensely important) fields of our profession without this kind of pervasive, uninformed romanticizing of the already shiny and popular. Saying that “the code that actually makes the world work” is “niche” really couldn’t be any more insulting to the giants on whose shoulders you stand.

Even adjusted for the obvious hyperbole, saying that “all” programming will soon be “web” programming is a dangerously self-serving and narrow-minded position. A man with an audience the size of yours should attempt to gain a little perspective.

I used to be a delphi desktop dev. I moved to C# because knew there was very little future left in desktop development. As I did so, delphi started to die a very rapid death.

I was interested to read that it has made a slight comeback (http://www.hans-eric.com/2009/02/09/welcome-back-delphi/). The desktop isn’t dead yet!