All Programming is Web Programming

QUOTE"As a software developer, I am happiest writing software that gets used."
Don’t think thats right either…My client wouldnt be paying me a dime if we were writing software that he never used.
what? what does that have to do with jeff’s statement?/QUOTE

That was in reference to the “gets used” part. I write software because I know that my client “uses” it…and that makes me happy knowing that it “gets used”. If my client didn’t use it, he has no reason to pay me to write it.

^^ Forgot to mention that I was referring to desktop software that we develop.

@Nick, true, but then all logicians gave up long ago. Illogical arguments are more the issue of the public at large, and not just constrained to the illiterati of computing science.

I’ll see your red herring and raise you an ad Hominem.

Everything Micheal says is true, there’s definitely a trend among Web Developers to not take the challenge seriously, this is why many IT projects often fail, and they will tell you, it’s not important for them to understand they just need to make it work.

Like that, you defend your profession. Web Development is, in a way, a challenge if you’re up to it. However It’s absurd to say that everything has already moved to the Web, because it’s not true. A great deal of applications that let you build Web Applications will never be built as Web Applications because it not feasible.
Google Chrome is an example of what some might consider something like that, but everything Google, is backed by other software, software which is not Web Applications just because they use HTTP, REST or what ever the protocol is called.

My point is this, the very infrastructure of the Internet is not Web Applications, it’s Web Servers. Web Applications make sense when deployed in certain environments. But they can not, and will not replace Desktop Applications in the foreseeable future. They have already gained grounds in new areas with great success (causal gaming) but failed miserably so in office space (Google Apps is not a great success in terms of replacing Microsoft Word as a word processor).

My two cents.

“Let’s put aside, for the moment, the absurd argument that web development is not challenging, and that it attracts sub-par software developers. Even if that was true, it’s irrelevant.”

Congrats, Jeff. You missed THE WHOLE POINT of the blog entry you flamed, because the sub-par-ness of web developers is what his rant WAS ALL ABOUT.

I didn’t not read the entire set of threads above. But none of you guys understand anything. Web Browsers are becoming more and more like the desktop every day. Some day in the next two to three years the web browser will be no different than the desktop. It will have all the same functions and features and it will be bloated with tons of crappy code that is useless. At that point someone will develop a new form of communicating and we will start all over once again re-developing a new operating system with less functionality then what we already had. After many years we will make that new OS have all the same cool things the old system had with one or two new cool features. It’s a never ending cycle. Bottom line, the web will become the desktop.

Everyone knows all the good programmers were lost with the death of VB6

I can’t ever see the software at my local GP, or my accountant’s office going to the “web”. Browser maybe but not the web. What about the billing system in a hospital? - web based you think.

I don’t want to be in an aeroplane that is landing, being directed by an air traffic control system that is running in IE, especially when it renders the runway slightly differently in IE 7 and IE8!!

Even the small Ma and Pa companies that run their accounting systems and anything else with sensitive data, are a long, long way away from accepting web based software. These people think “Google” is the Internet and use the search box accordingly.

The truest statement in Jeff’s post is that “there will continue to be important exceptions and classes of software that have nothing to do with the web”.

This topic has become the latest religious flame war and I’m surprised to see Jeff get sucked into it.

This article is sadly true. It is a shame that so many successful websites are operated by many who only know the simple concepts of programming. These websites almost always have vulnerabilities. As garbage pollutes the earth, these websites tend to pollute the internet. These sites that have ideas that could be successful, almost always fail due to lack of knowledge and security flaws.

I couldn’t really resist and had to write a follow-up to this post as well.

http://return42.blogspot.com/2009/08/web-vs-desktop-applications-neverending.html

I like all the javascript monkeys chiming in with a smug reference to Google as if they could have whipped up GFS and a massive worldwide infrastructure with ajax and php.

Jeff, you need to get a contradiction checker installed on your computer. If your argument were turned into a formal logic equivalent it would make logicians everywhere cry.

Michael Braude’s blog post is about Javascript, PHP/Ruby/Perl and HTML, CSS more than it is about Java, C# or any strongly typed language. So I’m guessing most of the offended parties in the comments are from this background.

He’s neglets to mention a large proportion of websites are written using Servlets, JSP, ASP.NET:

“They don’t understand: virtual methods, pointers, references, garbage collection, finalizers, pass-by-reference vs. pass-by-value, virtual C++ destructors, or the differences between C# structs and classes”

And

“They also know nothing about process. Waterfall? Spiral? Agile? Forget it.”

Well not many web projects use waterfall (none in my experience), as that would be suicidal for most of the poorly defined prototypal projects.

Mr. Jeff, you aren’t any different from Michael. Both of you have biased views and I can understand it, as I’ve seen that every mind has some bias. But try and understand that different things exist for different purposes.

Web programming and desktop application programming are two entirely different things. If you are into one, that doesn’t mean the other sucks. Get over these childish arguments.

.NET vs C++ argument was “Da Bomb” until some time back, and now it is Web programming vs Desktop application programming. Doh! Give us a break.

My point of view (as computer scientist), web pages are only the top of the iceberg that stays out of the water. Apart from all usability, HCI, design messages all other UI stuffs (which is really cool to work on as well), what’s behind it will be always heavy programming, the same we did for desktops, servers and distributed applications. So, it might be possible the whole world of development will become “web”, but it will never substitute what’s “behind the scene”.

I agree with some parts of what Michael said, because any dummy dumby donkey book of HTML, PHP, ASP, JSP or whatever that will help someone produce a webpage and think they are professional software engineers, and we are getting more and more stupids in the market, unfortunately. But we will always watch scientists and software engineers coming with great solutions even if there are stupid people at the end of the process. Michael can keep himself in his position the whole life creating systems without even touch an HTML file.

