All Programming is Web Programming


You might want to change that to “all application programming will be web programming.” There is still a great deal of embedded and systems programming being done that has nothing to do with the web, and couldn’t if it wanted to.

#22 is something all the “desktop” guys must see to understand what Jeff stresses on - simple, command line, “social” (yeah, I drank the kool-aid), WEB.
But look at the power it has conceptually as a shell. And yubnub operates on free time and just hosting plan fee.
The utility, power of the command line (just the pipe), and ability to “interop” for an unlimited number of programmers, all one URL away.
Programs are meant to solve real world problems. Web programs made by Google, LinkedIn, eBay and Paypal are solving problems previously unthought of, simply because there was no en-masse angle.
Obviously out on the street you get all types of people. But there is a street that you can use too. Imagine having to obtain expensive permits to walk along the National Highway system. Imagine having to pay space tourism fees to go from New York to Calif. Imagine having to spend 30 years getting the expertise and knowledge, and most importantly, the contacts and references to be able to talk to Nicholas Negroponte or Stephen Hawking. The web solves a whole new class of problems, not even envisaged by the “only desktop” crowd.

You have to do something that would look quite disgusting in public to become a parent. But you do it, don’t you?
Or do you use syringes, test tubes, surgery and sterile environments and such other technology (of real quality and challenging complexity like what the web crowd calls “complex theoretical constructs”) to become a parent?
It sucks (pun NOT intended), but it works, right?
You get the baby, nice and whole, crying and pumping fists!!
Sure the web interface looks attractive, is coded near shit (literally) but the back-end server is very cool (GoogleFS, Hadoop, MapReduce, virtualisation, RDBMS, etc)
Both parts have a job to do.
If people thought elitist, the web would not exist and you would not be able to read this.
And when Javascript is the language used to construct compilers (pyjamas, i think) you have a very new debate.
Democracy is about letting Joe Plumber walk on the same street as Dr. Joseph Whizkid.
All said and done, someone needs to take training web developers seriously and make it easy to visualize the concepts which experts are able to do easily because of superior visualization skills. And of course, security. I don’t know if Joel or Jeff have done something like this before, but methinks if they both graow a new pair of hands we can ask for a large set of in-browser visualizations of data flow and reversible frame-by-frame machine state visualization.
Reversible debugging movies, generated from source code and Testing Code, maybe?

Oh, and opensource under dual GPL2/3 or even Affero GPL.


“So forgive me for being smarmy and offensive, but I have no interest in being a ‘web guy’. And there are two reasons for this. First, it’s not a challenging medium for me. And second, because the vast majority of Internet companies are filled with bad engineers – precisely because you don’t need to know complicated things to be a web developer.”

I don’t see anything wrong with Michael’s post. He is making a personal statement. He also said that there are of course very intelligent web programmers and sophisticated web applications - but that doesn’t reflect the majority of stuff you encounter on the web. Again, I simply don’t see anything wrong with that either.

He doesn’t dare to make generalized statements like:
“You hope everything doesn’t move to the web? Wake the hell up! It’s already happened!” or “Atwood’s Law”. Nevertheless I think you have taken his thoughts out of context to make a somewhat sensational post for your own blog out of it.

Obviously not all programming will move to the web, as already stated by many people. (embedded systems, sensitive systems like ATC, federal systems, aviation, military, systems for factories, …).

So there will still be a place for programmers like Michael, who are simply not interested in web applications. Is that a crime? Do we have to chew on his blog post, just because we aren’t clever enough to creativly think up something on our own? I think not. You are better than that Jeff. Please try harder on your next post.


icanhazwebdev!!! Really? Or ploy N+1?
If opensource not allowed, how icanhazwebdev?
icanhazforum? icanhazREST? icanhazCMS?


You have it all wrong!
Pretty soon all programming will be iPhone App programming.
The web is sooo last year!


And another thing, if web programming is so awful, why are Google and Marc Andreessen both building new web browsers?


Skizz said it first, but a gaffe this big needs reiterating.

