I would like to see benchmarks between Java vendors on the same platform for 1.4.x. Specifically, I'd like to see Sun JVM, IBM J9, and BEA JRocket. The question is how do other commercial JVMs really stack up against the Sun standard.
I would also like to see benchmarks of the same JVM across different operating systems on the same processor, namely Windows, Linux, BSD, and (if it matters) Solaris x86. The question is how do other JVMs stack up against the Windows 'standard'.
It would also be nice to see a 'leveling' benchmark across different processors, specifically comparing a suite of Java benchmarks on WinTel and MacOS.
Well, benchmarks are for testing assumptions exactly like yours. The reason bencharks are interesting is they often find discrepancies that vary from what we all believe. Also interesting to note that the source of many of those beliefs is the marketing behind.NET in the first place. If you've worked cross language.NET development, you know that all things are NOT equal. Ever dealt with variable parameter functions?
Interesting. The major players with chat services are likely candidates; AOL, MSN, and Yahoo have the user base to make it worthwhile, and the backing to implement it. I could see Microsoft launch its online music service, then integrate it with IM. Why not? It offers a unique differentiator and erects a compatability barrier for MS IM, encouraging MSN. Two birds with one (rolling) stone.
Maybe there is something we can do. Sleuthing and tracking down the perpetrator of the DDoS attack would clearly demonstrate OSS doesn't support that kind of behavior.
One part of the equation worth considering is more efficient DC appliances. I recently visited a friend in Eastern Washington who build a cabin off the grid, complete with all the geek toys. In particular, I was very impressed with the SunFrost refridgerator.
There are also low power LCD lamps, essentially clusters of white light LCDs, that work wonders.
The analysis for equiping our regular home here in Souther California was not cost effective, but I can certainly see how changing power requirements can lower costs dramatically.
I'm sure I'll be marked as flamebait or troll by some Java loving mod, but what I've stated are facts and experiences from real life Java development. The results are in and frankly... Java sucks! Stick with C and C++ for most development, there's a reason they are the standard: they work.
Hmmm. Can you point out where you listed these so-called 'facts'?... Who's the troll here?
A bill of software rights may or may not make headway. However, it would seem to me that a consumer protection label could work, since the model has been applied successfully in other industries. What I envision is some kind of up-front, package labelling like the following:
Caution! By agreeing to use this software, the vendor may access your private files at any time. Caution! This software is unprotected and may expose you to foriegn programs (virus and worms) that may corrupt your documents.
The benefit to consumers, of course, is that no software manufacture would want to have these labels applied to their software.
Perhaps "trying harder" should involve re-design of the operating system; one that places security as a priority vs. an marketing afterthought.
You can start by securing all ports on a shipping OS.
I suggest following that by Eliminating the Virus Transport Protocol (MS Exchange). This is simply the most prolific environment for viruses in the entire world. It's the 80/20 rule here Bill: do the right thing, the hard thing... kill it.
First step is not automatically running foriegn scripts or code by default, preferably not at all. Second is letting these only run in a sandbox, without access to email address lists. Scriptable access to addresses is suspect in my book: remove this or make it code accessible to administrator priviledges only. Consider the same for MAPI
Hardening the OS would certainly help. Do not allow 3rd party code to run in ring-0, period. You'll have to try harder to make the OS perform without resorting to these tricks; others can do it, you can too.
I would also suggest a concerted effort to examine API susceptible to buffer overflow: anything that accepts fixed length strings.
Finally, share specifics of how you are addressing the problem. We're interested in results, not rally speeches.
I wonder if anyone contacted the Federal Trade Commission on this one. I would have thought this a possible monopoly violation, or at least a serious impingement on other markets. Thoughts?
Worse than that... at the time I worked for Microsoft, I spoke out about the feature becoming used for virus transmission. This statement was made directly to Balmer in a room of 400 developers... and the room went silent.
The trail behind Microsoft is littered with smart people. And each and every time a new case appears, people somehow belief that "this time is different" or that they are smarter than those who have been trampled before. So the process continues.
It will take more than getting drivers into user space to fix Windows. MS pulled the same trick with graphics.
I had a URL/example (somewhere) that showed how easy it was to get a BSOD with Java by drawing out of bounds. The Java routines called Win32 routines which crashes the Kernel... real cute.
Ok, maybe you should view what I posted, and re-read the links.
IBM makes claims to Java at 90% speed of C++ in their numerical benchmarks. JavaGrande includes a number of well-respected organizations doing intensive computation, including GRID work. The tests quoted show a wide variety of performance, and you picked on file I/O; yes, one of the worst aspects in those tests. However, note that these are OLD JVM tests, not the significantly improved I/O found in JDK 1.4. (I don't have stats handy but have seen and experienced the claims of improved performance).
Java as an interpreted, cross-platform language will always be at a disadvantage to C++ in terms of raw speed. The again, many equate C++ as "Object Assembly" in the OOP world. That has it's own disadvantages.
Everything depends on how the language gets used. I have written many distributed C++ infrastructures and applications, and find Java a much welcome alternative. In many distributed scenarios it has proven faster, to the surprise of many seasoned collegues. I couldn't even imagine the jirations required to do an equivalent of JINI in C++.
So, why is it that most financial institutions have dropped C++ in favor of Java for server applications? It must suck something fierce, eh?
Re:Advice: Stick with a real OO language
on
Effective Java
·
· Score: 5, Insightful
Java is slow, as annoying to program as Microsoft's C# language, and just plain impractical.
Java is slow? Maybe that's just your coding. These guys (among others) don't agree with you...
IBM has achieved 90% the speed of C in Java. I personally use the CERN numerical libraries... very cool, very fast. Java certainly can be fast. I've seen distributed Java beat C++ implementations hands down (that was hard to everyone to believe... problem was C++ CORBA marshalling and the RTTI overhead in C++).
I've used Squeak, and have a background in coding Smalltalk (Digitalk, ParcPlace, IBM VA). Squeak is a great up-and-coming environment, but FAR from commercial. Can you name one commercial implementation in Squeak?
I think that lack of commercial viability makes Squeak impractical. Java, on the other hand, has scads of drop-in commercial libraries and components. This makes economic sense in business. Java also has a proven track record on the server side, and there are many, many successful commercial implementations in mission critical environments.
And NO, I don't think Java is the perfect enviroment; far from it. I've yet to see my ideal language, and I keep looking on the horizon for a dynamic functional/object/aspect language that performs and holds up in a commercial setting. In the meantime, I've got real work to do.
Apparently this was more of a hit in Japan than in the US. IBM originally thought of dropping the feature, but it was a high demand item when the first AS/400 (silverlake) was released.
There are plenty of non-profit organizations that benefit society, many of which don't go to help the poor or dying. Have you ever planted trees, picked up trash, or given to NPR (National Public Radio)? These types of programs benefit many people and as a whole help improve life (and have nothing to do with the poor or fighting cancer). In the case of NPR, people literally are donating to support an alternative source of news and information that is accessible to all.
It seems to me that GNOME, or any OSS project for that matter, falls into the category of providing an alternative computing resource that is freely accessible to the public. As such, it sounds like an excellent candidate for 501(3)c status.
Some people are irked that GNOME is bundled by commerical entities such as Red Hat. Consider how many other free things get re-packaged and sold successfully (Pet rocks come to mind, as do many free Government publications). In these cases, people are not paying for the commodity good (rocks or docs) but the "perceived value" derived from the final assembled product. The value in Red Hat may be in the distribution (it's conveniently available on my computer retailer's shelves), or on the services they provide to customers. GNOME is a commodity piece in the assembled whole.
There is a great deal of armor out there that works well, especially the C2, high-impact rated plastics for racing. I know what I trust from personal experience.
What isn't a good idea is bouncing along after getting thrown off the bike. Good leather abrasion helps bring you to a halt. On the other hand, this suit would have you bounding like a ball down the highway. You are more likely to snap limbs or run into obstacles the further you bounce... Boing Boing Boing!
Think about throwing a sandbag across the ground vs. a rubber ball.
It's no secret that the XBox is a test ground for pallidium and digital rights management. Consider that with.NET and pervasive DRM chips, MSFT could enforce who participated in "their" network, effectively creating a separate internet.
I stand corrected. My understanding is that C# does not support non-explicit late binding of dynamic loaded classes. That is, I have to know the class to load it.
In Java, only an interface need be known. I can load any implementation and not need "a class adhering to a defined interface".
In my view C# lacks two critical features: dynamic class loading and anonymous inner classes. C# can dynamically load packages that are spec'd, but NOT classes. Seems like a half-baked idea compared to Java or other Dynamic OOPL concepts. Anonymous inner classes allows something like Smalltalk block or LISP closure type programming. This is especially useful for implementing patterns and templates, and can greatly reduce code.
Can anyone distinguish C# from CSL capabilities here? Will we have these abilities in the Mono CSL?
Re:XBox as Linux workstation
on
XBox Released
·
· Score: 1
I like the idea of MS subsidizing a cheap Linux PC.
Sony has Linux for the PS2; is the XBox worth the effort of a port?
Sure: Actor (Windows), Dolphin Smalltalk (Windows)
I would like to see benchmarks between Java vendors on the same platform for 1.4.x. Specifically, I'd like to see Sun JVM, IBM J9, and BEA JRocket. The question is how do other commercial JVMs really stack up against the Sun standard.
I would also like to see benchmarks of the same JVM across different operating systems on the same processor, namely Windows, Linux, BSD, and (if it matters) Solaris x86. The question is how do other JVMs stack up against the Windows 'standard'.
It would also be nice to see a 'leveling' benchmark across different processors, specifically comparing a suite of Java benchmarks on WinTel and MacOS.
Well, benchmarks are for testing assumptions exactly like yours. The reason bencharks are interesting is they often find discrepancies that vary from what we all believe. Also interesting to note that the source of many of those beliefs is the marketing behind .NET in the first place. If you've worked cross language .NET development, you know that all things are NOT equal. Ever dealt with variable parameter functions?
Interesting. The major players with chat services are likely candidates; AOL, MSN, and Yahoo have the user base to make it worthwhile, and the backing to implement it. I could see Microsoft launch its online music service, then integrate it with IM. Why not? It offers a unique differentiator and erects a compatability barrier for MS IM, encouraging MSN. Two birds with one (rolling) stone.
Maybe there is something we can do. Sleuthing and tracking down the perpetrator of the DDoS attack would clearly demonstrate OSS doesn't support that kind of behavior.
One part of the equation worth considering is more efficient DC appliances. I recently visited a friend in Eastern Washington who build a cabin off the grid, complete with all the geek toys. In particular, I was very impressed with the SunFrost refridgerator.
p dated_030.htm
http://www.solarcell.net/the_solar_cell_company_u
There are also low power LCD lamps, essentially clusters of white light LCDs, that work wonders.
The analysis for equiping our regular home here in Souther California was not cost effective, but I can certainly see how changing power requirements can lower costs dramatically.
I'm sure I'll be marked as flamebait or troll by some Java loving mod, but what I've stated are facts and experiences from real life Java development. The results are in and frankly... Java sucks! Stick with C and C++ for most development, there's a reason they are the standard: they work.
... Who's the troll here?
Hmmm. Can you point out where you listed these so-called 'facts'?
Actually, what is sad is that many companies probably WILL pay, for lack of coordination between departments, amounts within budget limits, etc.
My bet is that SCO will use payments as evidence in their favor at some point in the future.
A bill of software rights may or may not make headway. However, it would seem to me that a consumer protection label could work, since the model has been applied successfully in other industries. What I envision is some kind of up-front, package labelling like the following:
Caution! By agreeing to use this software, the vendor may access your private files at any time.
Caution! This software is unprotected and may expose you to foriegn programs (virus and worms) that may corrupt your documents.
The benefit to consumers, of course, is that no software manufacture would want to have these labels applied to their software.
Dear Bill,
... kill it.
Perhaps "trying harder" should involve re-design of the operating system; one that places security as a priority vs. an marketing afterthought.
You can start by securing all ports on a shipping OS.
I suggest following that by Eliminating the Virus Transport Protocol (MS Exchange). This is simply the most prolific environment for viruses in the entire world. It's the 80/20 rule here Bill: do the right thing, the hard thing
First step is not automatically running foriegn scripts or code by default, preferably not at all. Second is letting these only run in a sandbox, without access to email address lists. Scriptable access to addresses is suspect in my book: remove this or make it code accessible to administrator priviledges only. Consider the same for MAPI
Hardening the OS would certainly help. Do not allow 3rd party code to run in ring-0, period. You'll have to try harder to make the OS perform without resorting to these tricks; others can do it, you can too.
I would also suggest a concerted effort to examine API susceptible to buffer overflow: anything that accepts fixed length strings.
Finally, share specifics of how you are addressing the problem. We're interested in results, not rally speeches.
Good luck.
We'll be waiting and watching.
I wonder if anyone contacted the Federal Trade Commission on this one. I would have thought this a possible monopoly violation, or at least a serious impingement on other markets. Thoughts?
Worse than that ... at the time I worked for Microsoft, I spoke out about the feature becoming used for virus transmission. This statement was made directly to Balmer in a room of 400 developers ... and the room went silent.
Nothing was ever done about the issue.
The trail behind Microsoft is littered with smart people. And each and every time a new case appears, people somehow belief that "this time is different" or that they are smarter than those who have been trampled before. So the process continues.
It will take more than getting drivers into user space to fix Windows. MS pulled the same trick with graphics.
... real cute.
I had a URL/example (somewhere) that showed how easy it was to get a BSOD with Java by drawing out of bounds. The Java routines called Win32 routines which crashes the Kernel
Ok, maybe you should view what I posted, and re-read the links.
IBM makes claims to Java at 90% speed of C++ in their numerical benchmarks. JavaGrande includes a number of well-respected organizations doing intensive computation, including GRID work. The tests quoted show a wide variety of performance, and you picked on file I/O; yes, one of the worst aspects in those tests. However, note that these are OLD JVM tests, not the significantly improved I/O found in JDK 1.4. (I don't have stats handy but have seen and experienced the claims of improved performance).
Java as an interpreted, cross-platform language will always be at a disadvantage to C++ in terms of raw speed. The again, many equate C++ as "Object Assembly" in the OOP world. That has it's own disadvantages.
Everything depends on how the language gets used. I have written many distributed C++ infrastructures and applications, and find Java a much welcome alternative. In many distributed scenarios it has proven faster, to the surprise of many seasoned collegues. I couldn't even imagine the jirations required to do an equivalent of JINI in C++.
So, why is it that most financial institutions have dropped C++ in favor of Java for server applications? It must suck something fierce, eh?
Java is slow? Maybe that's just your coding. These guys (among others) don't agree with you...
http://www.sosnoski.com/Java/Compare.htmlhttp://www.javagrande.org/jgsc98/index.html
IBM has achieved 90% the speed of C in Java. I personally use the CERN numerical libraries ... very cool, very fast. Java certainly can be fast. I've seen distributed Java beat C++ implementations hands down (that was hard to everyone to believe ... problem was C++ CORBA marshalling and the RTTI overhead in C++).
I've used Squeak, and have a background in coding Smalltalk (Digitalk, ParcPlace, IBM VA). Squeak is a great up-and-coming environment, but FAR from commercial. Can you name one commercial implementation in Squeak?
I think that lack of commercial viability makes Squeak impractical. Java, on the other hand, has scads of drop-in commercial libraries and components. This makes economic sense in business. Java also has a proven track record on the server side, and there are many, many successful commercial implementations in mission critical environments.
And NO, I don't think Java is the perfect enviroment; far from it. I've yet to see my ideal language, and I keep looking on the horizon for a dynamic functional/object/aspect language that performs and holds up in a commercial setting. In the meantime, I've got real work to do.
Apparently this was more of a hit in Japan than in the US. IBM originally thought of dropping the feature, but it was a high demand item when the first AS/400 (silverlake) was released.
The charity discussion has been heatedly myoptic.
There are plenty of non-profit organizations that benefit society, many of which don't go to help the poor or dying. Have you ever planted trees, picked up trash, or given to NPR (National Public Radio)? These types of programs benefit many people and as a whole help improve life (and have nothing to do with the poor or fighting cancer). In the case of NPR, people literally are donating to support an alternative source of news and information that is accessible to all.
It seems to me that GNOME, or any OSS project for that matter, falls into the category of providing an alternative computing resource that is freely accessible to the public. As such, it sounds like an excellent candidate for 501(3)c status.
Some people are irked that GNOME is bundled by commerical entities such as Red Hat. Consider how many other free things get re-packaged and sold successfully (Pet rocks come to mind, as do many free Government publications). In these cases, people are not paying for the commodity good (rocks or docs) but the "perceived value" derived from the final assembled product. The value in Red Hat may be in the distribution (it's conveniently available on my computer retailer's shelves), or on the services they provide to customers. GNOME is a commodity piece in the assembled whole.
I agree.
... Boing Boing Boing!
There is a great deal of armor out there that works well, especially the C2, high-impact rated plastics for racing. I know what I trust from personal experience.
What isn't a good idea is bouncing along after getting thrown off the bike. Good leather abrasion helps bring you to a halt. On the other hand, this suit would have you bounding like a ball down the highway. You are more likely to snap limbs or run into obstacles the further you bounce
Think about throwing a sandbag across the ground vs. a rubber ball.
It's no secret that the XBox is a test ground for pallidium and digital rights management. Consider that with .NET and pervasive DRM chips, MSFT could enforce who participated in "their" network, effectively creating a separate internet.
I stand corrected. My understanding is that C# does not support non-explicit late binding of dynamic loaded classes. That is, I have to know the class to load it.
In Java, only an interface need be known. I can load any implementation and not need "a class adhering to a defined interface".
Congrats on the milestone.
In my view C# lacks two critical features: dynamic class loading and anonymous inner classes. C# can dynamically load packages that are spec'd, but NOT classes. Seems like a half-baked idea compared to Java or other Dynamic OOPL concepts. Anonymous inner classes allows something like Smalltalk block or LISP closure type programming. This is especially useful for implementing patterns and templates, and can greatly reduce code.
Can anyone distinguish C# from CSL capabilities here? Will we have these abilities in the Mono CSL?
I like the idea of MS subsidizing a cheap Linux PC.
Sony has Linux for the PS2; is the XBox worth the effort of a port?