All Programming is Web Programming

In other news, the PU on my microwave will be replaced by a mini web browser running a single JS app, and nuclear stations will be running on Firefox, which will develop interrupt service routines and an interesting resemblance to an operating system.

/sarcasm

This is appropriate: http://despair.com/blogging.html

Love your blog, but I have to utterly and completely disagree with you on this one Jeff. AJAX has and seems to continue to be a parallel universe for those who missed the boat on why design patterns, property change listeners, and separating view from model from controller are all really good things. The web world started with people who thought they were “programming” by cobbling together HTML and CSS, then came javascript and really f-ed the whole thing up.

I’m not saying it’s not possible to make really amazing things using AJAX, it’s just really hard - harder than it ought to be in fact, and the real travesty is that most AJAX programmers I know don’t know any different, so they “work harder, not smarter” - isn’t that the AJAX mantra? It should be.

Jeff:
I don’t agree with all of your thoughts.But defintely i see some of the web apps competing with desktop apps.

In my experience i have seen some managers struggling hard to find desktop applications folks that too developing unmanaged applications.

Why is Raymond chen’s blog getting increased number of viewers? If he has been a web guy i bet he wouldn’t get much hits:)

I heard from some consultants that they are getting less billing rates in web compared to destkop apps.

In some scenarios wi32 folks spend quite a few days a week struggling to resolve a memory crash dump. One has to look at the assembler code to find the rootcause.

Pretty soon, all programming will be web programming.

Do you think a device driver will be written in web language? Tell me does this happen in 10 years, i’ll quit my profession:)

I agree with some of the web folks that putting efforts into any project wether web or desktop does involve challenges.

Michael Braude any comments now !! I think he is already bowled and gone back to pavilion :stuck_out_tongue: .

So don’t try to post such type of self centered intellectual thoughts again.

Cheers

this article got completely misunderstood.

check out chromeexperiments.com I just found it today and it pretty much sums up the argument pretty well =)

You make a good point about it being wrong to have a knee-jerk reaction that web apps (or the programmers who write them) are dumb. It feels like that sometimes, but I think it’s just a manifestation of Sturgeon’s Law (90% of everything is crap) – there’s a lot of web programming these days, so there are a lot of dumb web programs and programmers, but perhaps the same 90% as every other kind of programming.

But I think you’re totally wrong about everything being web apps already. I think that because your programming and business are web-oriented, it may seem like that to you. But most apps are not web apps, and shouldn’t be. None of the software I’ve worked on for 20 years runs in a browser, shouldn’t, and none of the tools I use to build or test it run in a browser or need the web. Though I’d have a hard time checking email (or goofing off surfing the web) if I lost my net connection, it wouldn’t really affect my work if the net were turned off most of the day.

You’re probably right that if the goal is to be run by millions of people, you should develop for the web. But this isn’t, and shouldn’t, be the only goal. (Just like if the goal is to make lots of money, you should be in oil or porn. But it’s silly to mock the professions of everybody else.)

Most apps are not run by millions of people, and shouldn’t aspire to be. “Software craftsmanship” is not just about maximizing the number of users, it’s about solving problems well, with well-constructed robust code. Many worthwhile problems (and sometimes the coolest and most challenging) only need to be solved by thousands of people, and not in a web browser.

BLEARGH

One more question: Do you consider an iPhone or Android app to be a web app? I do. When I wrote an Android game, I discovered, to my great joy, that I wouldn’t have to do anything related to XMLHttpRequests, CSS, or javascript.

If that is the future of web programming - I’m all for it. If the future of web programming is trying to make sure the javascript you wrote works on all past and future versions of Firefox, Internet Exploder and Safari, I will go look for another job. Burger flipper anyone? :slight_smile:

Also web applications can have installation bundles. Web applications are many times not only about html pages and simple scripts, but have back end servers, databases, and interfaces to other systems etc.

I do admit that we need more business oriented approach in software development. We need systems that support business engineering, not just some crafters who craft some business logic into source code. But engineering still beats crafting in some areas. Sure a crafter can create something neat and working with the right and simple tools. But we need also science and engineering in other areas.

People have started talking about shifting the paradigm more to business and crafting, but they fail to see that the paradigm should and has been supposed to be all the time on its own part also in business, not only in programming. Let software engineers concentrate in engineering and use business engineers to engineer the business with the software engineers. Smaller projects can rely on just crafting, but we still need standards, even web standards, and that sounds like engineering.

This post shows really nice examples of “black vs white”, “always vs never”, “all vs none”, “good vs bad”, “.Net vs Java” kind of reasoning… Come on people, there’s never any black or white situation, there’s always context and reasons. That kind of thinking is called extremism and besides having triggered such emotional responses on those comments, it’s also the reason for so many of the problems in this world… think about that before using any of those words…

I predict this thread will be full of web programmers expressing their righteous indignation.

Oh, wait, I’m too late! Teehee!

Atwoods Law: Word Harder, not Smarter

All the consumer apps that make no money will be on the web, and all the ones that do something important won’t.

(End flamebait)

Ok…so if everything is on the web, why do we need complex OS for? We only need web browser. Why do we need computer for? we can close the circle by using graphic TTY’s :slight_smile:
I really hope that not everything will be on the web one day. There will always be some app’s that require to be optimised for speed and efficiency.

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

Gah, sometimes this blog is all noise and no signal. I guess this is let’s get our egos together and have a pointless argument day?

A more moderated response might have been that all GUI development, whether you are doing HTML or win32, isn’t that challenging. I’ve done it all, and in each you basically just plug legos together inside whatever GUI framework you are using.

However, the GUI is just the frontend to whatever backend you are trying to expose, and backends are often interesting. In fact, the back end for a lot of google’s web apps are pretty dang sophisticated… after all, they need to server enourmous data sets to millions of users. Think about what google maps backend looks like! There’s no dinky SQL database backing that up, nor could there be. There’s some seriously interesting problems in that space.

Michael Braude is right that your average internal corporate web app doesn’t face these problems, and can generally be written as a CRUD app with a sql backend. However, the average win32, cocoa, win forms, whatever, app is the same. A bunch of GUI crap plugged together on top of a not very interesting backend. That’s enough to solve a lot of problems. shrug It really depends on the problem space you are in, not what GUI toolkit you are using…

this is a whole lot of nerd rage. alot of you guys need to chill out and think about what Atwood is even talking about instead of just taking this as a personal insult.

Jeff is focused on apps that a user will run on their home PC or mobile device. apps that do common home PC tasks like word processing, or doing your taxes, or running an entertainment application, or playing some media.

and with regards to that subset of the programming world he’s right, all of that stuff is in the process of migrating to the web.

Some highly educated and trained individuals just love arguing over how dumb stuff is, than using their skills to create, improve products and services that help the quality of life.
Here is an example:
The developer complains about programming nowadays he thinks that software development should still remain and electrical engineering and mathematical skill so that he can also brag to his friends that are doctors and lawyers that his profession is somewhere close to the top.
Jeff Atwood now uses this as an opportunity to comment on, which drives traffic to his site, which he can then use to generate revenue through advertising, yes using his uhh dumb web code because he isn’t smart enough to do anything else.

public Income BackToCodingAndMakingMoney(ref String pProjectName);