Just because you could plausibly write a compiler, OS, or browser in Javascript, doesn’t make it “web programming”. Furthermore, you can’t run the web (e.g. deliver JS apps to a user) without non-web components. Turtles all the way down is impossible.

“Coining” Atwood’s law is just an ego-stroking way of stating that Javascript is Turing Complete. You might as well say that all programming is network programming, assembly programming, an optimization problem, or a finite state machine.


Well. Web, not web, whatever. Adobe Air! :slight_smile:


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

Well Jeff, of course there are a lot of desktop-like apps running today in browsers, but in the end, ¿who is using them? Only a tiny fraction of users.
Computer geeks apart, most users still use desktop office suites, desktop videogames, desktop video players, desktop windows mobile/symbian/iphone apps, desktop photoshop, desktop autocad, etc… the list has no end.
Of course, everybody uses web apps, at work and home, but the mass market is far far away from using only web, and i really think it will never be the case.

You also forget all people in the second and third world (unfortunately more than who lives in our “first world”), where internet access is far from common, ¿do you still think that web has doomed desktop already?

There is also another important point, ¿java applets, silverlight applications or even javascript intensive applications like google docs are still “web apps”? ¿only because them render content into a browser? I really see them more like desktop apps, doing that, rendering themselves into a browser window, and consuming “web services” to do their work.


You are wrong. I know and have done significant work in all of the technologies (and grok all concepts) enumerated by the OP, and I still make a better living in Assembler and COBOL. And mainframe applications, interfacing with GUI front end, middleware, or nothing outside of Big Iron at all, teach you how to write profoundly good SQL.

You’d be better off view the WWCB (World Wide Codebase) as a growing organism. The newest outer-layer, the “interface” with the non-programming world, is on the web. But the internal organs still function, develop, and can not be dispensed with.


once again, you’re WRONG WRONG WRONG.

Ever write anything embedded?


Plus, most of them will be in PHP.


Example of Atwood’s law in action: Kunth’s layout algorithm for TeX has already been implemented in javascript:



“Should all applications be web applications? Of course not. There will continue to be important exceptions and classes of software that have nothing to do with the web.”


“Pretty soon, all programming will be web programming.”

… Contradiction, anyone? … anyone? … anyone?


This has got to be a joke. His qoute, “That’s because most people think that “everything is moving to the web,” and if that’s the case, then I can’t imagine being happy as a software engineer for the rest of my life. So for my sake, I really hope everybody’s wrong.
” sums up the hysteria. Where did he write this ‘Blog’ post? On one of the bathroom walls in bldg 42? No! It’s on the freakin web! :stuck_out_tongue:


I don’t agree with what Michael says, but I do have a similar feeling towards web programming, but for different reasons.

Web programming languages are designed* for quickly hacking together web apps, and as such, have very little internal structure or appreciable mathematical properties. Put simply, they are a mess.

This is fine if you just want to hack something together quickly, but in the larger picture, it has done nothing to help the struggle towards finding a language that can represent abstract ideas, and thus decrease the amount of time it takes to program something. If better work was done in language design, we should have languages by now in which you could program very complex system in just a few thousand lines of code. As it stands, such programs are utterly filled with repetition and redundancy. It shouldn’t be that way.

On a more personal and down-to-earth front, the inefficiency of languages like JavaScript has real practical consequences. For example, Google’s new O3D API for creating client-side OpenGL accelerated 3D applications is all in JavaScript. Google has done a great deal of work to accelerate the execution of JavaScript, but due to the ugly, interpretted nature of JS, there’s an unbreakable barrier that cannot be passed.

  • I say they are designed that way to give the designers the benefit of the doubt. I was going to say that they simply didn’t know what they were doing, but that (might) be a bit harsh.

Well the fact that Michael works for Microsoft is a bit disturbing. Perhaps it is linked in with how Microsoft first missed the boat on the importance of the internet.


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?


The reason why people don’t program for the web is because they think they’re smarter than everybody else. :stuck_out_tongue:


TV did not kill radio. Web applications will not kill desktop applications.