And Google has such a *great* FOSS reputation ...

Story: Working for The ManTotal Replies: 13
Author Content
DarrenR114

Apr 06, 2007
9:55 AM EDT
NOT ...

that simple fact puts the whole article by Allison into question as to quality.
bigg

Apr 06, 2007
10:09 AM EDT
"There are now no interesting non-networked applications. Standalone computers are devices for watching stored video or listening to music, usually on airplanes."

"The Internet has become the real computing environment of the next century and all programming will become network programming."

Well...that seems to reflect the things he works on. A really bad piece of advice to give to someone new to programming.
Abe

Apr 06, 2007
12:10 PM EDT
Quoting:Well...that seems to reflect the things he works on. A really bad piece of advice to give to someone new to programming.


That might be true to a certain extent, but desktop programming is the basis and a sub-set of network programming. For desktop, it is like programming in a box, for network, it is like programming out of the box. It's sort of the same difference between standard programming and OOP.

The guy is right, the way I look at it is, all future application programming is going to be browser based, using OOP which support both network and off-line programming.
jimf

Apr 06, 2007
12:15 PM EDT
> all future application programming is going to be browser based, using OOP which support both network and off-line programming.

Ouch! Garbage in = garbage out.....
Abe

Apr 06, 2007
12:46 PM EDT
Quoting:Ouch! Garbage in = garbage out.....


That is an axiom. Give any application to an idiot and s/he will prove it for you. But what does this have to do with building software applications?

Sorry, but you don't seem to have any experience with the technology, do you?

jimf

Apr 06, 2007
12:49 PM EDT
> Sorry, but you don't seem to have any experience with the technology, do you?

Don't assume. The analogy holds for programming too ;-)
tuxtom

Apr 06, 2007
12:57 PM EDT
@Abe: ?????

As a programmer, I must say that your statements don't make any sense whatsoever. I have tried to interpolate what you are trying to say, but that only makes it more confusing.
Abe

Apr 06, 2007
6:40 PM EDT
Quoting:your statements don't make any sense whatsoever


What part of my statement you so think it doesn't make any sense? Could you be a little more specific.?

I have done programming myself but not as much lately.

May be a definition of things might be in order.
Sander_Marechal

Apr 06, 2007
9:39 PM EDT
All of your first post in this thread Abe (3rd posrt from the top). I couln't parse it myself either. It's not the words but the sentence.

I do agree with the general premise though. Network programming *is* the future. There are very few applications being written that do not use the network in some way, whether for updates, collaboration, etcetera. I thought that the article was quite good actually.
tuxtom

Apr 06, 2007
10:52 PM EDT
Abe,

> "desktop programming is the basis and a sub-set of network programming. For desktop, it is like programming in a box, for network, it is like programming out of the box."

I'm not sure how you are defining desktop and network programming. I am trying to assume that you are attempting to illustrate the difference between a Desktop GUI application and a Browser-based GUI application. I'm not sure where you are getting "basis" and "subset" from. A Desktop application can be a Network application and vice versa (a Web Browser is a both a Desktop and a Network Application...so is Synaptic...so are Nautilus and Konqueror). Sure, the browser-based app is popular, and a lot of apps are sure to be written with that client technology in the future, but certainly not all of them. I think new technologies we haven't conceived of yet will trump the old browser model...I mean a quantum leap forward from "Web 2.Slow".

I am also assuming that when you referenced "standard" programming you really meant "procedural" programming. However, whether an application is architected in an Object Oriented manner or programmed in an Object Oriented language has no bearing on whether the resulting application is a Desktop App or a Network App. There is no correlation. You can rest assured that most of the programming code that makes up your operating system and network protocol stack is definitely not OOP. That's really the acid test, isn't it? In reality, you will probably find finer examples of applications written with a procedural language (like C) than you will an OO language (Like C++ or Java), if only for the reason that good OOP skills don't come easily, and therefore a lot of messy procedural code is hacked into "OOP" apps by necessity or by inexperienced programmers. An application is not good OOP just because it written with OOP-centric technology.
DarrenR114

Apr 07, 2007
7:00 AM EDT
@tuxtom,

when you're talking about time-sensitive processes, OOP often puts too much overhead - which is why C is often better than C++ for handling network and other communication protocols (such as serial comm.)

Ever try to write a Linux driver in C++?

I think that's what Abe may be referring to here -

That and Allison's prediction that all Desktop Apps will become browser-based - that's probably the most innane thing I've read in awhile. When you consider that there will always be situations where *standalone* and *offline* applications are the most desirable, you can see that Allison really missed the boat on that one.
Abe

Apr 07, 2007
9:16 AM EDT
tuxtom,

Procedural is what I meant by Standard programming and thanks for putting it in better words than I did. Sorry, English is not my first language and sometimes I do have an issue explaining my thoughts eloquently enough.

