Excellent post. As usual, I never have moderator points when I find an article (like yours) that deserves their application.
While I still read this site daily, I do so mostly as a social exercise; rational discourse is difficult in an environment (such as this) where people react without knowledge, study, or rationality.
The poor quality of conversation is, I think, linked to two factors:
Anonymity allows people to act in ways counter to civil discussion. I doubt many of these reactionaries would stand up in a lecture hall and make unsubstantiated statements and accusations -- here, however, they can be safely rude, suffering no consequences for their rude behavior.
Many scientific and technical topics are beyond the knowledge of average folk. Most people lack training in relevant facts and the scientific method. Unable to comprehend the technicalities of an issue, they resort to bluster. I think this is why violent revolutionaries tend to kill intellectuals -- it's easier to shoot people than it is to listen and understand.
Is "Global Warming" a fact? I've seen enough evidence to believe that the world climate is indeed growing warmer, on average, over the recent short-term. Is it caused by farting cows, SUVs, deforestation, increased solar radiation, or political speeches? Probably some combination of them all. A real answer will be complex, involving interacting factors; no one "fact" is going to explain an natural phenomena. And going off half-cocked isn't going to do anyone any good; our immediate cure may be worse than the problem we're trying to solve.
The problem with solving problems is impatience due to short political and biological lifespans. Politicians dislike solutions that take longer than their term of office; people have a very hard time seeing the effects of their actions on their children's children. Such short-sighted thinking solves immediate symptoms, leaving larger issues unaddressed. And it is that style of thinking -- more than "liberals", more than "conservatives" -- that will ruin our species.
I've been running the 2.5 kernels since about 2.5.30 -- on my primary workstation, no less. In other words, my livelihood is depending on a development kernel.
It works. For me, I've had almost no trouble, save for some difficulties with the radeonfb driver not liking my DFP when it's attached to the DVI. Overall, though, performance is excellent -- though I do keep studious backups in case soemthing "goes wrong."
2.5 is really a solid pice of work. Yes, it had bugs; follow the kernel mailing list, watch what people say, read the patch lists, and skip releases that seem a bit flakey.
I stand corrected; it just felt like a minute! I loaded Eclipse after a fresh boot, using IBM JDK 1.4.0 under Linux 2.5.66, it took 30 seconds exactly.
I can live with that, really; I spend much more time using it than I do waiting for it to start.
I've been using Eclipse for a year now as my primary Java development platform. My primary client loves Macs; I run Linux; we test on Windows -- all using one set of projects and Eclipse 2.x. Yesterday, while testing a largish Java application, I ran Eclipse on both Win2k and Linux boxes, against a single copy of the code residing on a share; it was a dammed fast way to test the code across platforms.
And our application is 100% Pure Java, 100% Swing -- no SWT. None.
While I prefer Nedit/xterm for my C/C++/Fortran coding, Eclipse works very well for Java development. I do revert to Nedit/xterm when I need to work fast (as in banging out raw code).
Which brings up some of the few problems with Eclipse: slow performance and a lousy search/replace facility. Even on a 2.8GHz Pentium 4, it takes Eclipse more than a minute to start up. And the search/replace mechanism is primitive at best and ineffective at worst.
Eclipse can do lots of hand-holding -- all sorts of context-sensitive documentation and help is available, but you can turn it all off if it annoys you or slows the editor down.
I've tried other Java IDEs, both free and commercial, and I didn't really like them. Eclipse does its job well, costs nothing, and is portable across the platforms I need. And that is enough to make it one of my primary programming tool.
I've had my share of ups and downs in this industry. I started my career in the Savings & Loan industry -- and after that industry went bust in the early 80s, I had to find a new place to make a buck. A similar collapse hit the "web industry" over the last five years (lots of unjustified hype, bad management, etc.) -- and while I wasn't writing web pages or Flash animations, I was affected nonetheless. I worked as a development director/lead technologist at a couple small businesses that killed themselves by leaving reliable industries to "webify" their product. Both companies are gone, but I'm still here.
There's nothing unique to the computer industry when it comes to bust-boom cycles. It happens all the time in other industries. My wife began her working life 25 years ago as a geological drafter -- you know, with pens, ink, fancy templates. The collapse of the oil and minerals industry did more to end her career than any new reliance on computer-aided drafting. Is she crying in her soup? Heck no -- she worked for various social agencies, often for low wages or free, and built herself a new career in disaster recovery and education. Businesses may come and go, but there'll always be disasters.;)
Right now, I'm doing contract work, writing a book, and placing myself for a "coming thing" that may or not be big in our industry. My wife has a nice, stable job; our kids learned long ago that their Mom and I don't listen to "gimme, gimme." It's sometimes difficult, but we keep surviving. Never surrender, never give up -- a good philosophy from a very funny movie.
Don't use a broad brush, especially when it paints along racial lines.
And don't blame the programmers -- blame the people who trained them, the middle management twits who real a book on "Extreme Programming" or "Agile Development" and think that process equals progress.
My current client is developing a non-traditional, cross-platform interface, in Java, for a vertical market. Our target is a boring -- but stable -- industry; the application is, itself, quite interesting from a technical standpoint.
We meet on the phone perhaps an hour each week; we exchange several e-mails daily. He tells me what he wants, I code it up, he critiques, and I refine. Very iterative, very fast, and the application is working very nicely (if I do say so myself). No long meetings, not silly processes, no wasted time.
If you haven't found American programmers who can work hard, fast, and effectively, you haven't looked very hard. I suggest finding some guys in their 30s and 40s, who've worked in more than one industry, who maybe post interesting bits of code or who contribute to open source. I'm sure you could find workers in the U.S, if you really tried.
Note to forestall flames: I like most of the East Indians I've worked with; I haven't seen any racial differences in capabilities. And East Indians need jobs too, you know. My point is that talent and commitment have nothing to do with race -- it's a matter of personal ethics and training.
I wonder what the folks at Cyan and Ubisoft think about this? They've announced a game named Uru: Online Ages Beyond Myst, for relase in Q4 2003. I wonder who got the trademark first?
Is it possible that something good is coming out of Redmond?
Only a myopic, narrow-minded fool would ask such a question. Microsoft has developed and released some excellent products that continue to kick the fanny of most "free" applications. If all Microsoft software is crap, why do "free" software people keep trying to clone Word and Excel?
Upon occasion, I've been known to rag on Microsoft for their business practices, security holes, and over-featured monstrosities. They ruined Visual Studio with.Net (it's now REALLY slow and clunky), and Microsoft is often paranoid and downright nasty in their tactics. Word, for all of its good features, is a bloated corpse of technological excess. So hey, I'm no Microsoft shill, and more of my systems run Linux than run Windows.
Yet for all their faults, Microsoft has accomplished a lot in the last two decades, producing some useful and powerful software. Denying that is simple bigotry, seasoned with jealousy.
We've donated most of my older systems; I never throw away a working CPU. Most go to my parents (who still have the old family Kaypro II running on CP/M!). I just turned over to my Dad the oldest machine in my fleet, a 233MHz Pentium MMX box. He's using it for his electronics lab.
We've also donated older computers to poor activists in various social causes.
The lowest-end system at Coyote Gulch is a 400MHz Celeron laptop, which my wife uses for web browsing and e-mail.
Come to think of it, my Sun Ultra 10 is running a 300MHz UltraSparc IIi.
Old boxes can be upgraded and kept going for a very long time. My primary Windows box is currently an 800MHz Pentium III; it began life as 400MHz Pentium II. I keep upgrading the video card and the processors; it still does a very nice job of connecting me to the Microsoft universe. The Radeon 9000 Pro video card lets me run Morrowind and other "high end" games acceptably.
Of course, Linux gets the best machines. I recently acquired a 2.8GHz Pentium 4 system with RDRAM, and it's never been sullied by Windows. I use it for software development and number crunching, so the horsepower is important.
My other Linux box, though, is a constantly-upgraded dual 600MHz Pentium III system. It began life as a uniprocessor IBM workstation at 400MHz... in its current configuration, it is my main machine for long-run simulations. I may upgrade it one more time to dual 1.2GHz Celerons.
"Obsolete" is in the mind of the beholder. Look at the charts on Tom's site, and you'll see that the latest processors are *not* as fast as you might expect from comparing MHz numbers.
Consumer culture convinces us that we need something that we don't. While some of us can use the power of the 3GHz processor, the masses have no need for such a beast. This is one major reason the PC industry has slowed so dramatically -- people who have working systems see no need to upgrade. They're smart in tight times, because, for them, there is no reason to upgrade.
Still, in a society where bigger is better, folls will keep running out the door to buy the latest and greatest, if only to be "bigger" than their neighbors.
The TNG Universe (and Enterprise) is formulaic, over-produced, slick to the point of featurelessness, and so politically correct it is painful to watch.
In other words, it sucks. I have not seen it; nothing in the previews gave me any sense as to why I'd want to see it.
I've been watching Trek since the original series. The original was fun, quirky, politically-incorrect for its time, and just plain fun. The dynamic of Kirk-McCoy-Spock was fun and stimulating.
TNG started off good, and sank into mediocrity, boring characters, and political correctness. The Federation had gone from being an adventure to being a boring bureaucracy filled with faceless people who remind me of white bread. DS9 had some good moments, most of which were lost in Voyager and the movies. Where is the passion, the joy of exploration, the diversity of cultures? Bah, Berman's Trek is mostly about destroying any sense of individuality or culture or faith or initiative.
Enterprise is an example of everything that is wrong with Trek. These are not bold adventurers; they are simpering fools who wouldn't last fiv minutes in the universe of Kirk and Spock. The only character I have any fondness for is the Chief Engineer, who exudes some personality (when he's allowed to).
I do not want to live in the Star Trek envisioned by Berman and Braga; in my opinion, they destroyed the series with blandness.
And exactly which Windows apps do you expect to port to Linux?
As it stands now, not one of Microsoft's flagship products is written in C# (or any other.Net language), beyond some parts of Visual Studio (which is now a dog, in terms of performance and features). Implementing Mono will not aid in getting Office apps running under Linux.
People are not going to rewrite millions of lines of established C++ code in C#. So the only apps that will be ported to Linux through Mono will be those that originate in.Net.
If I want to run Windows programs, I'll run Windows. I never saw much sense in emulators, other than in desperate circumstances or embedded work.
I'm not impressed by an ECMA standard. Again, it is more PR by Microsoft to make it look as if they are "open". The ECMA C# standard is limited in scope and political in nature.
There have been many new ideas, but few have found their way out of academia and research labs.
In terms of public relations, Mono allows Microsoft to appear "cooperative" with the "Open Source" community. This is an effective tactic for derailing accusations that Microsoft is a monopoly.
In terms of Java, Mono could prevent Java from finally attaining a foothold in the Linux world. Microsoft is taking advantage of Sun's failures to support and actively promote Java on Linux.
Microsoft obtains free help and knowledge from the Mono development; they can examine the Mono code for possible improvements to Windows.Net, without having to do much in return. In essence, Mono is providing free labor for Microsoft.
I respect Miguel and his efforts; it is a shame that he and his talented followers insist upon cloning dubious Microsoft products. Nothing about.Net is innovative or new; it is merely a rehashing of existing ideas for the purpose of expanding Microsoft's influence.
We make fun of Microsoft's use of the word "innovation" -- but where is innovation in the Open Source / free software community? All this talent, used to copy designs that are dusty with old ideas and solidified paradigms... somehow, I find it all a bit sad.
I'm playing chess with my 11yo daughter, hunting a bug in an evolutionary algorithm involving fuzzy state machines, and surfing the web (obviously) for interesting conversations.
Okay, so the conspiratorialist in me is alive and well this morning -- but this whole thing sounds suspicicious.
Remember that Microsoft once had a version of Unix, named Xenix, licensed from AT&T and developed by -- you guessed it, the original SCO. Caldera bought SCO, and the combined entity is known by the "SCO Group" moniker.
Microsoft recently went through a nasty court battle, in which lawyer Boies did a piss-poor job for the U.S. government in pressing anti-trust violations against Redmond. Now this same Boies has set his sights on Linux through a company that has tried to apply Microsoft-like marketing to selling Linux and Unix.
FUD is on the loose here. The SCO Group may think this will drive Linux user into buying their over-priced product -- or they could be shilling for Microsoft. The best way to defeat an enemy is to make him a friend -- and it is awfully suspicious that a lawyer (Boies) would go from a wussy prosecution of Microsoft to actually helping attack Linux.
In any case, this should not be taken lightly; the U.S. legal system is no longer rational, and Boies might find some judge who will ignorantly rule that Linux is somehow "illegal" for patent violations. Stupider things have happened in our court rooms...
I've Known Walter a Very Long Time (Some History)
on
The D Language Progresses
·
· Score: 5, Interesting
...and I have great respect for his work. Back in the early 90s, he had the first and best C++ native-code compiler, which he built on his solid Datalight C tools. Walter's compiler became Zoretch C++, which became Symantec C++, which became their Java compiler (after a fashion). I used Zortech C++ up until the time Symantec let it die on the vine. I even wrote the official numerical programming docs for Zortech and Symantec C++.
I remember sitting around with Walter and his buddies, talking about how much trouble Walter had in implementing C++. This was before the ISO standard, and to some extent, before the ARM definition. Walter isn't a fool; he's one of the brightest programmers I've ever met. When C++ was first emerging, I talked with compiler developers from Watcom, Microsoft, and others; all found C++ to be more than a challenge. Stroustrup invented an incredible power tool that ANSI complicated through the committee process; I am impressed that anyone has come close to making this monster work.
D is Walter's attempt to move beyond C++, based on his experiences in writing C, C++, and Java compilers. I'd say he has an excellent understanding of the issues involved.
Do I use D? No. While a good effort, D simply doesn't address my programming needs. When I look at a "new" language, I consider O'Caml or Haskell or something that provides very different paradigms. I don't believe it is possible to define a single, all-purpose programming language that scales across the spectrum of applications. I haven't got anything against D, but it doesn't do anything for me that I can't get elsewhere.
Whther or not I use D is irrelevent to its future. Walter Bright has created yet-another-C-derivative; it may succeed, or it may end up like the hundreds of "good ideas" that never caught on. But don't make the mistake of thinking Walter is foolish; he has a fine mind and has produced brilliant software before. He once started from obscurity to build the first useful XC++ compiler for MS-DOS and Windows; I will not be surprised at all if he proves his mettle again with D.
My wife and I are working on it; we have at least two of three daughters who are very much into computers and learning to program. The oldest is only 13, though, so no requests for dates -- Daddy and Mommy can be very protective;)
What do we present to our young women as role models? Britney Spears! Barbie! Sex in the City! Even TV sci-fi fails; women are either kick-ass warriors or love slaves. Even when a woman *is* an engineer (as in Firefly), she comes off as a bit odd and disconnected from her peers.
Learning programming is critical to success in any scientific or engineering field. Office monkeys can get by knowing basic applications -- but to be involved in the leading edge of technology, understanding computers is essential.
If you look at their developer platform for this machine, you see Fortran, C++, and C listed. No Java.
Just a thought for all the Java folk who got so defensive about my comparisons of their language to others. Java is a useful, powerful tool -- but if you want to develop for top-flight parallel hardware, you don't use Java.
I've once again updated Linux Number Crunching article based on questions asked and suggestions made by readers. New options help GNU gcj produce code that is faster than the VM-based JDKs. I've also added an explanation of why Java became slower with its 1.4 release, and show that JVM initialization does not significantly affect test times.
I appreciate the comments and bits of information I've received from readers. Onward to accuracy!
Excellent post. As usual, I never have moderator points when I find an article (like yours) that deserves their application.
While I still read this site daily, I do so mostly as a social exercise; rational discourse is difficult in an environment (such as this) where people react without knowledge, study, or rationality.
The poor quality of conversation is, I think, linked to two factors:
Is "Global Warming" a fact? I've seen enough evidence to believe that the world climate is indeed growing warmer, on average, over the recent short-term. Is it caused by farting cows, SUVs, deforestation, increased solar radiation, or political speeches? Probably some combination of them all. A real answer will be complex, involving interacting factors; no one "fact" is going to explain an natural phenomena. And going off half-cocked isn't going to do anyone any good; our immediate cure may be worse than the problem we're trying to solve.
The problem with solving problems is impatience due to short political and biological lifespans. Politicians dislike solutions that take longer than their term of office; people have a very hard time seeing the effects of their actions on their children's children. Such short-sighted thinking solves immediate symptoms, leaving larger issues unaddressed. And it is that style of thinking -- more than "liberals", more than "conservatives" -- that will ruin our species.
I've been running the 2.5 kernels since about 2.5.30 -- on my primary workstation, no less. In other words, my livelihood is depending on a development kernel.
It works. For me, I've had almost no trouble, save for some difficulties with the radeonfb driver not liking my DFP when it's attached to the DVI. Overall, though, performance is excellent -- though I do keep studious backups in case soemthing "goes wrong."
2.5 is really a solid pice of work. Yes, it had bugs; follow the kernel mailing list, watch what people say, read the patch lists, and skip releases that seem a bit flakey.
I stand corrected; it just felt like a minute! I loaded Eclipse after a fresh boot, using IBM JDK 1.4.0 under Linux 2.5.66, it took 30 seconds exactly.
I can live with that, really; I spend much more time using it than I do waiting for it to start.
I've been using Eclipse for a year now as my primary Java development platform. My primary client loves Macs; I run Linux; we test on Windows -- all using one set of projects and Eclipse 2.x. Yesterday, while testing a largish Java application, I ran Eclipse on both Win2k and Linux boxes, against a single copy of the code residing on a share; it was a dammed fast way to test the code across platforms.
And our application is 100% Pure Java, 100% Swing -- no SWT. None.
While I prefer Nedit/xterm for my C/C++/Fortran coding, Eclipse works very well for Java development. I do revert to Nedit/xterm when I need to work fast (as in banging out raw code).
Which brings up some of the few problems with Eclipse: slow performance and a lousy search/replace facility. Even on a 2.8GHz Pentium 4, it takes Eclipse more than a minute to start up. And the search/replace mechanism is primitive at best and ineffective at worst.
Eclipse can do lots of hand-holding -- all sorts of context-sensitive documentation and help is available, but you can turn it all off if it annoys you or slows the editor down.
I've tried other Java IDEs, both free and commercial, and I didn't really like them. Eclipse does its job well, costs nothing, and is portable across the platforms I need. And that is enough to make it one of my primary programming tool.
I've had my share of ups and downs in this industry. I started my career in the Savings & Loan industry -- and after that industry went bust in the early 80s, I had to find a new place to make a buck. A similar collapse hit the "web industry" over the last five years (lots of unjustified hype, bad management, etc.) -- and while I wasn't writing web pages or Flash animations, I was affected nonetheless. I worked as a development director/lead technologist at a couple small businesses that killed themselves by leaving reliable industries to "webify" their product. Both companies are gone, but I'm still here.
There's nothing unique to the computer industry when it comes to bust-boom cycles. It happens all the time in other industries. My wife began her working life 25 years ago as a geological drafter -- you know, with pens, ink, fancy templates. The collapse of the oil and minerals industry did more to end her career than any new reliance on computer-aided drafting. Is she crying in her soup? Heck no -- she worked for various social agencies, often for low wages or free, and built herself a new career in disaster recovery and education. Businesses may come and go, but there'll always be disasters. ;)
Right now, I'm doing contract work, writing a book, and placing myself for a "coming thing" that may or not be big in our industry. My wife has a nice, stable job; our kids learned long ago that their Mom and I don't listen to "gimme, gimme." It's sometimes difficult, but we keep surviving. Never surrender, never give up -- a good philosophy from a very funny movie.
Don't use a broad brush, especially when it paints along racial lines.
And don't blame the programmers -- blame the people who trained them, the middle management twits who real a book on "Extreme Programming" or "Agile Development" and think that process equals progress.
My current client is developing a non-traditional, cross-platform interface, in Java, for a vertical market. Our target is a boring -- but stable -- industry; the application is, itself, quite interesting from a technical standpoint.
We meet on the phone perhaps an hour each week; we exchange several e-mails daily. He tells me what he wants, I code it up, he critiques, and I refine. Very iterative, very fast, and the application is working very nicely (if I do say so myself). No long meetings, not silly processes, no wasted time.
If you haven't found American programmers who can work hard, fast, and effectively, you haven't looked very hard. I suggest finding some guys in their 30s and 40s, who've worked in more than one industry, who maybe post interesting bits of code or who contribute to open source. I'm sure you could find workers in the U.S, if you really tried.
Note to forestall flames: I like most of the East Indians I've worked with; I haven't seen any racial differences in capabilities. And East Indians need jobs too, you know. My point is that talent and commitment have nothing to do with race -- it's a matter of personal ethics and training.
I'll be more likely to subscribe when I see:
Being able to see articles "early" just doesn't motivate me to send money.
Now how in the heck is it off-topic to mention a possible trademark infringement by a company (BT) that purports to be interested in personal privacy?
Or isn't the slashdot audience interested in intellectual property issues anymore?
I wonder what the folks at Cyan and Ubisoft think about this? They've announced a game named Uru: Online Ages Beyond Myst , for relase in Q4 2003. I wonder who got the trademark first?
Only a myopic, narrow-minded fool would ask such a question. Microsoft has developed and released some excellent products that continue to kick the fanny of most "free" applications. If all Microsoft software is crap, why do "free" software people keep trying to clone Word and Excel?
Upon occasion, I've been known to rag on Microsoft for their business practices, security holes, and over-featured monstrosities. They ruined Visual Studio with .Net (it's now REALLY slow and clunky), and Microsoft is often paranoid and downright nasty in their tactics. Word, for all of its good features, is a bloated corpse of technological excess. So hey, I'm no Microsoft shill, and more of my systems run Linux than run Windows.
Yet for all their faults, Microsoft has accomplished a lot in the last two decades, producing some useful and powerful software. Denying that is simple bigotry, seasoned with jealousy.
And the Slashdot editors wonder why they aren't considered "serious" publishers and journalists... ;)
We've donated most of my older systems; I never throw away a working CPU. Most go to my parents (who still have the old family Kaypro II running on CP/M!). I just turned over to my Dad the oldest machine in my fleet, a 233MHz Pentium MMX box. He's using it for his electronics lab.
We've also donated older computers to poor activists in various social causes.
The lowest-end system at Coyote Gulch is a 400MHz Celeron laptop, which my wife uses for web browsing and e-mail.
Come to think of it, my Sun Ultra 10 is running a 300MHz UltraSparc IIi.
Old boxes can be upgraded and kept going for a very long time. My primary Windows box is currently an 800MHz Pentium III; it began life as 400MHz Pentium II. I keep upgrading the video card and the processors; it still does a very nice job of connecting me to the Microsoft universe. The Radeon 9000 Pro video card lets me run Morrowind and other "high end" games acceptably.
Of course, Linux gets the best machines. I recently acquired a 2.8GHz Pentium 4 system with RDRAM, and it's never been sullied by Windows. I use it for software development and number crunching, so the horsepower is important.
My other Linux box, though, is a constantly-upgraded dual 600MHz Pentium III system. It began life as a uniprocessor IBM workstation at 400MHz... in its current configuration, it is my main machine for long-run simulations. I may upgrade it one more time to dual 1.2GHz Celerons.
"Obsolete" is in the mind of the beholder. Look at the charts on Tom's site, and you'll see that the latest processors are *not* as fast as you might expect from comparing MHz numbers.
Consumer culture convinces us that we need something that we don't. While some of us can use the power of the 3GHz processor, the masses have no need for such a beast. This is one major reason the PC industry has slowed so dramatically -- people who have working systems see no need to upgrade. They're smart in tight times, because, for them, there is no reason to upgrade.
Still, in a society where bigger is better, folls will keep running out the door to buy the latest and greatest, if only to be "bigger" than their neighbors.
The TNG Universe (and Enterprise) is formulaic, over-produced, slick to the point of featurelessness, and so politically correct it is painful to watch.
In other words, it sucks. I have not seen it; nothing in the previews gave me any sense as to why I'd want to see it.
I've been watching Trek since the original series. The original was fun, quirky, politically-incorrect for its time, and just plain fun. The dynamic of Kirk-McCoy-Spock was fun and stimulating.
TNG started off good, and sank into mediocrity, boring characters, and political correctness. The Federation had gone from being an adventure to being a boring bureaucracy filled with faceless people who remind me of white bread. DS9 had some good moments, most of which were lost in Voyager and the movies. Where is the passion, the joy of exploration, the diversity of cultures? Bah, Berman's Trek is mostly about destroying any sense of individuality or culture or faith or initiative.
Enterprise is an example of everything that is wrong with Trek. These are not bold adventurers; they are simpering fools who wouldn't last fiv minutes in the universe of Kirk and Spock. The only character I have any fondness for is the Chief Engineer, who exudes some personality (when he's allowed to).
I do not want to live in the Star Trek envisioned by Berman and Braga; in my opinion, they destroyed the series with blandness.
And exactly which Windows apps do you expect to port to Linux?
As it stands now, not one of Microsoft's flagship products is written in C# (or any other .Net language), beyond some parts of Visual Studio (which is now a dog, in terms of performance and features). Implementing Mono will not aid in getting Office apps running under Linux.
People are not going to rewrite millions of lines of established C++ code in C#. So the only apps that will be ported to Linux through Mono will be those that originate in .Net.
If I want to run Windows programs, I'll run Windows. I never saw much sense in emulators, other than in desperate circumstances or embedded work.
Indeed, I was refering to client applications; I should have been more precise in my original wording.
C# seems focused on desktop applications (i.e., vertical market and IS department software), an area where Java has never realized its potential.
I agree that C# and .Net are unlikely to unseat Java on the server side, at least in the near-term.
I'm not impressed by an ECMA standard. Again, it is more PR by Microsoft to make it look as if they are "open". The ECMA C# standard is limited in scope and political in nature.
There have been many new ideas, but few have found their way out of academia and research labs.
Microsoft has many reasons to support Mono:
I respect Miguel and his efforts; it is a shame that he and his talented followers insist upon cloning dubious Microsoft products. Nothing about .Net is innovative or new; it is merely a rehashing of existing ideas for the purpose of expanding Microsoft's influence.
We make fun of Microsoft's use of the word "innovation" -- but where is innovation in the Open Source / free software community? All this talent, used to copy designs that are dusty with old ideas and solidified paradigms... somehow, I find it all a bit sad.
I'm playing chess with my 11yo daughter, hunting a bug in an evolutionary algorithm involving fuzzy state machines, and surfing the web (obviously) for interesting conversations.
All-in-all, a very comfortable evening.
Okay, so the conspiratorialist in me is alive and well this morning -- but this whole thing sounds suspicicious.
Remember that Microsoft once had a version of Unix, named Xenix, licensed from AT&T and developed by -- you guessed it, the original SCO. Caldera bought SCO, and the combined entity is known by the "SCO Group" moniker.
Microsoft recently went through a nasty court battle, in which lawyer Boies did a piss-poor job for the U.S. government in pressing anti-trust violations against Redmond. Now this same Boies has set his sights on Linux through a company that has tried to apply Microsoft-like marketing to selling Linux and Unix.
FUD is on the loose here. The SCO Group may think this will drive Linux user into buying their over-priced product -- or they could be shilling for Microsoft. The best way to defeat an enemy is to make him a friend -- and it is awfully suspicious that a lawyer (Boies) would go from a wussy prosecution of Microsoft to actually helping attack Linux.
In any case, this should not be taken lightly; the U.S. legal system is no longer rational, and Boies might find some judge who will ignorantly rule that Linux is somehow "illegal" for patent violations. Stupider things have happened in our court rooms...
I remember sitting around with Walter and his buddies, talking about how much trouble Walter had in implementing C++. This was before the ISO standard, and to some extent, before the ARM definition. Walter isn't a fool; he's one of the brightest programmers I've ever met. When C++ was first emerging, I talked with compiler developers from Watcom, Microsoft, and others; all found C++ to be more than a challenge. Stroustrup invented an incredible power tool that ANSI complicated through the committee process; I am impressed that anyone has come close to making this monster work.
D is Walter's attempt to move beyond C++, based on his experiences in writing C, C++, and Java compilers. I'd say he has an excellent understanding of the issues involved.
Do I use D? No. While a good effort, D simply doesn't address my programming needs. When I look at a "new" language, I consider O'Caml or Haskell or something that provides very different paradigms. I don't believe it is possible to define a single, all-purpose programming language that scales across the spectrum of applications. I haven't got anything against D, but it doesn't do anything for me that I can't get elsewhere.
Whther or not I use D is irrelevent to its future. Walter Bright has created yet-another-C-derivative; it may succeed, or it may end up like the hundreds of "good ideas" that never caught on. But don't make the mistake of thinking Walter is foolish; he has a fine mind and has produced brilliant software before. He once started from obscurity to build the first useful XC++ compiler for MS-DOS and Windows; I will not be surprised at all if he proves his mettle again with D.
My wife and I are working on it; we have at least two of three daughters who are very much into computers and learning to program. The oldest is only 13, though, so no requests for dates -- Daddy and Mommy can be very protective ;)
What do we present to our young women as role models? Britney Spears! Barbie! Sex in the City! Even TV sci-fi fails; women are either kick-ass warriors or love slaves. Even when a woman *is* an engineer (as in Firefly), she comes off as a bit odd and disconnected from her peers.
Learning programming is critical to success in any scientific or engineering field. Office monkeys can get by knowing basic applications -- but to be involved in the leading edge of technology, understanding computers is essential.
If you look at their developer platform for this machine, you see Fortran, C++, and C listed. No Java.
Just a thought for all the Java folk who got so defensive about my comparisons of their language to others. Java is a useful, powerful tool -- but if you want to develop for top-flight parallel hardware, you don't use Java.
I've once again updated Linux Number Crunching article based on questions asked and suggestions made by readers. New options help GNU gcj produce code that is faster than the VM-based JDKs. I've also added an explanation of why Java became slower with its 1.4 release, and show that JVM initialization does not significantly affect test times.
I appreciate the comments and bits of information I've received from readers. Onward to accuracy!