This is just a version of the classic double-slit experiment of quantum mechanics. Deutch believes in multiple universes. He uses this belief to explain the results, but typically for Deutch he says the results prove his belief, which is nonsense. There are many other explanations and one of the strangest aspects of quantum mechanics is that there is probably no way to say which explanation is right. Some of the other explanations are equally weird: the Copenhagen interpretation says that particles only 'collapse' into definite positions when something looks at them. The Transactional interpretation (my favourite) explains the results by assuming that particles are continually interacting back and forth in time. Other ideas include the suggestion that quantum states collapse into what we see when things get large enough for gravity to be significant (to put it simply).
Of course, the most sensible interpretation is to take the scientifically humble attitude and say that we don't fully understand what is going on and can't explain it, rather than to arrogantly assume all results 'prove' your personal metaphysical beliefs.
They cannot, at gunpoint, force consumers to purchase their products. In order to make money, they must provide a product that appeals to the largest number of people possible.
They can, and do, force PC manufacturers to bundle Windows. Windows is not there because it appeals; its there because its pre-installed.
Microsoft made computing mainstream and gives most consumers exactly what they want.
Nonsense. Computing was well on the way to being mainstream before Windows. Apple Macs along with IBM PCs and clones made computing mainstream. Windows was just one of many competing PC interfaces. Windows became dominant because of bundling once computing was mainstream.
And still customers HAVE THAT OPTION. No one is threatening them at gunpoint. They are voluntarily handing over their money, Bill Gates is not mugging them.
Yes he is. Try getting a home computer from a major supplier with anything but Windows installed. Have a look at the sorts of licences bulk users of Windows have to purchase in order to retain reasonably priced support.
We have a lot to go on. Read 'Evolving the Alien' by Ian Stewart and Jack Cohen. There are a huge number of possibilities for life. The main thing we can look for is the presence of thermodynamically unstable compounds in the atmosphere of planets. Examples are oxygen and methane (this is why recent the discovery of methane on Mars is so exciting).
You have to assume that all members of all space-faring cultures haven't ever wanted to travel beyond their solar systems. You have to assume this has been the case for billions of years. (Remember, it only takes one culture to want to travel, and the galaxy is eventually filled).
If not, you have to assume that there is an invisible master race colonising the entire galaxy and preventing all other cultures from travelling far, or preventing them all from visiting earth.
Otherwise, you have to assume that Earth is uniquely horrible to all these spacefaring creatures; so horrible they keep very far away, quiet and hidden.
If an advanced race left their world eons ago, we would see them. They would be here. 'Eons' is a very long time. With the simplest of sublight colony ships, a race could fill the whole galaxy in a few million years. The galaxy has been around for billions of years.
Another problem with media reporting of science is that they treat hard science and controversial views as equal, and they are given equal column inches and airtime. In a discussion about a 'face on Mars' a sane astronomer would be confronted with a 'believer' in a manner which would convince the uneducated listener that there are two valid points of view.
Most people are profoundly uneducated about science because most good science is very difficult. Most science can't be 'popularised' because it takes years of education to understand.
The big deal with Smalltalk (and similar systems) is that if you have an error (even one you have not prepared for with an exception handler). The system will stop with a traceback and allow any operation to be executed, any code to be compiled. Visual Studio is typical Microsoft: You can do some things in a suspended application, but not others. You can't recompile the module where the error occurred and restart, for example. Java 1.4 is part of the way there, with hot-swappable code, but you still only discover errors because of a traceback after the process has terminated.
Once someone have used a good Smalltalk-type environment in which everything is possible at any time, and with refactoring tools as standard, they usually come to realise that products such as Visual Studio are limiting and primitive.
The best debugging system I have ever used is in Smalltalk. Its possible to stop code at any time, and then data can be inspected and altered, new classes coded and methods re-compiled without interrupting execution. When changes have been made code can be re-started or resumed.
Features like exception handling with full stack trace in Java are great, but nothing beats the Smalltalk system of suspending execution and keeping the application 'alive', so it can be modified, inspected and resumed, when an error occurs.
As for the civilisation being more advanced, that could have been because they were on an island that was cut off from the mainland which was infested with barbarians. The islanders could then develop their technology in peace.
There is a small matter of things called 'boats', which have been used for tens of thousands of years. 'Barbarians' are rarely that barbaric and are usually pretty good at getting places.
It really is not worth taking Hancock seriously: He never goes for a simple explanation of things where there is a more complex one he can come up with, and he as never lets facts get in the way of a good story.
Yeah - using Java to develop a database application:
Connection c = DriverManager.getConnection(); Statement s = c.createStatement(); ResultSet set = s.execute("Select id from table");
Well, I can see how that is desperately frustrating, and a major argument for not using Java. Even the supposedly more elegant alternatives - JDO, Hibernate, must be truly awful for you to have lost your regained faith.
As for Swing, its awful. All those drag and drop GUI designers with thousands of pre-designed components that allow you to link controls to databases and handle control events. Terribly steep learning curve, I'm sure.
As for the major struggle in Sun regarding the walkout over Java. It was dreadful. It make the news everwhere. Oops - sorry, it didn't, as it never happened.
Sun is sending very mixed messages, with a major new release of Java out in the summer along with their Java Studio Creator - sure shows a lack of commitment, there!
As for the whole Java debacle... Well, if they can find a way to make money from it, okay. But if not, they need to stop flogging a dead horse, and just bury it.
Of course they make money from it! Apart from the small matter of licencing, companies like Sun develop languages like Java for internal efficiency - you rationalize development systems within a company. Sun now makes a considerable amount from money from selling services, not just hardware. And what is a key part of such services? Java. Why? Because they can sell and provide services on a range of architectures.
Typical Slashdot nonsense: The most in-demand programming language is a 'debacle'?? Looks like the computing industry needs a lot more debacles.
After decades of experience of Microsoft, I have come to the opinion that they deserve all they get.
Microsoft IS the bad guy. They have frequently released very poor quality products, which have been fixed only by pressure of competition. They have manipulated markets and used financial might to stifle competition. They corrupt standards and 'embrace and extend' to kill off technologies they don't like. They are predatory and arrogant and seem to just not get that what is best for the consumer is NOT what is best for Microsoft.
While the noncommercial model may lead to many flavors of software...
Oh come on Steve, you achieve that magnificently with Windows. Your huge range of different versions of Visual Basics and Basic languages for Office for example, requiring major code re-writes between versions of Access. While we wer migrating to VB6, you teased us with VB.Net along with the delights of yet another rewrite of code. The API changes between Windows 95 and ME, between NT 3.51 and 4.0 kept us highly amused and on our toes. The huge range of networking protocols you forced us through while the poor non-commercial people stuck with boring old reliable NFS. We played along with Windows for Workgroups and NETBIOS for years, then as we were getting used to Domains under NT you switched over to Active Directory. We though we knew what HTML was supposed to do until you showed us how you knew better with Internet Explorer. Now you want to change it all yet again with Longhorn.
Now I know what you mean by 'innovation': repeatedly re-inventing the wheel and forcing us to pay for it.
Will end up being another postgres vs. mysql 'battle'
Not quite. J2EE is a standard (well, a set of standards). You should be able to write to a compatible subset of whatever features Geronimo and JBoss provide. If you use EJBs and message queues, these should work on both app servers.
That's an advantage of Java - it means something as a specification. Its not like databases where you can say you implement 'SQL' then provide something massively different from other systems.
There are no simple problems, only problems that seem simple when you start them. Use tools that allow you to deal with these problems when they become complicated and you will save time and effort.
If Java is too complicated you are using it wrong. Coldfusion is bad practice as it encourages large web pages with embedded code. Good practice is to use MVC with systems that are designed for it, such as struts, JSF, Turbine etc.
If you are a fan of coldfusion, you can do the same thing in Java: the JSP standard tag libraries have all the same functionality and the EL (expression language) version allows run-time interpreted code to be embedded. The advantage of JSP is that, unlike cold fusion, it really does run on any platform and it is free if you use something like Tomcat or JBoss.
Having said that, why isn't there an far-reaching OSS project to replace HTML? For one thing I guess it's a lot easier to impose a standard on the world when you have the dominant platform. Will Microsoft convert the web into a network of C# apps? I hope not.
Firstly, Microsoft only have the dominant platform on the client side. Web pages and application servers are server-based technologies. You can't dominate the web or specify server languages at the client side (you may be able to screw up HTML standards with IE, but that is a different matter). C# uptake on the server side has been almost non-existent. The server side is dominated by open-source scripting languages, Java and C.
Furthermore, Longhorn will only start to have an influence when its the system on most desktops. That is very far from the case even with XP.
I don't usually try and post the same thing a second time to try and get modded up, but the 'Informative' parent post is simply factually incorrect. I am not confused at all. The situation is very clear: JSF is a full replacement for struts at all levels, Model, View and Controller. You are confusing the presentation tags of JSF with JSF as a whole.
A direct quote from the author of struts:
"JSF provides functionality that overlaps that of Struts (my misconception was that JSF was strictly a UI component tag library)."
Firstly, Microsoft publishes APIs, but not all of them, and certainly not all the APIs it treats as 'public' in-house, and importantly, not all the APIs that you need to make the best use of Windows. That was what the EU case was about. Just look at the enormous effort that has been required to implement even a small part of the Windows API - networking - through the Samba project, as a result of lack of documentation of fundamental Windows features.
However... The specification of the Java VM and bytes codes is complete. Despite what you say, anyone can implement a Java VM without fear of prosecution. For example, on the Debian site, it clearly states that providing an implementation is 'clean room' and you have not seen or signed any agreements with Sun, you can implement a Java VM. You can't call it 'Java' unless you pass the compatibility tests.
What you can't do is use Sun source code (and particularly stuff in the sun.* packages) to implement your own libraries - you have to do it from scratch.
Contrary to what you say, IBM has produced VMs which don't use Sun source code. An example is the weird VisualAge for Java system which was a Java/Smalltalk bytecode hybrid. Also, IBM's VM is not a re-implementation of Sun's code. It works very differently (and in many ways is more efficient). IBM's java runtimes do not ship with many of the sun.* classes - many of the java libraries have been re-implemented by IBM.
A significany company that has produced a full clean-room Java implementation is HP.
Almost all of the licensing issues are to do with the java libraries, not the language implementation. These are sensible restrictions. If they were not there then one Java platform you might find classes under java.* that were not there under another platform. This was one of the ways that Microsoft tried to tie Java in to Windows.
A big advantage of JSF is that there is already a large community of developers and companies writing tags and libraries that can be used in by developers who code using JSF. You won't have to write your own framework or components.
This is just a version of the classic double-slit experiment of quantum mechanics.
Deutch believes in multiple universes. He uses this belief to explain the results, but typically for Deutch he says the results prove his belief, which is nonsense. There are many other explanations and one of the strangest aspects of quantum mechanics is that there is probably no way to say which explanation is right. Some of the other explanations are equally weird: the Copenhagen interpretation says that particles only 'collapse' into definite positions when something looks at them. The Transactional interpretation (my favourite) explains the results by assuming that particles are continually interacting back and forth in time. Other ideas include the suggestion that quantum states collapse into what we see when things get large enough for gravity to be significant (to put it simply).
Of course, the most sensible interpretation is to take the scientifically humble attitude and say that we don't fully understand what is going on and can't explain it, rather than to arrogantly assume all results 'prove' your personal metaphysical beliefs.
They cannot, at gunpoint, force consumers to purchase their products. In order to make money, they must provide a product that appeals to the largest number of people possible.
They can, and do, force PC manufacturers to bundle Windows. Windows is not there because it appeals; its there because its pre-installed.
Microsoft made computing mainstream and gives most consumers exactly what they want.
Nonsense. Computing was well on the way to being mainstream before Windows. Apple Macs along with IBM PCs and clones made computing mainstream. Windows was just one of many competing PC interfaces. Windows became dominant because of bundling once computing was mainstream.
And still customers HAVE THAT OPTION. No one is threatening them at gunpoint. They are voluntarily handing over their money, Bill Gates is not mugging them.
Yes he is. Try getting a home computer from a major supplier with anything but Windows installed. Have a look at the sorts of licences bulk users of Windows have to purchase in order to retain reasonably priced support.
We have a lot to go on. Read 'Evolving the Alien' by Ian Stewart and Jack Cohen. There are a huge number of possibilities for life. The main thing we can look for is the presence of thermodynamically unstable compounds in the atmosphere of planets. Examples are oxygen and methane (this is why recent the discovery of methane on Mars is so exciting).
Not at all.
To assume otherwise is to make assumptions.
You have to assume that all members of all space-faring cultures haven't ever wanted to travel beyond their solar systems. You have to assume this has been the case for billions of years. (Remember, it only takes one culture to want to travel, and the galaxy is eventually filled).
If not, you have to assume that there is an invisible master race colonising the entire galaxy and preventing all other cultures from travelling far, or preventing them all from visiting earth.
Otherwise, you have to assume that Earth is uniquely horrible to all these spacefaring creatures; so horrible they keep very far away, quiet and hidden.
Those are BIG assumptions, and hard to justify.
As someone said - "xenobiologists are good at designing experiments to look for xenobiologists". Who says you need terrestrial planets for life?
If an advanced race left their world eons ago, we would see them. They would be here. 'Eons' is a very long time. With the simplest of sublight colony ships, a race could fill the whole galaxy in a few million years. The galaxy has been around for billions of years.
Another problem with media reporting of science is that they treat hard science and controversial views as equal, and they are given equal column inches and airtime. In a discussion about a 'face on Mars' a sane astronomer would be confronted with a 'believer' in a manner which would convince the uneducated listener that there are two valid points of view.
Most people are profoundly uneducated about science because most good science is very difficult. Most science can't be 'popularised' because it takes years of education to understand.
The big deal with Smalltalk (and similar systems) is that if you have an error (even one you have not prepared for with an exception handler). The system will stop with a traceback and allow any operation to be executed, any code to be compiled. Visual Studio is typical Microsoft: You can do some things in a suspended application, but not others. You can't recompile the module where the error occurred and restart, for example. Java 1.4 is part of the way there, with hot-swappable code, but you still only discover errors because of a traceback after the process has terminated.
Once someone have used a good Smalltalk-type environment in which everything is possible at any time, and with refactoring tools as standard, they usually come to realise that products such as Visual Studio are limiting and primitive.
The best debugging system I have ever used is in Smalltalk. Its possible to stop code at any time, and then data can be inspected and altered, new classes coded and methods re-compiled without interrupting execution. When changes have been made code can be re-started or resumed.
Features like exception handling with full stack trace in Java are great, but nothing beats the Smalltalk system of suspending execution and keeping the application 'alive', so it can be modified, inspected and resumed, when an error occurs.
As for the civilisation being more advanced, that could have been because they were on an island that was cut off from the mainland which was infested with barbarians. The islanders could then develop their technology in peace.
There is a small matter of things called 'boats', which have been used for tens of thousands of years. 'Barbarians' are rarely that barbaric and are usually pretty good at getting places.
It really is not worth taking Hancock seriously: He never goes for a simple explanation of things where there is a more complex one he can come up with, and he as never lets facts get in the way of a good story.
IBM's Eclipse can be used for C++. Works on Linux.
IBM's VisualAge C++ has been around for a long, time. All the VisualAge products include powerful refactoring tools.
Yeah - using Java to develop a database application:
Connection c = DriverManager.getConnection();
Statement s = c.createStatement();
ResultSet set = s.execute("Select id from table");
Well, I can see how that is desperately frustrating, and a major argument for not using Java. Even the supposedly more elegant alternatives - JDO, Hibernate, must be truly awful for you to have lost your regained faith.
As for Swing, its awful. All those drag and drop GUI designers with thousands of pre-designed components that allow you to link controls to databases and handle control events. Terribly steep learning curve, I'm sure.
As for the major struggle in Sun regarding the walkout over Java. It was dreadful. It make the news everwhere. Oops - sorry, it didn't, as it never happened.
Sun is sending very mixed messages, with a major new release of Java out in the summer along with their Java Studio Creator - sure shows a lack of commitment, there!
As for the whole Java debacle... Well, if they can find a way to make money from it, okay. But if not, they need to stop flogging a dead horse, and just bury it.
Of course they make money from it! Apart from the small matter of licencing, companies like Sun develop languages like Java for internal efficiency - you rationalize development systems within a company. Sun now makes a considerable amount from money from selling services, not just hardware. And what is a key part of such services? Java. Why? Because they can sell and provide services on a range of architectures.
Typical Slashdot nonsense: The most in-demand programming language is a 'debacle'?? Looks like the computing industry needs a lot more debacles.
After decades of experience of Microsoft, I have come to the opinion that they deserve all they get.
Microsoft IS the bad guy. They have frequently released very poor quality products, which have been fixed only by pressure of competition. They have manipulated markets and used financial might to stifle competition. They corrupt standards and 'embrace and extend' to kill off technologies they don't like. They are predatory and arrogant and seem to just not get that what is best for the consumer is NOT what is best for Microsoft.
J2EE is a far more than just EJB and EQL. There are huge amounts of compatible APIs such as JavaMail, JSP, Servlets, MX, MQ.
You are talking about minor extensions, which is totally unlike the fundamental differences between many so-called SQL databasses.
While the noncommercial model may lead to many flavors of software...
Oh come on Steve, you achieve that magnificently with Windows. Your huge range of different versions of Visual Basics and Basic languages for Office for example, requiring major code re-writes between versions of Access. While we wer migrating to VB6, you teased us with VB.Net along with the delights of yet another rewrite of code. The API changes between Windows 95 and ME, between NT 3.51 and 4.0 kept us highly amused and on our toes. The huge range of networking protocols you forced us through while the poor non-commercial people stuck with boring old reliable NFS. We played along with Windows for Workgroups and NETBIOS for years, then as we were getting used to Domains under NT you switched over to Active Directory. We though we knew what HTML was supposed to do until you showed us how you knew better with Internet Explorer. Now you want to change it all yet again with Longhorn.
Now I know what you mean by 'innovation': repeatedly re-inventing the wheel and forcing us to pay for it.
Will end up being another postgres vs. mysql 'battle'
Not quite. J2EE is a standard (well, a set of standards). You should be able to write to a compatible subset of whatever features Geronimo and JBoss provide. If you use EJBs and message queues, these should work on both app servers.
That's an advantage of Java - it means something as a specification. Its not like databases where you can say you implement 'SQL' then provide something massively different from other systems.
There are no simple problems, only problems that seem simple when you start them. Use tools that allow you to deal with these problems when they become complicated and you will save time and effort.
If Java is too complicated you are using it wrong. Coldfusion is bad practice as it encourages large web pages with embedded code. Good practice is to use MVC with systems that are designed for it, such as struts, JSF, Turbine etc.
If you are a fan of coldfusion, you can do the same thing in Java: the JSP standard tag libraries have all the same functionality and the EL (expression language) version allows run-time interpreted code to be embedded. The advantage of JSP is that, unlike cold fusion, it really does run on any platform and it is free if you use something like Tomcat or JBoss.
Having said that, why isn't there an far-reaching OSS project to replace HTML? For one thing I guess it's a lot easier to impose a standard on the world when you have the dominant platform. Will Microsoft convert the web into a network of C# apps? I hope not.
Firstly, Microsoft only have the dominant platform on the client side. Web pages and application servers are server-based technologies. You can't dominate the web or specify server languages at the client side (you may be able to screw up HTML standards with IE, but that is a different matter). C# uptake on the server side has been almost non-existent. The server side is dominated by open-source scripting languages, Java and C.
Furthermore, Longhorn will only start to have an influence when its the system on most desktops. That is very far from the case even with XP.
I don't usually try and post the same thing a second time to try and get modded up, but the 'Informative' parent post is simply factually incorrect. I am not confused at all. The situation is very clear: JSF is a full replacement for struts at all levels, Model, View and Controller. You are confusing the presentation tags of JSF with JSF as a whole.
A direct quote from the author of struts:
"JSF provides functionality that overlaps that
of Struts (my misconception was that JSF was strictly a UI component tag library)."
You have the same misconception.
Where do I start?
Firstly, Microsoft publishes APIs, but not all of them, and certainly not all the APIs it treats as 'public' in-house, and importantly, not all the APIs that you need to make the best use of Windows. That was what the EU case was about. Just look at the enormous effort that has been required to implement even a small part of the Windows API - networking - through the Samba project, as a result of lack of documentation of fundamental Windows features.
However... The specification of the Java VM and bytes codes is complete. Despite what you say, anyone can implement a Java VM without fear of prosecution. For example, on the Debian site, it clearly states that providing an implementation is 'clean room' and you have not seen or signed any agreements with Sun, you can implement a Java VM. You can't call it 'Java' unless you pass the compatibility tests.
What you can't do is use Sun source code (and particularly stuff in the sun.* packages) to implement your own libraries - you have to do it from scratch.
Contrary to what you say, IBM has produced VMs which don't use Sun source code. An example is the weird VisualAge for Java system which was a Java/Smalltalk bytecode hybrid. Also, IBM's VM is not a re-implementation of Sun's code. It works very differently (and in many ways is more efficient). IBM's java runtimes do not ship with many of the sun.* classes - many of the java libraries have been re-implemented by IBM.
A significany company that has produced a full clean-room Java implementation is HP.
Almost all of the licensing issues are to do with the java libraries, not the language implementation. These are sensible restrictions. If they were not there then one Java platform you might find classes under java.* that were not there under another platform. This was one of the ways that Microsoft tried to tie Java in to Windows.
A big advantage of JSF is that there is already a large community of developers and companies writing tags and libraries that can be used in by developers who code using JSF. You won't have to write your own framework or components.