I've given the meta-topic of "should there be one dominant programming language" quite a lot of thought. My conclusion is that yes, there really should be one programming language used for the vast majority of projects.
There have been historical examples of languages that hit large sweet spots of "general use". Fortran, C, Lisp, Pascal, Java, C#...all of these are usable for probably 90% of programming tasks. There has been a break from "true" general purpose languages with those that require GC, they aren't suitable for system development as delivered. (I do think there's a lot of interesting stuff to be done on the hardware end to make GC and memory systems in general work better.) Back to my original point, I think it would be unbelievably beneficial to the computer science world if there was a single dominant language for most general-purpose programming, to include system and embedded programming.
How much money and time would be saved if most programmers could have a productive career only learning and using one language? How good would the compilers be if 90% of compiler companies focussed on improving and optimizing one language? How good would programmers be if they focussed on mainly one language for their entire careers? Java is trying to fill this niche, but I don't think it's a great fit, read on to find out why.
I find it puzzling that so much focus is currently on VM oriented languages. With the focus on the hardware end of things on "performance per Watt", one should realize that software is an extremely important part of the performance equation. I think the days of massive, gratuitous abstraction for the sake of abstraction may be drawing to a close. I also think that VM based languages had better "walk the walk" of compiled language performance, or they'll become yesterdays technology (p-System Pascal all over again). Those who don't study history...
All that said, for me if there is to be a single dominant language, it must be:
Performant
Safe
Portable
Extensible
Interoperable
All-level
Available
I'll take these on one by one.
"Performant" means "performs as close as possible to the theoretical maximum". A good starting goal would be 90% the performance of hand-tuned assembler.
"Safe" means "it requires effort to blow my leg off". (Something like Java's security model might be added as a layer if necessary, but wouldn't be part of the base language due to performance concerns.)
"Portable" means the usual thing - programs will compile on multiple architectures and operating systems, and produce similar results.
"Extensible" means the language can be extended in meaningful ways without a new compiler. Lisp, Scheme, and Dylan are all examples of languages that provide a good deal of this type of functionality.
"Interoperable" means that the language can efficiently interoperate with legacy and other code, e.g. an efficient C calling interface.
"All-level" means that, ideally, the language should naturally lend itself to systems running the gamut from small, possibly hard realtime, embedded systems, to the largest distributed systems. It should well address all problem domains from numerics to string manipulation to parallel processing. Ideally, it should provide a subset of some kind that works well as an interpreted scripting language, so that once again the cognitive overload of having to learn and remember many computer languages is reduced.
"Available" means that not only must it exist;-) it must be obtainable at low or no cost. Many very good languages *cough* Smalltalk *cough* have died on the vine since few wanted to spend the money to play with them.
I've been looking for a reasonable fit to these criteria for a long time. The best thing I've found so far is Dylan. It's not perfect, but it is quite good. It even fu
Just what I want, some 14 year old nerd turning the world into grey goo because he was playing with open source nanotechnology and thought he could make a great PacMan clone...
I don't think a literal "gray goo" is possible based on energy concerns. I suppose I could imagine a plague of very small autonomous inimical robots...that could be very bad. Wouldn't want someone creating a plague of those in his basement.;-)
It'll be interesting to see what's really possible.
"um, guess again, sparky - pro-war people are in the minority. Most americans say it was a mistake and that we were mislead."
Actually it's pretty close to 50-50 from what I've seen lately. There's probably a majority of pro-war folks among "likely voters" which is what pols care about.
Regardless. a large majority of people use Windows and Internet Explorer. Does that make them right?;-)
Criticizing a company for being greedy is like criticizing an iceberg for being cold. I'm sure I am not the only person who stops reading a comment when the writer makes such a pointless statement.
Perhaps you should work on your reading comprehension skills. I wasn't referring to the company, but to the decision makers. All those who run companies aren't necessarily "greedy jerks", many ensure their companies provide reasonable value for the consumer dollar. Not so these fools.
I also used the term "rampant greed", not just "greed". You might want to look up the word "rampant".
All such a statement communicates is that the writer isn't knowledgale enough to write about the statement at hand. It implies he thinks there are some companies who are not greedy--a delerious fantasy.
I *know* there are companies which provide reasonable value for monies received. Bellsouth appears to want off that list rather badly.
It comes down to who you think is more important: companies like AT&T, BellSouth, etc. that provide a connection to the Internet, or Google, Yahoo, etc. that provide the content that cause people to want to have an Internet connection in the first place.
Personally, I think this is sour grapes by the telecoms, because they didn't think to invest in the content side of things. Let's face it, one share of Google's stock is worth one share of each of theirs combined and then some.
It's not "sour grapes". It's "rampant greed". The telecoms are already (or should be if they're competent) turning a profit on the ISP side of things. They get a shiny new income stream of $40-$80 per house that signs up for DSL. That isn't peanuts, that probably averages $600 a year with a target audience of around 100 million households. That's right, if a company managed to sign up 10% of US households, it'd have around a $6 billion annual income stream.
The greedy jerks (who probably received fat government subsidies to install the infrastructure in the first place) simply see an opportunity to charge on both ends of the deal. They don't care if they wreck the Internet in the process.
This is the stupidest idea ever and will receive the warm welcome it deserves.
It is the same idea as making TVs that receive certain stations better than others. "What do you think dear, should we get a Sony?" "No, let's get a Toshiba, I want CBS to come in clear and last year Sony made that deal with MSNBC..."
Damn, I missed that the Anandtech page was talking about total system power consumption. CNet mentions the cpu's power consumption: maximum between 25 and 49 watts. So it seems it's about the same as the G5's.
I don't understand this at all (and I did look at IBM's site, they list power consumption for a 2 GHz 970 at around 50W). How is it that a G5 Powerbook was such a problem?
The only thing I can think is that there are no power conservation features on the chip, and/or the support chips take quite a bit of power.
At any rate, Core Duo laptops look to be good for 5.5 hours of moderate use...that's quite good for a single core system, let alone dual core.:-)
You actually missed the only really important difference: Steve's benchmark, namely spec_rate, is a benchmark which automatically spawns as many instances of itself as you have cpu's/cores, and then adds up the scores. So if you compare a single core G5 to a dual core Yonah and the latter obtains twice the score of the former...
At best that demonstrated that Yonah is speed-competitive with the G5, although possibly while using less power.
No, at best that demonstrated that each Yonah core is speed-competitive with the G5. Since the G5 has one core, and Yonah has two, that makes Yonah...twice as "fast". (Really only twice as fast on perfectly parallel code, but hey...)
Also, the dual-core Yonah uses something like 1/4 to 1/2 the power of the single-core G5. Pretty nice!
I'm looking forward to getting a Macbook Pro as soon as possible.
You can get a 939 board, fx-55, ddr400 dual channel ram, cpu cooler, 250 gig hd, combo burner, ghetto case, 400w ps and 7800 gt video card and still be right around $1800.
At the moment, I'd rather get an Opteron 165 or 170, and save about $500. For most (video card limited) games you'll see exactly the saem framerate, but you'll have the extra core for those games that take advantage of it, or other compute loads like Ventrilo. Not to mention what a system like that could do with serious work...
(Also, I'd spend a bit more on a quality SLI motherboard, that seems a better way to go...:)
I think that's far premature. Without even knowing yet what the catch is, I know there will be some. I just don't think Microsoft will let Windows apps seamlessly run under Linux, one way or another.
Yes, as far as I know, there are no plans to clone "WinFX" at this point for Vista compatibility. Mono doesn't even have working WinForms as far as I know (after how many years?), which would provide compatibility with current Win apps.
Java provides a better level of portability than C#/CLR...I'd look there instead for a VM based runtime.
On that note, there is a Java port that runs on top of the Mono runtime and is supposedly fast. That might be worth investigating. (IronPython too if it ends up significantly faster than the regular Python interpreter.)
And while C++ has many theoretical design flaws that could be improved in a language without the historical baggage, lack of bounds checking on a vector isn't one of them. Just use at() instead of [] if your implementation doesn't do bounds checking already.
I was quite aware that you can use a *different syntax* to accomplish bounds checking. What I'd like (and what most languages that support arrays offer some form of) is the ability to use a #define or a #pragma and *turn on* bounds checking for the regular [] accesses.
gcj does it the other way around - bounds checking on by default, turned of with -fno-bounds-check.
I doubt that, only because I don't think the integrated graphics would be adequate for Tiger's eye candy.
Your doubts are unfounded, the demo Jobs gave at the Intel announcement WWDC were all on a desktop box with integrated graphics - identical to all the x86 development boxes that've been sent out.
Yonah will be slow enough already. The vast, VAST majority of Mac software will be emulated for 2006 and will be slower than current Apple laptops.
I've seen this incorrect information in more than one place. It's not emulation, it's on-the-fly translation. It is not painfully slow, and some of that software will run substantially faster on the new notebooks than on the old G4s.
Native x86 software, of course, will be faster still.
I'm getting an Intel Powerbook as soon as I'm reasonably sure there aren't design/manufacturing issues.
Yonah is hot, power hungry, 32bit, and has pathetic floating point performance.
Python is neat until you discover the power of Ruby. Give it a try, you won't look back.
You're both wrong. Once you realize your shiny new languages are running your programs at the speed of molasses flowing in the Antarctic winter, you'll want a similarly powerful language that's in the same runtime efficiency domain as C/C++.
To me, D has surfaced to become what I always thought C++ should have been.
From what I've seen and heard of it (I've not yet used it) I'd tend to agree. I can't understand why so many programmers stick with C++. It's just not a very good language. I'll never understand why it's not possible to even enable bounds checking in STL arrays...
For those willing to look at something a little less C-like, Dylan is quite nice also. There are two high-quality OSS compilers.
I think we're soon going to see a resurgence in "traditional" compiler technology. No sense throwing away cycles for no particular reason.
Of course, the move to Intel processors by Apple will hurt compatability and performance of current software that runs on Apple computers. As a result, you will probably need to replace every application you own with a new Intel supporting version in order to avoid losing performance.
Probably not for most things, since the Yonah will have something like 3x the raw processor power of the fastest current Powerbooks. There may be a few apps that don't run acceptably under emulation, but probably not many.
We have seen a PRELIMINARY benchmark of the Yonah and how it performs compared to X2 based machines, but how well things run in the real world remains to be seen. Doing a comparison of something that is only available in an engineering sample is just that, a preview of the state of the technology. Who knows how well or poorly the release version will operate.
Nonsense. If anything, the release version will be faster, not slower. The tests were with current OS and applications, so that's as "real world" as it gets. To be fair the "performs as well as an X2" thing isn't right, it is true on a "clock for clock" basis. X2s clock at up to 2.6 GHz. (more for overclockers), where Yonah will be capped at 2.13 GHz. at release. Intel's desktop chips won't be there to compete for about a year IIRC. We'll see where AMD's clock rates are at that point. AMD is also about to make the move to 65 nm., where Intel is already there. If the process breakthroughs I've been reading about pan out, we may see 3.5+ GHz. Opteron/Athlon64 in a year or so.
A more interesting comparison is between Yonah and Turion. When is dual-core Turion expected? Also, when are we going to see AMD notebooks with more than 4 GB RAM expansion available?
Just to touch on two more of your points:
If AMD can crank up the speed of dual core processors to the 2.8GHz per core level or above, Intel will have a hard time of it on the desktop.
I guess you haven't been paying attention. The Opteron 165s (lowest end Opteron dual core) have been air-overclocking to 2.8 GHz. on a regular basis. And that's without 65 nm. process...;-)
One thing about this laptop that many people havn't mentioned is the small screen size. A nice 15.4 inch display would draw more power and might not be as attractive due to shorter battery life. It's something to consider.
I'm sure Apple will manage it's usual 4-5 hours of battery life with the 15" Powerbook. That'll be sweet...hope it's here by 2Q '06. =) (Actually I'll probably hold out for the 17".)
I was going to write essentially what you've written (so thanks for saving me the trouble). I want to expand on one of your points:
Third, related to the above points, Java has failed to evolve sufficiently. Sun has failed to address concerns and needs of the scientific and numerical communities.
This is the main reason that I, once a major Java supporter, have gone elsewhere. Gcj still has potential for numerics, but it has been slow moving and there is still not even operator overloading in sight. Also, there is no standardized access to IEEE floating point flags. I'm also concerned that as gcj achieves better conformance to "standard" Java implementations in areas like security, that performance will suffer.
And many of Sun's changes have been hampered by backwards compatibility with the JVM (e.g., genericity in Java 1.5 is deeply flawed). And Java never acquired a reasonable native code interface, keeping it out of many applications.
Again, gcj addresses a better native interface (CNI), but gcj is far from complete compared with even Java 1.4.
For me, Dylan is looking like a great alternative. True compilation, all the advanced features you'd ever want, procedural/functional/oo programming style support...great stuff. I really hope it catches on for HPC, game programming and so on.
If "performance per watt" is ever applied to software, there will be a great shift back to "traditionally compiled" languages like Dylan will occur. In fact, Dylan should be quite good for server-side Web programming...
As for the various different programming languages on Linux I can say that I think people should use Mono exclusively.
Why Mono? No VM has yet come close to the performance of a good pre-compiled language. I'd suggest looking at either Dylan or D. Both are completely open, open source, high performance, and more feature-rich than either C# or Java.
The only runtime needed is libc.
At any rate, asking all (or even a large majority) of Linux hackers to use a single language is an idea doomed from the start...:-)
So, we have to keep Our Children [Patent Pending] off most of the planet's surface ?
Not at all.
If this thing is going into orbit then what 'range' do we have to avoid?
Um, the same range you have to avoid right now with the current generation vehicles? lol
I'll repeat a point from my first post - if SpaceX can't meet its (very ambitious) reliability goals, it won't be a success.
(BTW if your question was serious, generally the range to avoid is a few tens-hundreds of miles directly downrange. Once the craft reaches near-orbital velocity it's not much of a threat anymore, it'll burn up before hitting. Anyhow, if you're in the Pacific floating around, many things are worse threats than the chance of random space hardware landing on you. A meteorite would be much more likely.)
I support private space ventures, I really do. I just don't think our society is ready for it and someone IS going to get sued. Sad, but likely true.
Well, you've touched on another of society's great evils, the fact that lawsuits can be brought with no cause whatever (or for whatever random/worthless cause anyone cares to allege). Off-topic for this discussion though.
I fear that we will see rapid and oppressive over-regulation within seconds of the first pieces of a failed launch showering down on 'The Children' [TM].
Since the first flight is from the Marshall Islands, such children will a) have to be floating around on the South Pacific and b) have to ignore the range warnings.
Some flights will be from Vandenberg, and will also fly over the Pacific.
Note that SpaceX already operates under the rules for unmanned launch safety, and there have been numerous launch failures that have shaped the existing rules. Again, I don't expect SpaceX to have much trouble as long as it hits its own reliability estimates, and strictly continues to launch non-human payloads.
Manned flights are another issue. Also, the proposed spaceport in New Mexico may have some "think of the children" issues, sadly enough.
so maybe the private endevours would fall under the same kind of scrutiny if they ever became super popular.
SpaceX should face no such "scrutiny", except from shareholders. We fund NASA, therefore it's accountable to us. SpaceX is a private venture, and as long as it's only lofting cargo payloads it should be fairly immune to public scrutiny.
(Note that if there are launch failures, SpaceX will likely die quickly.)
There have been historical examples of languages that hit large sweet spots of "general use". Fortran, C, Lisp, Pascal, Java, C#...all of these are usable for probably 90% of programming tasks. There has been a break from "true" general purpose languages with those that require GC, they aren't suitable for system development as delivered. (I do think there's a lot of interesting stuff to be done on the hardware end to make GC and memory systems in general work better.) Back to my original point, I think it would be unbelievably beneficial to the computer science world if there was a single dominant language for most general-purpose programming, to include system and embedded programming.
How much money and time would be saved if most programmers could have a productive career only learning and using one language? How good would the compilers be if 90% of compiler companies focussed on improving and optimizing one language? How good would programmers be if they focussed on mainly one language for their entire careers? Java is trying to fill this niche, but I don't think it's a great fit, read on to find out why.
I find it puzzling that so much focus is currently on VM oriented languages. With the focus on the hardware end of things on "performance per Watt", one should realize that software is an extremely important part of the performance equation. I think the days of massive, gratuitous abstraction for the sake of abstraction may be drawing to a close. I also think that VM based languages had better "walk the walk" of compiled language performance, or they'll become yesterdays technology (p-System Pascal all over again). Those who don't study history...
All that said, for me if there is to be a single dominant language, it must be:
I'll take these on one by one.
"Performant" means "performs as close as possible to the theoretical maximum". A good starting goal would be 90% the performance of hand-tuned assembler.
"Safe" means "it requires effort to blow my leg off". (Something like Java's security model might be added as a layer if necessary, but wouldn't be part of the base language due to performance concerns.)
"Portable" means the usual thing - programs will compile on multiple architectures and operating systems, and produce similar results.
"Extensible" means the language can be extended in meaningful ways without a new compiler. Lisp, Scheme, and Dylan are all examples of languages that provide a good deal of this type of functionality.
"Interoperable" means that the language can efficiently interoperate with legacy and other code, e.g. an efficient C calling interface.
"All-level" means that, ideally, the language should naturally lend itself to systems running the gamut from small, possibly hard realtime, embedded systems, to the largest distributed systems. It should well address all problem domains from numerics to string manipulation to parallel processing. Ideally, it should provide a subset of some kind that works well as an interpreted scripting language, so that once again the cognitive overload of having to learn and remember many computer languages is reduced.
"Available" means that not only must it exist ;-) it must be obtainable at low or no cost. Many very good languages *cough* Smalltalk *cough* have died on the vine since few wanted to spend the money to play with them.
I've been looking for a reasonable fit to these criteria for a long time. The best thing I've found so far is Dylan. It's not perfect, but it is quite good. It even fu
I don't think a literal "gray goo" is possible based on energy concerns. I suppose I could imagine a plague of very small autonomous inimical robots...that could be very bad. Wouldn't want someone creating a plague of those in his basement. ;-)
It'll be interesting to see what's really possible.
"The public" doesn't mean the same thing as "likely voters".
Actually it's pretty close to 50-50 from what I've seen lately. There's probably a majority of pro-war folks among "likely voters" which is what pols care about.
Regardless. a large majority of people use Windows and Internet Explorer. Does that make them right? ;-)
While I don't like that ruling, it has nothing to do with this issue.
Google isn't an ISP. (Yahoo may be another matter, since they're part of a DSL co-branding deal. Is that really the central issue here?)
Perhaps you should work on your reading comprehension skills. I wasn't referring to the company, but to the decision makers. All those who run companies aren't necessarily "greedy jerks", many ensure their companies provide reasonable value for the consumer dollar. Not so these fools.
I also used the term "rampant greed", not just "greed". You might want to look up the word "rampant".
All such a statement communicates is that the writer isn't knowledgale enough to write about the statement at hand. It implies he thinks there are some companies who are not greedy--a delerious fantasy.
I *know* there are companies which provide reasonable value for monies received. Bellsouth appears to want off that list rather badly.
Personally, I think this is sour grapes by the telecoms, because they didn't think to invest in the content side of things. Let's face it, one share of Google's stock is worth one share of each of theirs combined and then some.
It's not "sour grapes". It's "rampant greed". The telecoms are already (or should be if they're competent) turning a profit on the ISP side of things. They get a shiny new income stream of $40-$80 per house that signs up for DSL. That isn't peanuts, that probably averages $600 a year with a target audience of around 100 million households. That's right, if a company managed to sign up 10% of US households, it'd have around a $6 billion annual income stream.
The greedy jerks (who probably received fat government subsidies to install the infrastructure in the first place) simply see an opportunity to charge on both ends of the deal. They don't care if they wreck the Internet in the process.
This needs to be fought.
This is the stupidest idea ever and will receive the warm welcome it deserves.
It is the same idea as making TVs that receive certain stations better than others. "What do you think dear, should we get a Sony?" "No, let's get a Toshiba, I want CBS to come in clear and last year Sony made that deal with MSNBC..."
Brilliant thinking.
Capitalism will certainly fix this (non) problem.
I don't understand this at all (and I did look at IBM's site, they list power consumption for a 2 GHz 970 at around 50W). How is it that a G5 Powerbook was such a problem?
The only thing I can think is that there are no power conservation features on the chip, and/or the support chips take quite a bit of power.
At any rate, Core Duo laptops look to be good for 5.5 hours of moderate use...that's quite good for a single core system, let alone dual core. :-)
At best that demonstrated that Yonah is speed-competitive with the G5, although possibly while using less power.
No, at best that demonstrated that each Yonah core is speed-competitive with the G5. Since the G5 has one core, and Yonah has two, that makes Yonah...twice as "fast". (Really only twice as fast on perfectly parallel code, but hey...)
Also, the dual-core Yonah uses something like 1/4 to 1/2 the power of the single-core G5. Pretty nice!
I'm looking forward to getting a Macbook Pro as soon as possible.
At the moment, I'd rather get an Opteron 165 or 170, and save about $500. For most (video card limited) games you'll see exactly the saem framerate, but you'll have the extra core for those games that take advantage of it, or other compute loads like Ventrilo. Not to mention what a system like that could do with serious work...
(Also, I'd spend a bit more on a quality SLI motherboard, that seems a better way to go... :)
You mean when it actually ships? Intel's desktop lineup (such as the EE processor mentioned) is still Netburst architecture, just at 65 nm.
AMD should still have a great story to tell when it hits 65 nm. and supports newer memory architectures.
Intel still doesn't have an integrated memory controller, or an answer to Coherent Hypertransport. Even in its upcoming new architecture.
Competition is a great thing, and Intel has a long way to go before it stops losing marketshare to AMD.
Yes, as far as I know, there are no plans to clone "WinFX" at this point for Vista compatibility. Mono doesn't even have working WinForms as far as I know (after how many years?), which would provide compatibility with current Win apps.
Java provides a better level of portability than C#/CLR...I'd look there instead for a VM based runtime.
On that note, there is a Java port that runs on top of the Mono runtime and is supposedly fast. That might be worth investigating. (IronPython too if it ends up significantly faster than the regular Python interpreter.)
That is called "using a different syntax" not "enabling bounds checking". Unbelievably silly.
I was quite aware that you can use a *different syntax* to accomplish bounds checking. What I'd like (and what most languages that support arrays offer some form of) is the ability to use a #define or a #pragma and *turn on* bounds checking for the regular [] accesses.
gcj does it the other way around - bounds checking on by default, turned of with -fno-bounds-check.
Your doubts are unfounded, the demo Jobs gave at the Intel announcement WWDC were all on a desktop box with integrated graphics - identical to all the x86 development boxes that've been sent out.
I've seen this incorrect information in more than one place. It's not emulation, it's on-the-fly translation. It is not painfully slow, and some of that software will run substantially faster on the new notebooks than on the old G4s.
Native x86 software, of course, will be faster still.
I'm getting an Intel Powerbook as soon as I'm reasonably sure there aren't design/manufacturing issues.
Yonah is hot, power hungry, 32bit, and has pathetic floating point performance.
Not one of these points is correct. Nice job.
You're both wrong. Once you realize your shiny new languages are running your programs at the speed of molasses flowing in the Antarctic winter, you'll want a similarly powerful language that's in the same runtime efficiency domain as C/C++.
Try Dylan.
From what I've seen and heard of it (I've not yet used it) I'd tend to agree. I can't understand why so many programmers stick with C++. It's just not a very good language. I'll never understand why it's not possible to even enable bounds checking in STL arrays...
For those willing to look at something a little less C-like, Dylan is quite nice also. There are two high-quality OSS compilers.
I think we're soon going to see a resurgence in "traditional" compiler technology. No sense throwing away cycles for no particular reason.
Probably not for most things, since the Yonah will have something like 3x the raw processor power of the fastest current Powerbooks. There may be a few apps that don't run acceptably under emulation, but probably not many.
We have seen a PRELIMINARY benchmark of the Yonah and how it performs compared to X2 based machines, but how well things run in the real world remains to be seen. Doing a comparison of something that is only available in an engineering sample is just that, a preview of the state of the technology. Who knows how well or poorly the release version will operate.
Nonsense. If anything, the release version will be faster, not slower. The tests were with current OS and applications, so that's as "real world" as it gets. To be fair the "performs as well as an X2" thing isn't right, it is true on a "clock for clock" basis. X2s clock at up to 2.6 GHz. (more for overclockers), where Yonah will be capped at 2.13 GHz. at release. Intel's desktop chips won't be there to compete for about a year IIRC. We'll see where AMD's clock rates are at that point. AMD is also about to make the move to 65 nm., where Intel is already there. If the process breakthroughs I've been reading about pan out, we may see 3.5+ GHz. Opteron/Athlon64 in a year or so.
A more interesting comparison is between Yonah and Turion. When is dual-core Turion expected? Also, when are we going to see AMD notebooks with more than 4 GB RAM expansion available?
Just to touch on two more of your points:
If AMD can crank up the speed of dual core processors to the 2.8GHz per core level or above, Intel will have a hard time of it on the desktop.
I guess you haven't been paying attention. The Opteron 165s (lowest end Opteron dual core) have been air-overclocking to 2.8 GHz. on a regular basis. And that's without 65 nm. process... ;-)
One thing about this laptop that many people havn't mentioned is the small screen size. A nice 15.4 inch display would draw more power and might not be as attractive due to shorter battery life. It's something to consider.
I'm sure Apple will manage it's usual 4-5 hours of battery life with the 15" Powerbook. That'll be sweet...hope it's here by 2Q '06. =) (Actually I'll probably hold out for the 17".)
Third, related to the above points, Java has failed to evolve sufficiently. Sun has failed to address concerns and needs of the scientific and numerical communities.
This is the main reason that I, once a major Java supporter, have gone elsewhere. Gcj still has potential for numerics, but it has been slow moving and there is still not even operator overloading in sight. Also, there is no standardized access to IEEE floating point flags. I'm also concerned that as gcj achieves better conformance to "standard" Java implementations in areas like security, that performance will suffer.
And many of Sun's changes have been hampered by backwards compatibility with the JVM (e.g., genericity in Java 1.5 is deeply flawed). And Java never acquired a reasonable native code interface, keeping it out of many applications.
Again, gcj addresses a better native interface (CNI), but gcj is far from complete compared with even Java 1.4.
For me, Dylan is looking like a great alternative. True compilation, all the advanced features you'd ever want, procedural/functional/oo programming style support...great stuff. I really hope it catches on for HPC, game programming and so on.
If "performance per watt" is ever applied to software, there will be a great shift back to "traditionally compiled" languages like Dylan will occur. In fact, Dylan should be quite good for server-side Web programming...
Why Mono? No VM has yet come close to the performance of a good pre-compiled language. I'd suggest looking at either Dylan or D. Both are completely open, open source, high performance, and more feature-rich than either C# or Java.
The only runtime needed is libc.
At any rate, asking all (or even a large majority) of Linux hackers to use a single language is an idea doomed from the start... :-)
Not at all.
If this thing is going into orbit then what 'range' do we have to avoid?
Um, the same range you have to avoid right now with the current generation vehicles? lol
I'll repeat a point from my first post - if SpaceX can't meet its (very ambitious) reliability goals, it won't be a success.
(BTW if your question was serious, generally the range to avoid is a few tens-hundreds of miles directly downrange. Once the craft reaches near-orbital velocity it's not much of a threat anymore, it'll burn up before hitting. Anyhow, if you're in the Pacific floating around, many things are worse threats than the chance of random space hardware landing on you. A meteorite would be much more likely.)
I support private space ventures, I really do. I just don't think our society is ready for it and someone IS going to get sued. Sad, but likely true.
Well, you've touched on another of society's great evils, the fact that lawsuits can be brought with no cause whatever (or for whatever random/worthless cause anyone cares to allege). Off-topic for this discussion though.
Since the first flight is from the Marshall Islands, such children will a) have to be floating around on the South Pacific and b) have to ignore the range warnings.
Some flights will be from Vandenberg, and will also fly over the Pacific.
Note that SpaceX already operates under the rules for unmanned launch safety, and there have been numerous launch failures that have shaped the existing rules. Again, I don't expect SpaceX to have much trouble as long as it hits its own reliability estimates, and strictly continues to launch non-human payloads.
Manned flights are another issue. Also, the proposed spaceport in New Mexico may have some "think of the children" issues, sadly enough.
SpaceX should face no such "scrutiny", except from shareholders. We fund NASA, therefore it's accountable to us. SpaceX is a private venture, and as long as it's only lofting cargo payloads it should be fairly immune to public scrutiny.
(Note that if there are launch failures, SpaceX will likely die quickly.)