All Programming is Web Programming

It’s interesting to see how many people don’t understand that when Jeff wrote, “Pretty soon, all programming will be web programming” he was employing a bit of hyperbole.

“The fact despite constant development that C++ has been caught with no adequate standard library support for concurrency. C++ might disappear not because of web programming: but it may well get supplanted by programming languages that support concurrency well, or run on platforms that manage that stuff for the user.”

@Andy: c++0x features support for concurrency, along with a whole host of other changes. Hooray, auto!!

I hate writing for web. I prefer desktop or embedded programming.

Breaking news:

  • Embedded programs won’t be web apps.
  • The web browser won’t be a web app.
  • The OS the web browser is running onto won’t be a web app.
  • Games (real ones) could become sort of web apps, but just like Ethernet keeps its name when technology changes this would mean the web keep the same name while not really using the same (incredibly bad!) principles that are in use today (xmlhttprequest and all this crap). Interestingly, salvation could come from Google in this domain. But this kind of web app programming will be just like real programming anyway – so we should not consider that for the purpose of this discussion.

Indeed, almost everything you take for granted when writing your shiny web app is not (and cannot be!) a web app.

Talking about embedded programming again; it has been for years that it is the field for which most computers are produced. And I think this trend is still increasing.

It’s not because you don’t know much people that don’t write web app that they do not exists. It’s not because you don’t understand how computers work that it is not important for being a real programmer.

The assumption of a continuous Internet connection is rather pretenious. Ever been on an airplane - yes, some do offer network connections but I wouldn’t call them the norm - or gone out into the middle of the sticks where you don’t have cell coverage? I love the cottage.

You make take it for granted but when your network connection goes down for 12 days all the web apps in the world no longer matter. You may see it as an edge case, but for mobile applications on smart phones it should not be ignored.

FYI the google and firefox folks are working on offline web applications (gears?) and I’m sure they’ll come along but we’re not there yet.

Web applications fail with web servers/farms/data centres. Who owns the data when you use a web application? At best you are trusting the web application provider to keep your data private.

Lots of great issues and reasons why desktop applications are not dead. One might make the argument that web apps are just extensions of their big brother desktop apps.

Did you know the browser is dead? Desktop apps will be extended to the next delivery mechanism too.

+1 for Atwood’s law!

The dumbest post I ever read on this website. It would be a really sad day when (if) all the programming goes Web. Lucky for everybody, it ain’t gonna happen.

Sure, you can write Photoshop in JavaScript, it will probably even work on crappy little images taken by your cell phone. If you want to do some quality work with 10+ megapixel bitmaps, layers, transparency masks etc. – there is no way around a desktop app.

By the way, Google hosts your photos on the web, but to do any meaningful editing, they give you Picasa – a desktop app that you need to download and install.

How about Sonar, Cubase and other music production systems – musicians need latencies under 10ms (that’s why standard sound drivers aren’t good enough, and we need ASIO). I don’t think they’ll go Web ever.

And then there is all the server and embedded software… Port it to Javascript, too??

@regis

“Jeff tends to round - I think he means 99%, which is probably accurate. Once the infrastructure tools reach a certain level, the only thing left to write is applications.”

Jeff tends to engage in exaggeration, hyperbole, and sweeping generalizations. But I don’t think that is the problem here, it’s more that Jeff just understand that there is a world beyond his own circle. This gives the impression that anyone not developing web or desktop apps doesn’t exist.

You seem to be making the same mistake here. Do you really think that 99% of programming is applications? There’s rather more programming going on than the infrastructure tools.

I agree with his comments to the extent that web programming has to be the most boring type of programming in existence. I learned how to program because I was interested in computers and the mathematics behind them.

Why would I want to waste my time writing web applications when I could be doing something fun and exciting like developing a new programming language or working on an operating system kernel?

The most interesting thing about web programming is database design and seeing as that is pretty dull for the most part I think I’ll stick to doing the stuff that is worthwhile.

I guess the post mentioned that there will be always software which won’t be ported to the web. But there is a huge amount of software which would make sense to convert and which will be converted.
Also it’s expected that the SaaS market will grow by 22% in 2009 http://www.sramanamitra.com/2009/08/14/concur-rightnow-netsuite/
This is a bug increase in times of crisis and speaks for itself.

it’s a big increase :wink:

And all these modern carpenters with their nail guns and laser-guided saws will never know the joys of swinging a hammer 8 hrs a day. In their lonely station, they will never experience the commrodarie of the 2-man saw. Never to make an oak plank from a recently fallen timber, drug by an ox, floated down a river, and gently hand planed into nothing but an f’n board!