Back then, before OOP, all applications were procedural. Today, for highly interactive applications, procedural programming is not good enough. As you know, event driven application is what gives us the high interactivity making the computer experience more user friendly and pleasant. Procedural programming can do as good of a job in furnishing what OOP does. That doesn't mean procedural programming is useless, it still has it value in very specific situations. While it is true that OOP is a lot more code and such, but it is very much worth it because of all its benefits. with out OOP, it would have been almost impossible to have what we use currently on our computers.

Sure, a desktop application can be an off-line (local) and on-line (network) but, which one is better? Actually, it depends.

In an enterprise environment, network application is the dominant and are preferred over off-line and for many reasons. Better control, less maintenance and support, etc... which all lead to lower TCO and more user friendly and more pleasant experience.

Personal Computers are a little different though. Individual users still like to enjoy keeping control of their computer's data and applications. But that is also changing for some who just don't have to worry about maintaining their PC and just want to use it for fun or business. Notice the amount of information you can retrieve almost instantly from e-libraries, the number of games that you can play on the Internet, E-mail on remote computers, applications that all you need for is to manipulate your data, application forms that you can fill electronically, business and consumer transactions, etc...

Now why would you need a full-fledged thick computer? Of course there are some who in some situations would like to keep everything under their control, but that is not everyone. As a matter of fact, I believe they are becoming less and eventually will become the minority as services available on the Internet become more available. Google got it right. The concept is not new, but the tools weren't available like they are now. MS would like you to believe that you still need your PC with all applications installed locally, well, guess what? That is their bread an butter and it is in their best interest to keep selling copy after copy of their OS & Office. One third or their revenue is from Windows OS, another third is from Office. It makes sense for them to keep the consumer on the tread mill to keep their desktop OS and applications alive and in demand. MS still persistently advice the enterprise to keep using applications on the desktop and they intentionally kept Terminal Services behind just to protect their business growth. AJAX is another technology that MS first used in Outlook, but kept it obscure for a while just to prevent it from flourishing and threaten their desktop. Google made great use of this technology and it disrupted MS plans and sent it rushing into implementing AJAX in all their software. They just released Atlas, their AJAX implementation, just recently. They built their new web site Live.com as a thing to come, they are converting SahrePoint to use AJAX/Atlas, they are following suite with Google making MS Office available as service.

We haven't scratched the surface in AJAX and Web 2.0 yet. With high speed networking including homes, blade, clustering and grid computing, we are coming into a new era of computing mainly becoming as service. Some might say that the enterprise will not go for it since they want to keep control of their information and data, I say that this service doesn't have to be on the Internet but can be on the Intranet. Google sees this aggressively pursuing it while MS is beginning to see threat.

From personal experience. The company I work for, purchased a database application that didn't have the front end user friendly GUI that meats our requirements. It cost us $250K (don't blame me) and still doesn't meet the requirements or what the users see it as good enough or satisfactory. VB.net was used to be a desktop application (runs locally but accessing a networked DB). It was so ridiculous I took it on my own to develop a web interface using just a browser utilizing AJAX & PHP. What I have done in my spare time over three month was amazing. It was with the help of many of the code available free on the Internet. When I showed it to the users (secretly), it boggled their minds. Unfortunately, it is not part of the company "Standards". The ease of use, its scalability, and its rich features makes the the VB application developed by the outsource looks, to put bluntly, like S**T.

That my friend is the future of IT in the enterprise and partially on personal computers. This is going to impact MS heavily but is it going to impact Linux? not at all because Linux is going to be the driver on the networked thin clients where users will do most of their work.

I believe this is what Jeremy is talking about. And I happen to agree with him. Now I should go and read his article in full.

Abe

Apr 07, 2007
11:00 AM EDT
After posting the long one above, I stumbled on this article that has excellent description of what I posted above. It is a good read for every one.

http://www.paulgraham.com/microsoft.html

-Abe

Edited:

After I finished the article, It is amazing how similar my thoughts are to his. So don't think I copied him.

I disagree with him on his suggestion that MS can recover, I personally don't think they can, not because MS wont do it like he says, but simply because MS can't hire/buy all FOSS developers.





tuxtom

Apr 07, 2007
3:06 PM EDT
@Abe,

Those company "standards" sure do stifle innovation, don't they? I have been working in (or consulting for) smaller companies , which has given me a lot more say in what technologies get used. Sure, the "smaller" path can be less secure and may not pay as well, but it feels a lot better spending your day working on something you believe in rather that something you comply to.

@DarrenR114,

Which leads me to answer your question: No, I have not tried to write drivers in C++. In fact, I am just dipping my feet into Linux device drivers. My "small company" instincts have lead me to a wonderful opportunity to do embedded Linux development. It's a challenge, as the bulk of my development experience has been writing business apps in Java and/or LAMP, sprinkled with some DBA. My C/C++ days were primarily part of my academic career. However, I have been a Linux Power User, Production Sysadmin and consultant for the better part of a decade. Embedded development really requires a lot more out of you...a much broader range of skills. I like it a lot better than the monotony of writing business apps. It's like going to the gym instead of watching TV.

Posting in this forum is limited to members of the group: [ForumMods, SITEADMINS, MEMBERS.]

Becoming a member of LXer is easy and free. Join Us!