1) Had it been done by a techie, they would have let the user's pick the fonts, and thus my parents could read it easily.
Only if you parents knew how to map host fonts to HTML virtual fonts. That's the sort of "configuring" that techies assume everyone does. To quote you, that's a common misconception.
As one of the twenty busiest sites on the Web, we have done a lot of research and discovered -- what a surprise -- that the vast majority of users leave their browsers unchanged from their default settings. They have no mental model of mapping site descriptions to host implementations. They don't "configure", they browse.
2) Normal people like flashy pages that are all interactive and move around on the screen. Oh wait, my parents don't because they are on a 100Mhz computer
Only a small minority uses a machine as slow as 100MHz. Again, the statistics show you your market. Most competitive commercial businesses will sacrifice the low-end 5% and the high-end 5% in order to maximize customer satisfaction in the fat center of the normal curve.
Parents who are into configuring browser font mapping and yet still use hardware from the days of Windows 3.1 aren't exactly mainstream. I'll take our statistics over your anecdotal evidence.
3) Normal people like GUI tools to build their web pages
Most normal people don't build websites at all. Of those who do, the majority use simple Web-form-based tools provided by their ISP to create their "My Cats and Me" personal Web page. Your raw text HTML editor for the masses would go over like a lead balloon. These big consumer ISPs advertise "no need to learn HTML", and that's a big selling point for the mass market.
Flash is for the creation of consumer websites with high production values, with relatively high consistency across browsers and platforms. The majority of people who browse the Web consider such sites more interesting and more professional looking than the "this site best viewed with Lynx" type sites beloved by techies.
So, you can see, even though a lot of people would like to think "oh, those are just silly techies talking", the truth is that they usually have the same goals, but are just more realistic and knowledgeable on how they can be achieved.
Really? I remember when all websites were designed by techies. Which of the top 20 MediaMetrix websites are designed by these "more realistic and knowledgeable" techies today? "Web producers" at major sites today majored in graphic arts, communications, and marketing, not CS or EE. Like other media before it, the Web is abandoning techie preferences in favor of consumer preferences. Flash may drive/.ers crazy, but it's a major hit with the real Web audience of today.
Yeah, yeah, I know. "Troll!" I mean it in the statistical sense.
Most OSS users prefer command lines to GUIs. Normal people are the reverse.
OSS users are usually the sorts who prefer the experiences inside their heads to external experiences. Reading roller coaster specs is just as good for a lot of them as actually riding the roller coaster.
Not so for normal folks.
Standards committees, forums like/., and other gaggles of techies are famously out of touch with the preferences of "normal" people. They are then morally outraged by technologies that "corrupt" the purity of their systems -- by making them more the way normal people would like them to be.
Techies have screamed for years as HTML has moved from "it looks the way you want it to look, depending on how you configure your browser", to "it looks the way the professional designer intended it to look, and it looks that way in every browser". Techies want to configure their browsers for optimum "information display". Normal people want to see professional production values and don't want to waste their time "configuring" anything.
Flash is a superb way to build websites for normal audiences. Most/.ers seem convinced that their eliteness means they know best what is right for the Web. In fact, they are simply out of touch.
98% of browsers have a Flash player installed, and the vast majority are Flash 5. There are about as many people still using the Flash 3 plugin as there are using IE 3 or Netscape Nav 3.
The Flash installed base upgrades very fast because the player is so lightweight and quick to download.
The SVG plugins out there are an order of magnitude larger than a Flash player and most browsers don't have them installed.
There are probably a thousand Flash sites for every SVG site, and that may be too generous to SVG. Most of those Flash sites participate in the sprea of lightweight Flash players. With that level of use, the amount of debugging that has gone into Flash is overwhelmingly larger than what has gone into SVG.
If what you want is to be able to easily create professional quality media (assuming you have the artistic skills, of course), for it to work reliably, and for it to be accessible by almost everyone, then choose Flash.
If political considerations are more important to you, consider writing your own open source SVG authoring tool -- for Linux only, of course -- and nuts to your users.
If all you care about is the price, there are very cheap, low quality tools for both Flash and SVG. I'm not quite sure how they compare in quality, because each time I (briefly) survey such tools, they seem to be either bad or worse.
Creating products and features is not the same thing as researching HCI. Nokia and Sony have created a lot of good products, but have contributed little to the field of HCI. Do you see any major OSes adopting interface elements developed by Nokia or Sony?
As for Minitel, you're kidding, right? Are you seriously nominating a clunky government monopoly teletext system as a peer of Xerox PARC or Bell Labs or Apple's Advanced Technology Group in usability research?
Everything I see of.Net and C# shows it to be better than Java -- but you only get the benefits if you are on Windows.
Outside Windows, C# and.Net are not even in the game, and may never be.
My prediction, and it's not much of a stretch, is that.Net will own Windows and Java will own the rest. Java will nearly vanish on Windows, since.Net can just send messages to Java apps.
.Net will probably be somewhat better than Java, which will influence some people to use Windows servers (everyone will keep using Windows clients), but many others can't or won't use Windows. Those folks will put a lot of pressure on Java to keep up, probably mostly successfully.
Of course, if we get really good non-MS.Net implementations on non-Windows platforms, everything I just said will change. That's the wild card in all of this, and there are some scenarios where really good non-Windows.Net implementations could really help MS, like MS-Office on the Mac. This should be interesting.
Office now requires RichEdit 3.0, version 3 of the *system control* RichEdit. Since Win95 only has RichEdit 1.0 by default, an Office installation has to upgrade the OS -- and it does.
Interestingly, Microsoft does NOT allow ISVs to distribute RichEdit 3, nor do they make it available as a simple download from MS.
This creates two classes of application vendor. First class vendors are those named "Microsoft", and they are allowed to target the entire installed base for maximum revenue, upgrading any OS version to *make* it meet minimum requirements.
Second class vendors are all others, and if they need the same thing Office needs, RichEdit 3 for example, they are advised to get their customers to go buy an OS upgrade from MS.
Whether this is "fair" or not isn't my point. MS owns the whole platform. You can have any scraps that they don't want.
If you clone the Win98 API, apps from second-class vendors, everyone other than MS, will probably run fine. The apps from the first-class vendor, Microsoft, probably won't.
I say "Win98" instead of "Win95" because of the large number of vendors who have ceased to support Win95. If they can't upgrade the OS themselves, they either have to give up older OSes or give up some functionality that people are used to having in MS's own apps. Most have chosen to compromise, giving up some market, the Win95 platform for now, as well as the most recent nifty(Win2K+) features. In a couple of years, these vendors will be giving up Win98, too, so WINE *does* have to keep moving.
That's the nature of the platform. There are two "installed bases", a big one for MS and a smaller one for everyone else.
MS has made "3rd party horizontal app" an oxymoron on their platform. If WINE wants to run the most popular (a.k.a. "horizontal") apps, it has to keep up with the latest OS versions. Lotsa luck.
Java/J2EE has finished.NET's lunch, cleared the table, and taken a nap, and Microsoft doesn't even know it yet.
Sure. And Java is going to make Windows irrelevant. Or was that Netscape that was going to make Windows irrelevant. No, that's right, it was Linux....
Well, anyway, the day of Microsoft is over, and we all know that. These technologies make Windows irrelevant, and now that Netscape has such a huge lead, IE will never catch up. People are going to code directly to the Netscape API, with Java applets for the power stuff like word processors and spreadsheets, and MS-Windows, MS-Office, you're toast....
And.Net? Don't even bother. Clearly, Java/J2EE has finished.NET's lunch, cleared the table, and taken a nap, and Microsoft doesn't even know it yet. Silly Microsoft.
Java is definitely a major improvement over C++ in many ways for app developers. I'm a big fan, and I use it daily on the server for Web apps.
As for enumerating equally scintillating improvements that C# offers over Java, that's a red herring. It's not a necessary condition for C-B to equal B-A in order for it to be true that C>B.
Even so, it may be that big an improvement, depending on what you need to do. If you want a laundry list, go look it up. A short list though is:
-- Programmers love working in Java, and customers love using native apps written in C++. The ability to work in a language that's as fun as Java and as well-liked by customers as C++ is...scintillating. Neither C++ nor Java can offer both.
-- Full-powered, native C++-like apps that can be run in a browser. The Java concept of just-in-time apps running in a browser is too good an idea not to succeed. It's looking as though C#, not Java, will end up delivering full-powered, native, browser-based apps -- at least on Windows. My hope is that Mono, Rotor, etc., can extend this to other platforms as well.
-- Native compilation can be done before it even goes out the door, so much harder to reverse engineer than bytecode. Sun's answer for years: "anything can be reverse engineered" (which makes me wonder why they still lock the doors to their buildings), or "just keep the important code on the server", which is the sort of answer I would expect from a company that has never had a successful client-side product.
-- Lots of little goodies brought over from Perl and C like enums, foreach, structs, verbatim strings.... So many of us have asked for these things to be added to Java only to have Sun tell us no, or "you don't get it", or "it's too dangerous", or "it's just syntactic sugar", or "if you want to use Perl, just use Perl", etc. C# says, okay, here you go.
-- You can mix components written in different languages as easily as components written in the same language. Java is working to retrofit that sort of capability, but it will always be an afterthought.
-- The language is designed with lots of features that make it an easy fit with real visual IDEs. Languages like C++ and Java can be treated this way, but it's an awkward fit for them. Most of us just end up working in straight text (code) mode all the time with them. The natural way to create GUI apps is with a GUI IDE, though, and C# is made for it (properties, attributes, etc.).
If you recall, the C++ -> Java learning curve was pretty easy -- one of the major factors in Java's quick acceptance -- and yet Java offered all kinds of great improvements over C++.
C# will be easy to learn for both C++ and Java programmers for the same reason Java was easy for C++ programmers. And, it has some wonderful advantages over both for client side GUI programming.
Sometimes what you do is you write your compiler in your new language, then literally walk down your code and hand convert it into assembly. You know how to compile by hand if you know how to write a compiler. (Think about it.)
You can do this by writing just a subset of your compiler, then hand compiling, then using the result to compile a fancier version, which can then be used to compile a fancier version, etc.
Another way is to take another compiler for a similar language (say a Java compiler written in C), then hack it until it is a barely functional compiler for your new language. Then you compile your simple compiler code, and then use that result to compile a fancier one, etc.
You seem fond of Windows technology - to each his own. Enjoy the embrace of Mr. Bill. I would rather be outside of the pack.
Using Java/Swing for client-side apps is indeed outside the pack, which is my point. The pack tends to use C/C++ for widely used client apps and VB for large numbers of narrowly used (custom or niche) client apps. Java/Swing is anywhere from a minor player to virtually nonexistent, depending on how you choose to define popularity.
I regulary attend JavaOne, and even there the buzz around AWT or Swing-based apps faded years ago. Like most Java developers, I'm disappointed at how much of a flop it has been for client-side development. Using Swing as your preferred client-side technology is outside the pack, even among Java developers.
Java is only irrelevant if YOU choose another development platform
My own choice of Eiffel or Scheme or any other niche player would have negligible effect on the mainstream market.
Java is a better language than C++ for *writing* client apps, but not for *running* them. Likewise for Swing vs. MFC. The developers love Java/Swing -- I sure do, and I've used them for a lot of personal projects. But the customers prefer the results of development in old icky C++/MFC. I simply couldn't sell a Java/Swing app on Windows against a C++/MFC app with equivalent features. Customers wouldn't buy mine.
Several big companies with lots of resources have attempted to switch to Java for significant apps such as browsers, word processors, etc. Virtually no successes in mainstream app dev, just in scattered in-house or niche apps -- the sort of things where VB has an edge over C++, and for similar reasons.
The good news is that C# on.Net may give us the best of both worlds: even more fun to work in than Java, yet feeling to the end users like an app written in C++. Unlike Sun, MS has no qualms about producing a "better way to write Windows apps."
The bad news is that that benefit may remain limited to the Windows platform (go Mono!), but with Windows accounting for >90% of clients, that isn't going to slow it down very much.
It's funny how the article would say "one scholar estimated," and your quote inflates that to "some scholars estimate". I'm not blaming you. The way the Atlantic article is written, it sort of naturally leads to the feeling that the scholarly world in general is changing to this new way of thinking. If you look closely at their actual words, though, the feeling the article projects and the actual words listed are not at all the same.
This is how myths are created. Pick some statistical deviant, and present his views as the world of science entering a new understanding and throwing out old myths.
MS's attitude was that there was no way they were going to allow Java to take over the Windows programming market in a way that might make Windows irrelevant underneath. They succeeded.
Sun's attitude was that there was no way they were going to allow Java to become "just a better way to write Windows apps." They succeeded.
As a result, Java is virtually irrelevant to Windows client app development, and since Windows is the vast majority of all "computer-scale" clients, Java is irrelevant for almost all client programming. Go team!
As I said, if you want success, you have to target a new niche. That doesn't guarantee success, but not doing so virtually guarantees failure, given the inertia I'm talking about.
Steve didn't kill Be. He just didn't save it. Nobody else saved it, either, but I don't know if anyone could have. Yes, he bought NeXT, and where is NeXT OS now? Is it saved? Yes, well probably on some archive tape somewhere.;-)
Good points, but when exploring financial information in a spreadsheet, I don't feel the need for a "back" button in Excel. There's no back button in a textbook.
I agree about the desirability of obviousness in a UI, but what is obvious varies depending on the information and medium. Flash could allow you to create a more obvious UI for certain types of info than HTML pages, where pages just aren't an obvious metaphor.
Flash can also make the information a little easier to "digest", if presented well. I've seen it presenting stock info driven by live data feeds from behind and found it fascinating to watch. Data driven moving graphics manipulated by UI elements that just aren't a part of HTML.
I think you're probably right about making the whole science mag a single Flash movie versus embedding Flash in HTML, but I also think that we'll see more interesting "application" sites that don't resemble sequences of pages at all, and Flash should be excellent for some of them.
The inertia in things like operating systems and programming languages continues to frustrate me. If you aren't a mere extension to the dominant technology, you may as well not bother. If you're something significantly different, but only a few hundred percent better, you may as well not bother. The inertia is just too great for really good ideas to be adopted quickly.
Be will be a lesson to those who hadn't already learned from NeXT, Amiga, etc. When Be first started, I remember commenting to a friend that "there's a group that just doesn't get it." I've hoped ever since that I would turn out to be wrong. I wasn't talking about their technology, which I always admired. It was the insurmountable market barriers that they would face.
If you're not 10x better, the only approach that seems to work is to find a whole new market niche to go for.
(Sorry, this next part is going to sound like a troll, but...) Even Linux is a bit depressing. So much talent out there, and the best we can come up with is the amazing innovation of cloning a 30 yr old OS? Free and open source aren't technical innovations, they're marketing innovations.
There's so much research in OS theory, in programming languages, in user interfaces and human-computer interaction -- so many great ideas from the 80s and 90s that will take another generation to reach the daily lives of most of us professional developers.
Anyone remember when the great premise of the internet used to be equality?
No. I remember when the premise was that if you were technically skilled, you could participate. If you were an artist, you were out of luck.
Anyone with a text editor and a net connection could stick up their own site, leading to a golden era of communications and freedom of information.
What are you imagining? You can still fire up the old text editor and produce amateur-looking sites. Nobody's going to pry your vi out of your hands. And if your site has the right information, nobody will care if the presentation is amateurish.
It's just that now that the affordances of the medium have expanded dramatically, the artists are gaining an advantage over the techies in some ways. Real professional production values are becoming possible, and those who don't have the talent to create professional-looking visual media are going to have to collaborate with those who do or just stick to text-only sites.
The pros who create things like movie special effects, primetime TV dramas, glossy magazine art, and high-production value websites don't whine about $499 tools. If you're not operating at that level, nobody has taken anything away from you by providing tools to those who do.
You must be kidding. Science magazines use it to display peel-away views of working hydrogen engines. News magazines use it to allow you to explore the cave bunkers of Afghanistan.
I think you're mistaking the UI designs some Flash developers come up with with the medium itself. Some people do use if for "film loop" type displays, but they always have the choice to provide random access UIs.
There is no market at work in computer operating systems, nor in any major application category
If I express the opinion that the Republicans are motivated, in part, by their belief in market forces, the truth of the statement does not depend on whether market forces exist or not. It is sufficient that their belief exists.
Even so, my own opinion in this case is that there are clearly market forces at work in all monopoly cases, especially this one. It was widely believed that Netscape was going to break the monopoly in operating systems with an abstraction layer above the OS containing its own API: the browser.
Sometime thereafter, it was believed that Java would do likewise. Some felt it would be thin client computing, whether Java-based or more diverse. Some believe that devices will eventually proliferate and diversify enough to relegate Windows to a desktop niche. A lot of people here believe it will be Linux.
Whatever the case, eventually trucking and air cargo, plus electronic communication, made rail monopolies no longer transportation and communication monopolies. The same fate will eventually befall MS Windows. The question is how soon and are we willing to wait for it.
I'd prefer not to wait, by the way, but there are always market forces.
The real Internet has nothing to do with that bubble, but understandably, neither you, nor the Republicans get that
I make buckets of money in the "real Internet" industry, with no sign of a slowdown in demand for my particular services. Your claim that I don't understand that the real Internet exists, when it is paying my bills, is a foolish one. Does the same analytical process underlie all your beliefs?
I wasn't expressing any opinion on what the appropriate legal outcome should be, I was only expressing an opinion on why the Justice Dept. had lost interest. I'm quite convinced that it is principally for the three reasons I mentioned.
Apparently, without a disclaimer, explaining someone else's viewpoint is assumed to be expressing one's own, but I suppose I usually make that assumption myself in the absence of other evidence.
Just to be clear: I agree entirely with your opinion about monopolies. I'm very much in favor of breaking up Microsoft because it has demonstrated both a willingness and -- importantly -- an ability to extend a sort of "competition umbrella" over a widening range of their products.
I'm disappointed by what Justice is doing. I don't believe it's for the simplistic "in bed with big business" reasons leftists and ordinary liberals repeatedly suggest, however. Microsoft's competitors are also big business. I think it is for the reasons I stated, but I think they are overlooking the danger and extent of MS's monopoly power.
The misconceptions here aren't mine:
/.ers crazy, but it's a major hit with the real Web audience of today.
1) Had it been done by a techie, they would have let the user's pick the fonts, and thus my parents could read it easily.
Only if you parents knew how to map host fonts to HTML virtual fonts. That's the sort of "configuring" that techies assume everyone does. To quote you, that's a common misconception.
As one of the twenty busiest sites on the Web, we have done a lot of research and discovered -- what a surprise -- that the vast majority of users leave their browsers unchanged from their default settings. They have no mental model of mapping site descriptions to host implementations. They don't "configure", they browse.
2) Normal people like flashy pages that are all interactive and move around on the screen. Oh wait, my parents don't because they are on a 100Mhz computer
Only a small minority uses a machine as slow as 100MHz. Again, the statistics show you your market. Most competitive commercial businesses will sacrifice the low-end 5% and the high-end 5% in order to maximize customer satisfaction in the fat center of the normal curve.
Parents who are into configuring browser font mapping and yet still use hardware from the days of Windows 3.1 aren't exactly mainstream. I'll take our statistics over your anecdotal evidence.
3) Normal people like GUI tools to build their web pages
Most normal people don't build websites at all. Of those who do, the majority use simple Web-form-based tools provided by their ISP to create their "My Cats and Me" personal Web page. Your raw text HTML editor for the masses would go over like a lead balloon. These big consumer ISPs advertise "no need to learn HTML", and that's a big selling point for the mass market.
Flash is for the creation of consumer websites with high production values, with relatively high consistency across browsers and platforms. The majority of people who browse the Web consider such sites more interesting and more professional looking than the "this site best viewed with Lynx" type sites beloved by techies.
So, you can see, even though a lot of people would like to think "oh, those are just silly techies talking", the truth is that they usually have the same goals, but are just more realistic and knowledgeable on how they can be achieved.
Really? I remember when all websites were designed by techies. Which of the top 20 MediaMetrix websites are designed by these "more realistic and knowledgeable" techies today? "Web producers" at major sites today majored in graphic arts, communications, and marketing, not CS or EE. Like other media before it, the Web is abandoning techie preferences in favor of consumer preferences. Flash may drive
Yeah, yeah, I know. "Troll!" I mean it in the statistical sense.
/., and other gaggles of techies are famously out of touch with the preferences of "normal" people. They are then morally outraged by technologies that "corrupt" the purity of their systems -- by making them more the way normal people would like them to be.
/.ers seem convinced that their eliteness means they know best what is right for the Web. In fact, they are simply out of touch.
Most OSS users prefer command lines to GUIs. Normal people are the reverse.
OSS users are usually the sorts who prefer the experiences inside their heads to external experiences. Reading roller coaster specs is just as good for a lot of them as actually riding the roller coaster.
Not so for normal folks.
Standards committees, forums like
Techies have screamed for years as HTML has moved from "it looks the way you want it to look, depending on how you configure your browser", to "it looks the way the professional designer intended it to look, and it looks that way in every browser". Techies want to configure their browsers for optimum "information display". Normal people want to see professional production values and don't want to waste their time "configuring" anything.
Flash is a superb way to build websites for normal audiences. Most
98% of browsers have a Flash player installed, and the vast majority are Flash 5. There are about as many people still using the Flash 3 plugin as there are using IE 3 or Netscape Nav 3.
The Flash installed base upgrades very fast because the player is so lightweight and quick to download.
The SVG plugins out there are an order of magnitude larger than a Flash player and most browsers don't have them installed.
There are probably a thousand Flash sites for every SVG site, and that may be too generous to SVG. Most of those Flash sites participate in the sprea of lightweight Flash players. With that level of use, the amount of debugging that has gone into Flash is overwhelmingly larger than what has gone into SVG.
If what you want is to be able to easily create professional quality media (assuming you have the artistic skills, of course), for it to work reliably, and for it to be accessible by almost everyone, then choose Flash.
If political considerations are more important to you, consider writing your own open source SVG authoring tool -- for Linux only, of course -- and nuts to your users.
If all you care about is the price, there are very cheap, low quality tools for both Flash and SVG. I'm not quite sure how they compare in quality, because each time I (briefly) survey such tools, they seem to be either bad or worse.
Creating products and features is not the same thing as researching HCI. Nokia and Sony have created a lot of good products, but have contributed little to the field of HCI. Do you see any major OSes adopting interface elements developed by Nokia or Sony?
As for Minitel, you're kidding, right? Are you seriously nominating a clunky government monopoly teletext system as a peer of Xerox PARC or Bell Labs or Apple's Advanced Technology Group in usability research?
Everything I see of .Net and C# shows it to be better than Java -- but you only get the benefits if you are on Windows.
.Net are not even in the game, and may never be.
.Net will own Windows and Java will own the rest. Java will nearly vanish on Windows, since .Net can just send messages to Java apps.
.Net implementations on non-Windows platforms, everything I just said will change. That's the wild card in all of this, and there are some scenarios where really good non-Windows .Net implementations could really help MS, like MS-Office on the Mac. This should be interesting.
Outside Windows, C# and
My prediction, and it's not much of a stretch, is that
.Net will probably be somewhat better than Java, which will influence some people to use Windows servers (everyone will keep using Windows clients), but many others can't or won't use Windows. Those folks will put a lot of pressure on Java to keep up, probably mostly successfully.
Of course, if we get really good non-MS
I'm happy for the competition.
Office now requires RichEdit 3.0, version 3 of the *system control* RichEdit. Since Win95 only has RichEdit 1.0 by default, an Office installation has to upgrade the OS -- and it does.
Interestingly, Microsoft does NOT allow ISVs to distribute RichEdit 3, nor do they make it available as a simple download from MS.
This creates two classes of application vendor. First class vendors are those named "Microsoft", and they are allowed to target the entire installed base for maximum revenue, upgrading any OS version to *make* it meet minimum requirements.
Second class vendors are all others, and if they need the same thing Office needs, RichEdit 3 for example, they are advised to get their customers to go buy an OS upgrade from MS.
Whether this is "fair" or not isn't my point. MS owns the whole platform. You can have any scraps that they don't want.
If you clone the Win98 API, apps from second-class vendors, everyone other than MS, will probably run fine. The apps from the first-class vendor, Microsoft, probably won't.
I say "Win98" instead of "Win95" because of the large number of vendors who have ceased to support Win95. If they can't upgrade the OS themselves, they either have to give up older OSes or give up some functionality that people are used to having in MS's own apps. Most have chosen to compromise, giving up some market, the Win95 platform for now, as well as the most recent nifty(Win2K+) features. In a couple of years, these vendors will be giving up Win98, too, so WINE *does* have to keep moving.
That's the nature of the platform. There are two "installed bases", a big one for MS and a smaller one for everyone else.
MS has made "3rd party horizontal app" an oxymoron on their platform. If WINE wants to run the most popular (a.k.a. "horizontal") apps, it has to keep up with the latest OS versions. Lotsa luck.
Virtual mod point to you ;-)
Java/J2EE has finished .NET's lunch, cleared the table, and taken a nap, and Microsoft doesn't even know it yet.
.Net? Don't even bother. Clearly, Java/J2EE has finished .NET's lunch, cleared the table, and taken a nap, and Microsoft doesn't even know it yet. Silly Microsoft.
Sure. And Java is going to make Windows irrelevant. Or was that Netscape that was going to make Windows irrelevant. No, that's right, it was Linux....
Well, anyway, the day of Microsoft is over, and we all know that. These technologies make Windows irrelevant, and now that Netscape has such a huge lead, IE will never catch up. People are going to code directly to the Netscape API, with Java applets for the power stuff like word processors and spreadsheets, and MS-Windows, MS-Office, you're toast....
And
Java is definitely a major improvement over C++ in many ways for app developers. I'm a big fan, and I use it daily on the server for Web apps.
As for enumerating equally scintillating improvements that C# offers over Java, that's a red herring. It's not a necessary condition for C-B to equal B-A in order for it to be true that C>B.
Even so, it may be that big an improvement, depending on what you need to do. If you want a laundry list, go look it up. A short list though is:
-- Programmers love working in Java, and customers love using native apps written in C++. The ability to work in a language that's as fun as Java and as well-liked by customers as C++ is...scintillating. Neither C++ nor Java can offer both.
-- Full-powered, native C++-like apps that can be run in a browser. The Java concept of just-in-time apps running in a browser is too good an idea not to succeed. It's looking as though C#, not Java, will end up delivering full-powered, native, browser-based apps -- at least on Windows. My hope is that Mono, Rotor, etc., can extend this to other platforms as well.
-- Native compilation can be done before it even goes out the door, so much harder to reverse engineer than bytecode. Sun's answer for years: "anything can be reverse engineered" (which makes me wonder why they still lock the doors to their buildings), or "just keep the important code on the server", which is the sort of answer I would expect from a company that has never had a successful client-side product.
-- Lots of little goodies brought over from Perl and C like enums, foreach, structs, verbatim strings.... So many of us have asked for these things to be added to Java only to have Sun tell us no, or "you don't get it", or "it's too dangerous", or "it's just syntactic sugar", or "if you want to use Perl, just use Perl", etc. C# says, okay, here you go.
-- You can mix components written in different languages as easily as components written in the same language. Java is working to retrofit that sort of capability, but it will always be an afterthought.
-- The language is designed with lots of features that make it an easy fit with real visual IDEs. Languages like C++ and Java can be treated this way, but it's an awkward fit for them. Most of us just end up working in straight text (code) mode all the time with them. The natural way to create GUI apps is with a GUI IDE, though, and C# is made for it (properties, attributes, etc.).
If you recall, the C++ -> Java learning curve was pretty easy -- one of the major factors in Java's quick acceptance -- and yet Java offered all kinds of great improvements over C++.
C# will be easy to learn for both C++ and Java programmers for the same reason Java was easy for C++ programmers. And, it has some wonderful advantages over both for client side GUI programming.
Sometimes what you do is you write your compiler in your new language, then literally walk down your code and hand convert it into assembly. You know how to compile by hand if you know how to write a compiler. (Think about it.)
You can do this by writing just a subset of your compiler, then hand compiling, then using the result to compile a fancier version, which can then be used to compile a fancier version, etc.
Another way is to take another compiler for a similar language (say a Java compiler written in C), then hack it until it is a barely functional compiler for your new language. Then you compile your simple compiler code, and then use that result to compile a fancier one, etc.
It's called "bootstrapping".
You seem fond of Windows technology - to each his own. Enjoy the embrace of Mr. Bill. I would rather be outside of the pack.
Using Java/Swing for client-side apps is indeed outside the pack, which is my point. The pack tends to use C/C++ for widely used client apps and VB for large numbers of narrowly used (custom or niche) client apps. Java/Swing is anywhere from a minor player to virtually nonexistent, depending on how you choose to define popularity.
I regulary attend JavaOne, and even there the buzz around AWT or Swing-based apps faded years ago. Like most Java developers, I'm disappointed at how much of a flop it has been for client-side development. Using Swing as your preferred client-side technology is outside the pack, even among Java developers.
Java is only irrelevant if YOU choose another development platform
.Net may give us the best of both worlds: even more fun to work in than Java, yet feeling to the end users like an app written in C++. Unlike Sun, MS has no qualms about producing a "better way to write Windows apps."
My own choice of Eiffel or Scheme or any other niche player would have negligible effect on the mainstream market.
Java is a better language than C++ for *writing* client apps, but not for *running* them. Likewise for Swing vs. MFC. The developers love Java/Swing -- I sure do, and I've used them for a lot of personal projects. But the customers prefer the results of development in old icky C++/MFC. I simply couldn't sell a Java/Swing app on Windows against a C++/MFC app with equivalent features. Customers wouldn't buy mine.
Several big companies with lots of resources have attempted to switch to Java for significant apps such as browsers, word processors, etc. Virtually no successes in mainstream app dev, just in scattered in-house or niche apps -- the sort of things where VB has an edge over C++, and for similar reasons.
The good news is that C# on
The bad news is that that benefit may remain limited to the Windows platform (go Mono!), but with Windows accounting for >90% of clients, that isn't going to slow it down very much.
It's funny how the article would say "one scholar estimated," and your quote inflates that to "some scholars estimate". I'm not blaming you. The way the Atlantic article is written, it sort of naturally leads to the feeling that the scholarly world in general is changing to this new way of thinking. If you look closely at their actual words, though, the feeling the article projects and the actual words listed are not at all the same.
This is how myths are created. Pick some statistical deviant, and present his views as the world of science entering a new understanding and throwing out old myths.
You mean like throwing out European monarchies in favor of democracy?
You mean like throwing out horrific European religious wars in favor of freedom of religion?
You mean like refusing to adopt European fascism that Europeans took to so readily, leaving millions dead and 20th century Europe in flames?
You mean like refusing to adopt European communism, that created such bloodshed, repression, and the infamous "Iron Curtain" across Europe?
We certainly have problems in America, but bastardization of European Culture isn't one of them.
Matching foil underwear might be nice, too. For the man who has everything....
MS's attitude was that there was no way they were going to allow Java to take over the Windows programming market in a way that might make Windows irrelevant underneath. They succeeded.
Sun's attitude was that there was no way they were going to allow Java to become "just a better way to write Windows apps." They succeeded.
As a result, Java is virtually irrelevant to Windows client app development, and since Windows is the vast majority of all "computer-scale" clients, Java is irrelevant for almost all client programming. Go team!
As I said, if you want success, you have to target a new niche. That doesn't guarantee success, but not doing so virtually guarantees failure, given the inertia I'm talking about.
;-)
Steve didn't kill Be. He just didn't save it. Nobody else saved it, either, but I don't know if anyone could have. Yes, he bought NeXT, and where is NeXT OS now? Is it saved? Yes, well probably on some archive tape somewhere.
Good points, but when exploring financial information in a spreadsheet, I don't feel the need for a "back" button in Excel. There's no back button in a textbook.
I agree about the desirability of obviousness in a UI, but what is obvious varies depending on the information and medium. Flash could allow you to create a more obvious UI for certain types of info than HTML pages, where pages just aren't an obvious metaphor.
Flash can also make the information a little easier to "digest", if presented well. I've seen it presenting stock info driven by live data feeds from behind and found it fascinating to watch. Data driven moving graphics manipulated by UI elements that just aren't a part of HTML.
I think you're probably right about making the whole science mag a single Flash movie versus embedding Flash in HTML, but I also think that we'll see more interesting "application" sites that don't resemble sequences of pages at all, and Flash should be excellent for some of them.
The inertia in things like operating systems and programming languages continues to frustrate me. If you aren't a mere extension to the dominant technology, you may as well not bother. If you're something significantly different, but only a few hundred percent better, you may as well not bother. The inertia is just too great for really good ideas to be adopted quickly.
Be will be a lesson to those who hadn't already learned from NeXT, Amiga, etc. When Be first started, I remember commenting to a friend that "there's a group that just doesn't get it." I've hoped ever since that I would turn out to be wrong. I wasn't talking about their technology, which I always admired. It was the insurmountable market barriers that they would face.
If you're not 10x better, the only approach that seems to work is to find a whole new market niche to go for.
(Sorry, this next part is going to sound like a troll, but...) Even Linux is a bit depressing. So much talent out there, and the best we can come up with is the amazing innovation of cloning a 30 yr old OS? Free and open source aren't technical innovations, they're marketing innovations.
There's so much research in OS theory, in programming languages, in user interfaces and human-computer interaction -- so many great ideas from the 80s and 90s that will take another generation to reach the daily lives of most of us professional developers.
Anyone remember when the great premise of the internet used to be equality?
No. I remember when the premise was that if you were technically skilled, you could participate. If you were an artist, you were out of luck.
Anyone with a text editor and a net connection could stick up their own site, leading to a golden era of communications and freedom of information.
What are you imagining? You can still fire up the old text editor and produce amateur-looking sites. Nobody's going to pry your vi out of your hands. And if your site has the right information, nobody will care if the presentation is amateurish.
It's just that now that the affordances of the medium have expanded dramatically, the artists are gaining an advantage over the techies in some ways. Real professional production values are becoming possible, and those who don't have the talent to create professional-looking visual media are going to have to collaborate with those who do or just stick to text-only sites.
The pros who create things like movie special effects, primetime TV dramas, glossy magazine art, and high-production value websites don't whine about $499 tools. If you're not operating at that level, nobody has taken anything away from you by providing tools to those who do.
You must be kidding. Science magazines use it to display peel-away views of working hydrogen engines. News magazines use it to allow you to explore the cave bunkers of Afghanistan.
I think you're mistaking the UI designs some Flash developers come up with with the medium itself. Some people do use if for "film loop" type displays, but they always have the choice to provide random access UIs.
So much for a working Mozilla. Since when did a 0.x version of Mozilla on Linux become the reference standard for Web pages?
There is no market at work in computer operating systems, nor in any major application category
...Micro$soft...
If I express the opinion that the Republicans are motivated, in part, by their belief in market forces, the truth of the statement does not depend on whether market forces exist or not. It is sufficient that their belief exists.
Even so, my own opinion in this case is that there are clearly market forces at work in all monopoly cases, especially this one. It was widely believed that Netscape was going to break the monopoly in operating systems with an abstraction layer above the OS containing its own API: the browser.
Sometime thereafter, it was believed that Java would do likewise. Some felt it would be thin client computing, whether Java-based or more diverse. Some believe that devices will eventually proliferate and diversify enough to relegate Windows to a desktop niche. A lot of people here believe it will be Linux.
Whatever the case, eventually trucking and air cargo, plus electronic communication, made rail monopolies no longer transportation and communication monopolies. The same fate will eventually befall MS Windows. The question is how soon and are we willing to wait for it.
I'd prefer not to wait, by the way, but there are always market forces.
The real Internet has nothing to do with that bubble, but understandably, neither you, nor the Republicans get that
I make buckets of money in the "real Internet" industry, with no sign of a slowdown in demand for my particular services. Your claim that I don't understand that the real Internet exists, when it is paying my bills, is a foolish one. Does the same analytical process underlie all your beliefs?
Nice touch.
I wasn't expressing any opinion on what the appropriate legal outcome should be, I was only expressing an opinion on why the Justice Dept. had lost interest. I'm quite convinced that it is principally for the three reasons I mentioned.
Apparently, without a disclaimer, explaining someone else's viewpoint is assumed to be expressing one's own, but I suppose I usually make that assumption myself in the absence of other evidence.
Just to be clear: I agree entirely with your opinion about monopolies. I'm very much in favor of breaking up Microsoft because it has demonstrated both a willingness and -- importantly -- an ability to extend a sort of "competition umbrella" over a widening range of their products.
I'm disappointed by what Justice is doing. I don't believe it's for the simplistic "in bed with big business" reasons leftists and ordinary liberals repeatedly suggest, however. Microsoft's competitors are also big business. I think it is for the reasons I stated, but I think they are overlooking the danger and extent of MS's monopoly power.