"I don’t consider server-side programming ‘web programming’ because SOA encompasses all mediums. Once you get into writing web services and DAL’s you’ve left the world of aggravation."
I hate that term SOA. I should be considered a SOA developer because I create web services and connect different parts with another.
And three tiers at least: Let’s make it real good and do 5 layers. All abstract classes and Interfaces implementing every class and all sorts of fancy stuff. What a clever developer I must be (ironic). And all I want to do is a simple grid displaying some info and a contact form.

KISS - Keep it simple stupid!!!

This is probably the first post Jeff where I can 100% agree with you and disagree 100% with “web is not worthy” statement.

First, broad generalizations are useless for specific scenarios. Desktop has its place (shrinking as we speak) and Web has its place (expanding as we speak).

Contrary to Michael’s claim, web development DOES require knowledge of all the finer things he listed so eagerly. While most of the Web technology does run in interpreters (JavaScript), they have gotten much much better over the years. We can also use compilers to produce executable code which renders its output on the web. Web is the new “green screen”, nothing more, nothing less. A new output device :slight_smile:

Building a large-scale web application is not a trivial task and has nothing to do with building a few web pages. Anyone who has written web-based business applications knows of all the technical challenges and pitfalls. Michael, apparently, has been living under a rock at Microsoft somewhere and didn’t get any of this even though the majority of Microsoft’s technical content now talks about web development. Michael, take a look at www.msdnmag.com. You’d be suprised how much cool stuff you will find there.

Programming has multiple facets and it is all fun - to me anyway. Whoever doesn’t enjoy programming should look for another line of work. “Output devices” don’t really matter but performance, elegance and sound technical design DO matter - regardless of what you are programming and for what device, OS, language or audience.

If you think all of software will be a web app, I can’t wait for you to drive a car that has all of its processing on the web. Do you want to wait for the cloud to do the computing when you hit the accelerator? What about medical imaging such as Ultrasound, MRI, or CT? A lot of processing is done locally so that the data is compressed down to something you can store off on a server. D

securityhorror: I think I speak for most others in the “web app development sucks” camp when I say it doesn’t matter that web browsers render better and run javascript faster. Who cares about that when the process of developing code that depend on html/css/javascript and maintaining the resulting code is absolutely horrendous?

The fundamental problem really lies with the majority (not all) of the web dev community being ignorant of designing for maintainability, scalability and arguably most of all, understandability by fellow coders.

@CodingHorror

As a matter of interest, which bits of Michael Braude’s article do you actually disagree with?

You say it’s absurd to say that web development is not challenging, but Braude says it is not challenging for him. Surely he’s the only one who knows what he finds challenging.

You say it’s absurd to say web development attracts sub-par programmers, but then you say “Web programming is far from perfect. It’s downright kludgy. It’s true that any J. Random Coder can plop out a terrible web application, and 99% of web applications are absolute crap.”, which certainly seems to confirm that it attracts sub-par programmers.

You say it’s inevitable that all programming will be web programming, (though you also say that not all applications should be web applications), but Braude contradict that. He only says that he hopes everyone is wrong, as he personally doesn’t want to end up doing web development.

He says “The reason most people want to program for the web is that they’re not smart enough to do anything else.”, which I certainly think could have been better phrased, but everything in your post seems to agree with this. “The web is the very embodiment of doing the stupidestsimplest thing that could possibly work.”, “Writing Photoshop, Word, or Excel in JavaScript makes zero engineering sense”, “Recasting software into web applications empowers programmers to get their software in front of someone, somewhere. Even if it sucks."

This post reads as “will do anything for traffic.” On another note, I’m glad your audience isn’t just web developers sucking off each other.

Interesting article…
A couple of points:

  1. Users really could care less if what they use is a rich client internet enabled app or a web app, just look at the myriad ways people use twitter or access their email. What they really care about is the value of the service or activity they are engaging in and how quick and easy it is for them to get going with and using it. It is really annoying that the users always end up being the last ones considered in these kind of discussions.
  2. By focusing on the web app only approach you are doing your own business StackOverflow a HUGE disservice. I as a developer will find way more value in StackOverflow if you would provide an offline enabled rich client that will allow me to tag the areas of interest that match my need and keep the questions and answers for those area synched up. Being able to use this while on the train, subway, dead zones or simply not having to pay for WiFi while away from the office will make the whole service much more useful to me. Now I know this will kill your ad revenue but guess what I never ever click on adds so you are not making any money on me right now but I will gladly pay $60 a year for an offline enabled rich client.

He is addressing the level (rudiment knowledge) of programmers that show up on the job at a certain layer of abstraction.  The smartest often gravitate toward complex problems and it is not building web apps and web guys don’t have (or remember) the rudiments of CS.