The good will be when the “move to the web” start getting more software engineers and scientists than dummy book’s readers.

It’s the software that reads a sensor and lifts a railroad drawbridge.

You don’t lift bridges without a confirmation from the network after scheduling has made sure that there’s no trains coming. Most serious SCADA systems have a web front end. Whether an embedded system that’s accessible by a web front end constitutes ‘web-programming’ is a different question; I’d say most such systems have a web interface to their open architecture, rather than being web-applications. Just because the web is pervasive doesn’t really equate to all programming being web programming.

It’s the daemon that processes millions of payments in the middle of the night in a server room hidden away and is only accessible by command-line.

IME that’s quite rare. Lots of businesses want SOA ( whether or not it has merit ) and integrated enterprise systems, even if it’s just something which dumps the daemon’s configuration files in the right place for it to pick up that night.

It’s an HMI interface 400 feet up in an industrial crane lifting 40-foot containers off a container ship.

Do you really think that such systems aren’t automated and networked? How does the data get to the customer tracking a container?

It’s the daemon that tracks products walking out of a store that haven’t been paid for.

Again, the trend is to network such systems and collect their information, and the data for such networked devices ends up on the web. If your company is only offering non-web enabled daemons but your competitor offers web-enabled daemons - and given the trend of point of sale systems to be browser based, that’s a fairly obvious offering - you’re not competative.

It’s the java component that activates that little buzzer telling you your table is ready at your favorite fancy restaurant.

I’ve not seen these, but again, the point of sale system triggering it is likely to be “web-based” - networked and running on browser UI.

Where is the web in all of that? Huh? Where? The web is the niche.

Most of the systems I’ve worked on have had a web interface. Typically that’s been about one day’s effort on a six month project ( a REST API rather than a UI ), though I’ve also created quite complex SVG and JavaScript UI for non-web distributed applications ( using XMPP rather than HTTP ); there’s a fine line between a distributed application using SVG and a desktop application using XAML.

I don’t think that ‘web programming’ is a particularly useful term, as most of my programming in technologies that originated on the web - Java, XML, XHTML, JavaScript, XUL, SVG, RDF - have not been on ‘web sites’, and the programming I’ve done which has been on and of the web has been trivially easy compared to the bulk of the system. Adding a REST interface to a simulation of missile flight dynamics isn’t rocket science, but is ‘web programming’. Creating a good user experience ( whether on a web site or a stand-alone application ) isn’t ‘web programming’ - “learning to program has as much to do with writing interactive applications as learning to touch type has to do with writing poetry”.

It’s the software that reads a sensor and lifts a railroad drawbridge.

You don’t lift bridges without a confirmation from the network after scheduling has made sure that there’s no trains coming. Most serious SCADA systems have a web front end. Whether an embedded system that’s accessible by a web front end constitutes ‘web-programming’ is a different question; I’d say most such systems have a web interface to their open architecture, rather than being web-applications. Just because the web is pervasive doesn’t really equate to all programming being web programming.

It’s the daemon that processes millions of payments in the middle of the night in a server room hidden away and is only accessible by command-line.

IME that’s quite rare. Lots of businesses want SOA ( whether or not it has merit ) and integrated enterprise systems, even if it’s just something which dumps the daemon’s configuration files in the right place for it to pick up that night.

It’s an HMI interface 400 feet up in an industrial crane lifting 40-foot containers off a container ship.

Do you really think that such systems aren’t automated and networked? How does the data get to the customer tracking a container?

It’s the daemon that tracks products walking out of a store that haven’t been paid for.

Again, the trend is to network such systems and collect their information, and the data for such networked devices ends up on the web. If your company is only offering non-web enabled daemons but your competitor offers web-enabled daemons - and given the trend of point of sale systems to be browser based, that’s a fairly obvious offering - you’re not competative.

It’s the java component that activates that little buzzer telling you your table is ready at your favorite fancy restaurant.

I’ve not seen these, but again, the point of sale system triggering it is likely to be “web-based” - networked and running on browser UI.

Where is the web in all of that? Huh? Where? The web is the niche.

Most of the systems I’ve worked on have had a web interface. Typically that’s been about one day’s effort on a six month project ( a REST API rather than a UI ), though I’ve also created quite complex SVG and JavaScript UI for non-web distributed applications ( using XMPP rather than HTTP ); there’s a fine line between a distributed application using SVG and a desktop application using XAML.

I don’t think that ‘web programming’ is a particularly useful term, as most of my programming in technologies that originated on the web - Java, XML, XHTML, JavaScript, XUL, SVG, RDF - have not been on ‘web sites’, and the programming I’ve done which has been on and of the web has been trivially easy compared to the bulk of the system. Adding a REST interface to a simulation of missile flight dynamics isn’t rocket science, but is ‘web programming’. Creating a good user experience ( whether on a web site or a stand-alone application ) isn’t ‘web programming’ - “learning to program has as much to do with writing interactive applications as learning to touch type has to do with writing poetry”.

Can you play DVDs with the web browser yet?

@Beth S
"So when will I be able to write an interactive 3D application that runs inside all of the popular browsers without any special plug-ins?"

Right now:
http://tulrich.com/geekstuff/canvas/perspective.html

(requires support for the canvas tag, which is in HTML5; firefox and chrome at least should be able to run it)

Pretty soon, all programming will be web programming.

The people who write the actual web browser are laughing at this.