All Programming is Web Programming


Michael Braude decries the popularity of web programming:

This is a companion discussion topic for the original blog entry at:


This same event has been happening for generations. The assembly guys laughed at the C and C++ guys. They laughed at the managed code (C#/Java) guys. Then they laughed at the Rubyists/Pythonistas and Javascripters. And so forth…



To say that you are a bad programmer if you program in language X or constructs applications of type Y is just as absurd as claiming that a woodworker constructing chairs with a handsaw is less of a woodworker than one constructing tables with a circular saw.



nothing written in java has ever been cool get over it.



One thing that I would like to add to the discussion is the fact that not everywhere in the world users are as well connected as here in the US and Europe. Most places out of the capitals in South America, Africa, Southeast Asia and such do not have a good connection available, therefore rendering the whole cloud movement unusable. Most computer users in those places rely very heavily on Desktop applications. I do see a trend here with the whole moving to the internet movement but for most places, this is something for a distant future.



Mr Atwood:
"You hope everything doesn’t “move to the web”? Wake the hell up! It’s already happened! "

Yo this guy must have been drunk or something…



I’m so sad seeing these old primitive fights… Non-web apps vs. web apps, Windows vs. MacOS, white vs. black…(sorry about last one).

These fights, when taken out of an academic environment, turn us into a bunch of angry monkeys fighting one each other, shoutin “I am the best one!”, “NO, you are not!!”, “Shut up, I am better than all of you!!!”…

This question, as many others, is a technical one, or a marketing one if you prefer. It’s not flesh to throw to angry beasts (us), who discuss it by jumping and insulting. These questions must be discussed with facts and data on the table, and you must be open-minded enough to quietly and unemotionally analyze what is good and bad in both sides of the discussion, and always ready to accept that both sides could be useful in different environments, which is usually the conclusion of complex problems.

Many of us (a lot, I’m afraid) is not qualified to do the effort required by this previous last point. Sadly, we usually start by choosing a side (an enemy), then by loading our gun, and wait and look for an angle to shoot him/her.

This monkey fighting is not the way to make progress. What’s next? A fight between top-down designers against bottom-up ones?

Whatever happens, Jeff will get some bandwith and page rank with the fight.

Oh, wait a minute…

I think I understand…



The post actually makes some valid points but is so filled with unfair characterizations about other developers and self-aggrandizing statements from the author it’s hard to figure out if it’s a troll or not.

On a separate note - what’s up with writing an inflammatory blog post then refusing to engage with the readers? Defend your position, concede to mistakes, flame away, do whatever… total silence doesn’t lend much credibility to the original article.



I also like to do Web Programming although I am quite Good in anything I do…

Just a few Days Back I have found a Reason for this…

[Quote Source=“My Profile at <a href=“”]”>"]
In some aspect or the Other, my interests in Software largely relates to the Internet and it’s ability to communicate with and be heard by virtually everyone in the World.

I was Good in C(Till the Point that I did for my Academics), Maths…

But I had not Done Real World Projects…

That was a Drawback…

AT that time I didn’t know that I could Download the Source Code of MySQL and study it to understand How a Real World Project is done using C.

Then I somehow managed a Job and was asked if I could do a Website for them…

I did nothing about the Website Building back then, but had heard from Suman Halder(suman.haldar at Facebook) that even a Class V Student knows HTML and I had read an Article in a Newspaper that a class V Son of a Software Developer in Bangalore had developed a Website for his Class’ Community…

Besides that I had heard that through Something called Google I can Search the Whole Internet that People were talking so much that every Company wanted a Website.

I said Yes…

And Thats How I am here Today…
@rungss on Twitter



Sorry Jeff, but your post from today is simply stupid.
Think only about the embedded programming… do you really think that you can create a web app to control your washer?

Or do you want a web interface to drive your car?!?

Get out of your cubicle and look around… you’ll see that there is something else running outside your server and browser.

By the way, are you planning to create a web app for the BIOS of your computer?



I don’t think an app has to be a ‘webapp’ to be useable in the new world. It just have to be web deployed. … and i agree, most web apps are written by idiots.



Well, i think you maybe DON’T know too much about what’s up on the web. You can actually, and also, YOU DO, ALL OF THESE THINGS.
You can use classes and of course inheritance, you can use pointers, references, you can and some times “NEED” to pass by reference or by value, there are tons of UML tools for php that we use, and of course we do sequence diagrams!!
Of course, there are lots of “MICROSOFT WEB DEVELOPERS”, who just learn how to use the VISUAL WEB, or something like that, and create a simple page, then using the assistants, they create 1 database, then takes 1 ASP.NET Control as you say, with 2 datasource, associate the db, and the datasources with the asp control, and then the control does everything for them… But, thats not the way you describe it after all; you want to compile something for the web? You can! Just get some book and read how POST, GET, PUT work, and things like that, and use CGI binaries that you can work in C++ or even Assembly; you create your own garbage collector etc; also, you can make your own Apache MOD, or IIS ISAPI Binary wich will be better than a CGI… You can use everything the way you want, you only need to learn how to do it… Also then, you can switch and be a real web developer :slight_smile:



Since my last post was a bit offensive with no substance, here’s some food for thought:

Moving software online has and is continuing to be an expensive task that taxes our environment. “The Internet’s Energy Drain”
Some quotes:
The servers and large data computing centers that run the Internet and other computer networks doubled their energy use between 2000 and 2006, the Environmental Protection Agency estimates. Add in the power used by computers and peripheral equipment in homes and commerce, along with a projected 75 percent further growth in data centers by 2011, and the system’s electricity needs will exceed the total current consumption of 18 million average American households.

The industry produces tinier chips and bigger, hotter arrays of chips every year. A large share of the wattage going into a data center ends up as waste heat, so 40 percent or more of a center’s energy use typically is for air conditioning. Running and cooling a single 6-foot-high rack of servers occupying 7 square feet of floor space can consume as much power as 30 typical California homes. Thousands of these racks in rooms or buildings ranging into the hundreds of thousands of square feet can have city-sized power demands.

Internet exponents claim that this vast expenditure of energy is more than canceled out by the many resource-efficiency gains that computers make possible. But such gains, where they have occurred, appear to be getting blotted out by our general resource use. (more in the article.)



Searching for “embedded” in the previous comments shows that many have already mentioned this giant chunk of the computing world that has nothing to do with web programming, and never will.

I’ll just add that, according to some source I saw not too long ago, only 2% of the processors in the world are in desktops. The rest are embedded. In that sense, most programming is embedded.

Most embedded software is not mission-critical, but when you’re working with controllers for aircraft, spacecraft, weapons, automobile safety systems, industrial robots, and the like, screwing up is just not an option. Web standards of programming don’t apply, never will.



I’ve seen very bad code in c# and very good code in php. I’ve also seen a lot of bad and good code in c or c++.
There are also many crappy desktop applications and web applications.
I don’t think that someone who writes desktop applications in c++ is smarter than person writing web applications in php.
If you want to write web applications in c++, use cgi or even write your own web server, then be my guest.
But why most smart people don’t that?
I think it’s about using right tools to get the job done. Language and tools should let developer create good business apps. The easier they are to use - the better.



All programming could (or could not, no one really knows) be web programming, but not all web programming is AJAX. Stuff like crunching numbers (and other resources consuming computation) still needs to be written in a language that guarantees speed, speed which won’t be guaranteed by javascript engines too soon.

My two cents here: it’s obvious that web apps are good for netbooks. Most people will still use desktops and laptops for CAD/Photoshop/coding. Same for other things, like real-time audio processing. I’m afraid i won’t see a web version of Cubase in the next 5 years, though I might be wrong.



…sorry but this post just show how little you know about web programming…how sad for you…I wonder why you say if you like desktop app cause of abstract classes, interfaces, what ever…have you ever seen web app on java? I don’t think so…



Being a web developer and application developer (and both reaches to masses) i can see the both ends. As much as i appriciate both guys and follower of Atwood.
I think both being more arrogant and ignoring the facts in the heat of argument. Both have their own challenges and both have their own future which cant diminish at all.
Just simple example i would add from a recent success of AppStore, As IPhone user i like the idea of webapps but never get attracted towards it but as soon as native apps appeared who scenario has changed.
Actually i beleive the future is the merger of both.
So i think as much as web would evolve the emebedded programming too and definitly there is still more learning curve writing desktop or embedded softwares as compared to web programming.

P.S. Remember we still use desktop softwares for the web itself and the to write for the web even. I like twitter but i still prefer tweetdeck. I like facebook but i prefer to use facebook integerated within my mobile or tweetdeck.



Jeff, this blog entry is a huge disappointment to me. You’ve gone to some lengths in the past to avoid getting into the petty arguments and “religious” warfare between languages, but now it turns out that it was just because your “religion” isn’t a language, it’s a platform.

Rather than maturely analyse what this dude was trying to convey in his post and then provide a meaningful response, you’ve gone completely bonkers! What happened to you?! You know all the advantages and disadvantages of both desktop and web app programming, and where they fit - you’ve had discussions along these lines in StackOverflow podcasts - but now “all programming will be web programming”… Have you been stuck in StackOverflow mode for so long you think that’s all that exists?

As an actual comment on the topic, it seems to me that the difference here is really the that between programmers and scripters (particularly those scripters who believe they are programmers - and those employers who don’t know the difference), not the difference between web and desktop. Unfortunately, for every great webapp written by a decent programmer, there are 1000 pieces of crap written by incapable scripters.



“hey don’t understand compilers, concurrency, 3D or class inheritance” - LOL.

Whatever platform/technology your app is targeting, you still have to build a Turing machine that produces the outputs you need. Everything else is accidental complexity. If you manage to come up with a good Turing machine (and by good I mean “maintainable in the long run”) then you are a good programmer regardless of the underlying platform/technology.