Javascript is the future and Jquery may be the solution. I love how every person has their (mis-)interpretation of Jeffs posts.
âDoesnât Google kind of confirm this with their new OS?â
Isnât it great when technology succeeds an is met with broad adoption before it even exists?
Jeff, IMHO this is a bit too radical, at least as for what the net is in 2009.
The web is just another place the programmers and users have access, like cpu silicon, memory cells, disk sectors etc.
It has it pro and cons, and pros are great and make it the ideal place to deploy many type of applications.
But today cons are huge too, and Iâll be glad to be called wrong by you when we will have memory and CPU intensive application like compressors, video encoders, professional photo/graphic/animation/video editors etc running on the web.
Or when the net will be so robust and secure we will keep our main live filesystem (with active files, various virtualized running systems, paging, backup, indexing etc) on a web-based disk service, and when users will prefer working on Google Office rather than on MS or OO office.
Saying that web-programming is for dumb programmers is ridiculous, but not more so than saying that âPretty soon, all programming will be web programmingâ.
Yes, web-applications get all the press, and they may have the largest number of everyday users. But in terms of engineering effort, web-apps are but a tiny, TINY fraction of the worldâs software development.
Software is EVERYWHERE. Itâs in your dishwasher, your car, the time-table displays at bus-stops, your phone. It controls the subway, airplanes, trains, traffic-lights, the Space Shuttle. Some of the most complex software in the world is in medical devices: Advanced 3D x-ray machines, MRI/CAT/PET/CT scanners, Ultrasound machines. Software also controls vast (VAST) numbers of machines the general public never sees, let alone knows about. Examples Iâve personally worked on include wafer-steppers, electron microscopes and sorting machines.
All these examples (which were simply what popped into my head in the last minute or two) are not web-based. Nor can they be, since they are largely tied to specific, custom hardware. On top of all this, thereâs a huge duplication of effort involved, since every manufacturer develops their own software.
In short, you may be focused on web-development (and good for you, too!), but donât underestimate the amount of non-web development happening in the world.
Iâm a T-SQL developer so I disagree with most of this article. I am also of the opinion that web apps often suck. Itâs amazing how in this dual and quad core world we live in we are forced to click a control/menu/link in a web app and wait anything from 1/4 second to 5 seconds (or more) for the application to respond and do as we ask. I suspect the sluggish all-the-manouverability-of-a-747 performance of many web apps will be with us for a long time. At least desktop apps typically count the response time to user interaction in milliseconds rather than seconds.
Of course all the arguments around access to large user bases and ease of rollout/distribution are true. But if your userbase is only a handful of people, as is often the case in an office environment, then these are less important.
Best troll award T_T
You know how to boost your traffic, do you ?
Lame.
The problem with web apps is simple.
They are a let less comfortable than desktop apps, where everything integrates and can be customized.
Second, data transfer rate/network response time make apps react less snappy than I want and slower than my dedicated desktop PC. This is not going to change soon, and will never reach the same level as remote connections are slower due to the greater distance (speed of light et al.)
But even then you need many servers in many places of the world to reduce the distance (and thereby response time) to your users. This is expensive.
The cloud: do you really trust other companies? Secure encryption means yet another level of significant overhead. So the amount of data should better be small.
Then an Internet connection is required, I donât have it always when traveling.
A big advantage is that web apps can be accessed from anywhere (if you have an Internet-connection) and that they are cross-platform.
But given the limitations I prefer desktop apps with network capability. Web apps have a long way to go until they offer the same user experience as desktop apps.
Given all these points I donât think web apps are primarily for simple data entry or query applications. For this to improve, really major investments are necessary (but latency will always be worse compared to local apps).
First, paper as a means for data storage; Now, all programming should be web programming? Jeff, why not just post what you mean: âlow level languages scare me, so why not pretend I âpreferâ high level concepts (as opposed to being unable to actually use anything with less hand holding).â
People implementing photoshop in javascript remind me of people building replica models out of matchsticks - sure, it took some skill and looks cool, but Iâd prefer to spend my money on the well made model with full functionality.
Well, youâve lost a reader. This is exactly the type of bullshit rhetoric I thought I was getting away from by reading your blogâŚI guess everythingâs a silly language war in the end though, eh?
@Jeff Atwood
âThereâs nothing sadder, for my money, than code that dies unknown and unloved.â
For some reason, this immediately made me picture an Island of Misfit Code.
On a side noteâŚ
My CAPTCHA: aortas special
âWhy yes, I do consider my aorta special, thank you very much!â
âThe reason most people want to program for the web is that theyâre not smart enough to do anything else.â
I donât think that the platform would defy whatâs technically âhardâ and âeasyâ. I think the people who build webapps like Google Analytics, Magento Ecommerce System, Joomla CMS or say deviantart.com would be less of a coders than people who build desktop accounting programs.
many interesting points of view. but in any case it is all about 50/50. there are brilliant developers among web developers as well as the desktop ones.
Almost every electronic device in the world has a microcontroller in it, and chances are that microcontrollerâs code was written in C.
Itâs not all about your high level GUIs. Someone has to make the machines work, and theyâre sure as hell not going to do it with javascript.
âPretty soon, all statements about the future will be meaningless generalizations.â
Wake up! This has already happened.
Where is Jeff?
Heâs gone DARK!!!
I respect this blog, so suck it up and say âI guess I wasnât thinking that through when i said thatâ or âThe internet is full of blog posters with random opinions.â
BUT DONâT GO DARK!
A (reasonably) good comparison of usability of desktop applications and web applications would be âOutlookâ and âOutlook Web Accessâ. We have both available on our company, but no one uses the âWeb Accessâ as long as the desktop version is available.
Of course having âOutlook Web Accessâ available is a must to have access to mails from outside the office - I am trying to make a point by comparing usability, speed and reliability.
So, even if a web application version exists, I do not think desktop version of Outlook is going to dissappear anytime soon.
Normally I like to read your blog even when it is one sidedâŚItâs your opinion that we are reading after all. But Atwoodâs Law? Isnât that a bit too much?
"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.
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./QUOTE
what? what does that have to do with jeffâs statement?
The web is a conglomeration of really, really, bad technologies.
HTML - Super verbose. It was one of the earliest technologies of the web, and feasible at best for writing documents. For documents, HTML doesnât compose well at all (thereâs no client-side includes, the original intent for frames and iframes are socially deprecated). For applications, itâs really bad, because the UI has center stage over everything else. You include JS from the HTML? No. The app is the JS⌠they got it backwards!
From a cultural point of view, HTML is standardized and pretty well understood. But the commonplace rendering malformatted HTML without even noting it as an error was unfortunate. Silent errors are the most deadly.
CSS - An underpowered toy extension to HTML. It didnât make sense to give it its own syntax. The layout mechanisms are unbearable! Every good UI language has more than float and absolute positioning!
Javscript - JS is a nice language. But itâs not smart to use such a high level language for the bottom of your stack. Javascript should have been a bytecode language with a well-specified virtual machine. That way, you are free to use whatever language you want to write code for your web sites. A VM is also going to have a lot less room for fucking up the implementation (looking at you IE6âŚ). It could run faster, so that when I inevitably DO have to create an abstraction layer to work out discrepancies between competing browsers, it doesnât slow to a crawl.
Javascript, again, should have better composability. Why canât I import a script from a script if it has a dependency? Why canât I grab the text of some local HTML file on my server to stuff into a box? It should also have had all the nice things that are proposed in HTML6 that seemed too dangerous in the 1990âs to let a web browser do (like write to files).
The Internet is held together by fucking duct tape.
Iâve thought about this some more, and come to the shocking conclusion that Jeff is still wrong here. Even excluding all embeded software, and all other software that could never be web software, I think the correct conclusion should be:
Pretty soon, all web programming will become desktop programming. If you donât think thatâs a cause for celebration for the average working programmer, then maybe you should find another profession.
The desktop is the very embodiment of doing the most sensible thing that could possibly work. If that scares you â if that sounds too difficult for you â then I humbly submit that you have no business being a programmer.
In the future the web will only be used as a means of delivering content to desktop applications. In fact itâs already happening - consider Twitter, a web app that nobody uses, instead they use desktop apps to read, post and search the twitter content. Everyone uses apps like Outlook to read their gmail, they use RSS aggregators to read their Google Reader feeds, etc. Why? Because the desktop has much better performance, usability, and most importantly customization, than any web application can. Just think how good superuser would be if it was running on the desktop, and you could change the awful color scheme.
Of course, not every web app will be replaced with a desktop app, only an idiot would say that, but any application that could be run from a desktop, but isnât will be dinosaurs, waiting for something more adaptable to replace them.
Phenâs Law: any application that is written in JavaScript, will eventually be written in something better.
â
Captcha: Kissingerâs fondant.