All Programming is Web Programming

Whew…well said!! :slight_smile:

The web is a platform. I agree with Jeff that the client side of web applications is pretty old fashioned. HTML 5 (if we get it in our lifetimes) try solves some of these problems. But languages like JS need to be more strongly typed, and the ability to ship off compiled functionality to the browser (nothing like getting all your IP ripped off).

I disagree that any old idiot can show a web application together, true web development is an art form. If you’re not that type of idiot dragging and dropping visual components, and actually write the stuff by hand, you need to be skilled in:

ASP.net (C# or VB.net) or both || PHP, Java, ect
HTML grand mastery and have an idea of XHTML
CSS grand mastery
JS mastery

You’re also going to need to know at least 3 tier development, otherwise forget getting a real development job.

Besides this - you’re going to need to know SQL mastery
XML, Regular Expressions, Web Services, some XSD, XSL, XPath
While we’re throwing stuff in might as well mention IIS and Apache
Oh and none of this can really get applied without some idea of the server product, and permissions,

Cryptography is also widely used lately, so might as well get skilled up on that.

Now you’re in a position where everyone expects everything yesterday, and new technologies are coming out all the time, so you better keep your skills up.

Isn’t the latest rage, nHibernate and JQuery? - better make a stop, and pick up these skills too.

Web is - and always has been a presentation layer. It does not extract in anyway from applied computer science.

Lets also make a big mention of the fact that - browsers are buggy as hell and they don’t render stuff exactly the same - so … a knowledge of the browsers, and their differances, and a keen interest in emerging browsers wouldn’t hurt.

Maybe its not 3d game design, or Formal method development, but there is still an enourmous amount of practical skill that goes into true web development.

Sorry if it doesn’t feel challenging enough for you - it sure is damn challenging for me.

"You really are saying that all programming will be web programming? All programming? "

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.

The future is about web services; web, desktop and mobile clients and data synchronization. I personally find the design and implementation of this kind of software more interesting and harder than a boring stupid multi-threaded c/c++ application… there are more than scripting kiddies in web development…

and another thing - not just any old monkey can write a web app - maybe a hello world, but not a real web app, it takes hard work and determination.

Take this - oh so holy stackoverflow site, you’re so proud of Jeff, are you saying any monkey can write it? get your facts straight buddy!

Braude’s whole argument just smacks of the same turf arguments we used to hear over Mac vs. PC. Like different OS’s, the web is a different platform with different audiences and goals. To think it lesser is simply being elitist and burying your head in the sand.

Consider the following:

http://fwdvault.com

I built the above site – front end and back – in PHP. It reads and processes email, separating attachments from the message and indexing both parts for searching and retrieval. It wasn’t easy, and required me to know some “complicated things” that Braude seems to think don’t exist in the web world.

I’m not trying to toot my own horn, but simply provide Braude and other naysayers a real-world example of what high-grade web programming can look like.

You can dislike the service, of course, but the tech behind it is sound. :slight_smile:

Jeff, you are so very, very, very wrong. Web programming is a tiny proportion of all programming. Lets us consider what software is being run in order for me to view a web page:

  1. The keyboard. This contains a little microcontroller that talks to the PC to send keypresses and recieve commands (set caps lock light, etc) and that has software on it. Not a web-app.
  2. The BIOS. Lots of software there. Transfers keyboard data to the OS.
  3. The OS. A massive amount of code. Still not web-app.
  4. The browser.
  5. The ethernet card could have a microcontroller on it.
  6. The wireless hub. Contains a web server to edit configuration. Some web-app code at last. But not much.
  7. The internet. All those connections that are routing data from me to a web site are running non-web-app code.
  8. The web server. Another OS with a hosting system on it.
  9. The web app, finally. But it still uses compilers and tools to build the web app.
  10. The web app talks to a database. The database is also code, written by programmers that are not web programming.
  11. Once the web data has returned, there’s the javascript engine itself. Not a minor piece of code and not web-programming.

So, how many programmers does it take to provide all the tools and infrastructure required for you to do you web-app? Lots.

Like the post on COBOL, all because you don’t see the non-web-programming people, doesn’t mean they’re not there.

You are a minority, egotistical programmer if you need people to see what you do. The majority of us don’t need that to still get satisfaction from programming.

Web-programming will never be as pervasive as you suggest. The web is a public system and many people want to keep their work private.

Also, imagine an Airbus A380 being flown by control systems written in JavaScript running in IE8 on Vista? I don’t think so.

Skizz - you’re the bomb!

Web application and desktop application are not opposites, nor mutually exclusive. Desktop application and HTML application are closer to opposites. The desktop web application is the real future of development. HTML pages aren’t going away, JavaScript applications aren’t either, but you’ll never see 90% of users authoring their books, writing their code, calculating their balance sheets, doing their financial predictions, etc. in Firefox. And don’t bother mentioning that you “can”. Doesn’t mean it’s any fun or makes a bit of sense.

Just when you think desktop applications are gone, they’ll be here again. The common view is to compare browser and desktop code in the way you’d compare automobiles and horses. But really you should compare in the way you’d compare semi-trucks and cargo trains.

If your focus is, and has generally always been, web development, then that’s what your worldview will be. As far as programming effort goes, web development can be as complex as any type of programming, and there are plenty of examples of this on the web. I enjoy web development as well as desktop or server-side (although server-side coding seems less encumbered to me).

A lot of things have moved to the web. That’s ‘a lot’, not even ‘most’. There is a bunch of stuff that will never move to the web.

David Neuschulz’s example of the WWCB (World-Wide Code Base)in the first response is correct.

Photoshop in Javascript?

Allready been done: http://www.sumopaint.com/web/

Another thing - The days of the old IT premadonnas might come to an end! Does that scare you Jeff, are you an IT premadonna?

I remember in my early days of IT, always having that one IT git in the office that thought he was “elite”, who thought he knew more. Who actively bragged about knowing 6 languages, and skilled in anything imaginable. Like the dude was 007. All your suggestions were shot down.

Things have improved a bit, since web is an easier to get into technology, but it still requires years to master. Nice to see some woman also entering the work force, because the whole IT world is not so supremely geeky anymore.

I don’t program for fame or fortune, so I don’t have to prove myself to anyone. My self esteem is not based on what I am programming.

I also don’t feel threatened by new comers, if they’re new they’re entitled to be less skilled, we all were new once.

If they’ve got a passion for development, they will improve.

Jeff - you are wrong about this one… sorry…

Isn’t web programming just one tiers of the n-tiers every application is made of ?

I tell people that I read this site because even though I frequently disagree with you, it’s at least interesting to see the other perspective.

But wow. You’re wrong on this one in huge ways. Yes, Michael Braude is wrong too (though in the part you omitted, he says so), there’s plenty of challenging stuff to do on the web.

But the web is a User Interface. It takes a lot of work, but for any non-trivial application, the UI is a pretty thin layer. Most of the work (and quite a bit of interesting code) is done in the back office.

Banking and general accounting is a niche?
Embedded systems (phones, cars, ATMs) are a niche?
Mechanical Engineering is a niche?
Operating systems are a niche?

Yeah, there’s only a half-dozen people in the world who use any of those…

I dunno, maybe you’re trying to be thought provoking. Certainly not the reaction you’re getting from me.

I think Jeff Atwood has officially derailed. That, or he was so deeply offended by Mr. Braude’s thesis that he felt compelled to launch and equally dubious, contradictory tirade.

Craftsmanship in software development is not about artistry or appreciation of structure, it’s about maintainability; being capable of enhancing the system over time without unintentionally breaking things or exceeding acceptable costs. Users don’t appreciate beautiful, clever code — they want functionality, usability, performance. They don’t care if it’s “locked away in a binary executable,” they just want it to work.
Architecture (the traditional kind — wood/stone/steel) is about elegance of form and function. Choice of insulation or internal support materials is germane to the occupant/buyer inasmuch as it affects cost or function (stability, temperature control, etc).

Moving office applications to web apps is an easy transition (technologically), provided the user is comfortable storing their data on the servers of a software firm (though, I submit that Excel will always be more powerful than a web spreadsheet for as long as it is actively developed). However, simply because many people spend the majority of their time in front of a computer on the web, doesn’t make it (i.e. the browser) the ultimate software delivery platform.

Considering the fact that most users expect everything on the web to be free, most web applications are supported by advertising revenue. Eventually the market will reach critical mass, and “everything” can’t be sustained by that business model.

Moreover, desktop publishing, video production, audio production, 3D animation, PC gaming (beyond solitaire/pinball/breakout) are not simply niche markets — they drive the majority of software sales year-over-year. PC gaming itself was a primary motivator for early PC and software sales. Flash, Silverlight, et. al. have heretofore been deployed primarily as media delivery apps (streaming images/video/audio), and that’s not likely to change in the home — not even with Google’s NaCl.

Both web and desktop software will continue to exist for the foreseeable future. Neither will dominate the other because there will always be certain tasks that are best handled by one over the other.

Psst: even web applications are licensed, shipped, downloaded, maintained, and upgraded

All programming can be web programming. Or better said, programming can just be programming. Look at WPF/Silverlight. They both use XAML, they both use the .NET Framework. Microsoft is attempting to end up in a place where you write once, compile anywhere. This in my opinion is the holy grail of development technology.

I also flatly reject the idea that desktop vs web programmers says anything about programming ability. I’ve done both, but mostly web stuff. You know why I’ve done mostly web work? Because I like customer facing development. When I build customer portals etc for businesses I can immediately see the positive impact it has on their customers, the productivity savings. The web is the best medium for these types of applications. Could I code an Windows dll? Sure, but I wouldn’t get much satisfaction out of it because I wouldn’t get to “see” my work, and no one would really care, because it would be one of many dlls, sitting vaguely in the windows folder.

The truth is somewhere in between…

Many, many web apps suck, and also most of them suck in a sucking language (php etc)

"Another thing - The days of the old IT premadonnas might come to an end! Does that scare you Jeff, are you an IT premadonna?

I remember in my early days of IT, always having that one IT git in the office that thought he was “elite”, who thought he knew more. Who actively bragged about knowing 6 languages, and skilled in anything imaginable. Like the dude was 007. All your suggestions were shot down."

HA HA! Who hasn’t pretended to be 007 - James Bond? Hybris will fail…

Pune University, affiliated to UGC runs engineering graduation courses (Bachelor of Engineering) through colleges accredited by AICTE. The course for B. E. (IT) is coupled to Web Programming & using mainstream DBMS packages as backend tiers to the web programs. Another course B. E. (E&TC) Telecommunication Electronics deals with the network also albeit the physical layer. Thus, the ISO-OSI model’s 3 layers physical (bottom), & application & presentation (top 2) are cared for. Nowadays, individauls creativity may be of less value as a matter of secrecy than during times of battle, so passing it on over the wire is the norm. However, the other layers do require engineering effort to maintain system performance at par with the resources identified through research. Even inside the DBMS package, data has to be read/written from/to persistent storage optimally. Low level h/w drivers & somewhat higher level query language processors. The dumbest terminal uses PXE(Portable n/w exec.n) boot ROM. The system developer (B. E. Computer) is a real profession since, did someone mention 40 years? Guys, plz show some mutual respect for each-other. How does your hard/smart work earn indifference for somebody, or for that matter, anybody else’s work?

“I hate to have to be the one to break the bad news to Michael, but for an increasingly large percentage of users, the desktop application is already dead. Most desktop applications typical users need have been replaced by web applications for years now. And more are replaced every day, as web browsers evolve to become more robust, more capable, more powerful.”

50,000 applications for the IPhone say otherwise.