The Beanshell language may be implemented in the Java language and run in a Java environment but it is not Java.
There seems to be some confusion about this. Let me quote from the BeanShell website:
"BeanShell executes standard Java statements and expressions..."
"BeanShell is a dynamically interpreted Java, plus some useful stuff."
"Transparent access to all Java objects and APIs."
With BeanShell you have a command prompt. You can type in Java code. The Java code runs. That sure sounds like 'Java' to me!
unsuitable for quick scripting.
Yet again I am going to have to point out that this is not the point that was being made.
Let me repeat:
The article said:
'Java was completely unusable in a scripting environment'.
Not 'awkward to use', not 'slow to use', but completely unusable
I have clearly pointed out that there are examples where java is absolutely used for scripting. That was more than BeanShell - it includes pure Java code in JSP scriptlets.
By any rational use of logic, the phrase 'completely unusable' is nonsense, and was written by someone who simply did not know what they were talking about.
He excluded the search engines which could not handle special characters easily -- you idiot!
So the result-set is biased, towards java.
Read this carefully, and I'll explain.
As a scientist, I understand the need for good sampling and bias. Therefore, I did not use job search engines which had a problem with C++ or C#. It would have been statistical nonsense to include any search results for which C# or C++ showed zero.
So, all the job search engines I used showed thousands of C++ and C# jobs. Unless you believe that these search engines either randomly or selectively block a fixed proportion of pages with C++ or C# on, its very hard to see why there should be a bias. The idea of a bias is extremely hard to understand - after all, why would job search engines designed for use by IT people selectively exclude some jobs?
If you don't believe me, all you have to do is do a little research. Look at published reports on the Job market.
I would argue that this is not true. You can type in and execute Java code into the BeanShell prompt and it will execute interactively. BeanShell itself is written 100% in Java.
You may say its not Java because its not a part of the standard Java APIs, but there are plenty of other scripting extensions to Java that are: Java scriptlets in JSP pages; the Java Standard Tag Library in JSP pages.
I can complete most string manipulation tasks in Perl in 5 lines as compared to over 100 in Java.
Yes, Perl is a very consise language that is superb for scripting. For string manipulation and many other tasks it's unbeatable.
Java is simply not suitable in a scripting environment.
That was not the point that was being made. The article said 'Java was completely unusable in a scripting environment'. This not true. Perhaps the most widely used example is JSP, the java equivalent to PHP and ASP. You can open up a JSP page, type in Java code, and have that page run immediately as part of a live web application. As with PHP you can add and edit pages containing code without shutting anything down. As far as the developer is concerned there is no compile-edit-run cycle. If that is not scripting, what is?
OK, I give in. You have a wonderful discussion ability that makes me feel truly humble.
You have changed my mind. I wish to work with you to ensure that any idea of a standard compatible Java is thrown out. This will help the employment in the computing industry as huge numbers of new developers will need to be employed to cope with all the incompatible versions.
I now see that the GPL is the only way to go for everything, and we should not allow anyone a choice to do anything thing else. All software and hardware investions should be forced to use it, after all, when has the commercial motive helped anyone? Any company like Sun who comes up with an idea should be forced to have that idea taken away from them and given to the open sourcers.
As for Java, yes, let's all should 'Die Java', because a few of us shouting that is surely going to stop those millions of developers who use it.
I beg forgiveness for every having dared to disagree.
Not necessarily. The problem is that, presuming every problem has a language best suited for solving it, I don't have the time to learn a huge number of languages.
Very true. There is also the matter of having to spend time evaluating which language is best for a task.
A good developer will build up a repository of useful libraries and re-usable code. It makes no sense to try and keep this code around in several different languages. Its best to stick with one general purpose language and do the best you can.
There are some silly mistakes in this article, suggesting that the author does not really understand the languages he is comparing.
Here are some examples:
for 'return exit code error (non zero) if a file does not exist' and 'return exit code error (non zero) if a file is not readable. There is no Java or C# code supplied. Java can easily test this: for example
new File(filePath).canRead();
and
new File(filePath).exists();
and I'm sure C# can as well.
There are other omissions: Under Java 1.5, the System.getenv() method allows access to environment variables.
Also, saying Java is completely unusable in a scripting environment is nonsense. The BeanShell system has been around for years, and allows java to be run as if it were a scripting language, both from a command prompt or from script files. Java 'scriptlets' on JSP web pages are very common. Finally, there is a PHP/Java interface.
I don't know C# well, but I'm sure there are similar facilities for that language.
...recursively combine words into a meaningful sentence
This is not a useful distinction, as its hard to define 'meaningful sentence'. There are stages in language development in children, and many animals seem to show equivalent word combinations to young humans.
Its a continuum: Human language capacity did not appear suddenly fully-formed. Its likely that humanoids before us had some language ability, perhaps with less complex grammar and vocabulary.
However, language is a highly controversial indication of sentience. It's possible to imagine self-awareness, and the ability to conceive that others exist and they are like you (a theory of mind) without the need for any language at all.
Its also possible that language, like vision, has evolved independently many times. Whale song is complex, and we have no idea yet if it has anything we would understand as words or grammar, but maybe that's just putting our interpretation on things. Its clear that chimps and parrots are able to combine words in innovative ways to form something that seems like a 'proto-sentence'.
because animals can't communicate meaningfully using only single words.
Why not? Humans can do this. It's usually obvious what I mean if I say things like:
'Yes', 'No', 'Stop', 'Hungry', 'Busy', 'Bored', 'Whatever' etc. Some animals show a similar meaningful single-word use.
This argument seems to me to be self-fulfilling: if you defining sentience in terms of human attributes, then you will of course define anything lacking those attributes as non-sentient.
There is no such thing as a sentient non-homosapien. There may be varying levels of intelligence among the animals, but no animal can reason, they can only react to their surroundings as dictated by their instincts.
This is simply wrong. The higher apes show clear evidence of reason, as do many dogs, elephants, cetaceans, and even some birds - the parrots and corvidae. Many of these animals demonstrate something called 'theory of mind' - they can put themselves in the place of others, figure out what those others are thinking, and practice deception. Its easy to show that apes and dolphins can recognise themselves in mirrors, indicating a sense of self-awareness. Even octopuses and squids can relate to each other in complex ways and communicate.
A good demonstration that things are not instinct is because many of these behaviours can be learned and passed on as a form of culture. This is shown in apes, with food-washing, bathing and tool-making. There is recent evidence that such cultural patterns may be present in birds, with some crows learning how to design and use simple tools to get at food.
On the other hand, multiple versions of.NET can be installed and coexist,
I'd be impressed if they can - my personal experience of installing multiple versions of anything under Windows makes me doubtful...
All other APIs I've seen have been fairly stable across versions.
Perhaps I'm so bitter and cynical about Microsoft because I have experienced such changes:)
Here are some examples: Win3.51 to Win4.0 The whole mess of Win32s on Win3.1 Visual Basic, Basic for Application compatibility. At least two rounds of major macro incompatibilities and API changes in versions of MS Access. Security system changes in different NT service packs. Visual Basic to VB.Net The loss of the PenWindows API.
And, no, that's not why Java has achieved the modest success it has.
Strange use of the word modest. I guess you mean it like 'Microsoft Windows has been a modest success on the desktop'.
Java became successful because it looked like the only viable response to Microsoft, but those days are over. Java is living on borrowed time.
A statement that is in complete contrast to the evidence. Java is not only by far the most popular development language, but its use is growing. You must know this, if you keep up with the IT industry press and websites.
C#, in contrast, gives me native Windows and Gnome bindings on the respective platforms and much easier and much more efficient use of native code and native data.
You can get native Windows and Gnome bindings with Java too, using SWT.
As for more efficiency, you are just making that up: there is no evidence for it. Good Linux JVMs such as IBM's run equivalent code faster than C++, and so much faster than C#. I think you should check your facts, or at least download some Java VMs and run benchmarks, rather than quote second-hand wishful-thinking statements.
Yes: it leads to the kind of lousy user interfaces and poor platform integration people produce in Swing/Java.
Then don't use Swing. Most java developers don't. They use features of Java that are exceptionally well integrated with platforms such as multithreading and JIT compiling. If you want a more integrated GUI, use SWT or BISS-AWT, or Java-GTK.
Dragging up that a tiny bit of the Java platform has been implemented independently when I explicitly talked about independent implementations of the Java platform is highly disingenuous of you.
You are the the first person who I have encountered who is willing to call the JVM a 'tiny bit of the Java platform', considering the huge investment of time and money that major companies have invested in it.
Stop the bullshitting. You know full well that a JVM by itself is useless. You know full well that none of the independent implementations have ever passed certification as implementations of the standard-edition Java 2 platform.
Simply refuting your points is a strange definition of 'bullshitting'.
You said that all implementations required Sun's code. You said nothing about certification. HPs Java has been certificated.
All certification means is that the implementation can use the name 'Java'.
Anyone can slap together a compiler and call it 'C#' - there is no guarantee of core library compatibility.
Those companies made a commitment to supporting Java long before Sun created the current mess, when Sun was still pretending that Java was going to be submitted to an independent standards body.
What 'mess'?
Sun was pretending nothing. If they had not been protective about Java, maintaining standards and compatibility in the face of huge pressure from companies like Microsoft who wished to fragment the market, Java would not be by far the dominant programming language.
A bit of advice - calm down; relax. If you don't like Java, don't use it. Getting heated up about this will neither convince me about your argument, or remove Java from the face of the planet!
That will (thankfully) never be the case, since C#/.NET isn't trying to be like Java. Unlike Java, C# developers are not yoked to a cross-platform philosophy.
So cross-platform is some kind of disadvantage? Perhaps you had better explain that to Perl, C++ and Python developers.
Just like C++, C# is used with different kinds of frameworks and libraries, many of them platform specific. And, hard as that may be for you to comprehend, many people want that.
Yes, that is why Java is so successful, as thousands of Java apps can and do use platform specific code: Eclipse is one example. There is nothing to stop you writing or using platform specific and native code libraries.
since all implementations of the Java platform rely on code licensed from Sun,
The HP VM is clean room, and uses no Sun code, as is Kaffe, and Taurus, and Japhar, and GCC.
Basically, the notion that the JCP is an open or independent process is laughable.
As if companies such as Oracle, IBM and HP, who are major competitors of Sun would join a process which was not independent and open.
Add-on UI toolkits are either slow (because they can't use native code)
What UI toolkits do use native code? Apart from some highly specialised hardware, every GUI ever invented is an emulation. Do you think the checkboxes and buttons on PocketPC machines are some sort of hardware?
And in any case, lack of standard means every decent application has it's own L&F to learn.
So what? Do people find things like Windows Media player difficult because the buttons are different shapes from those in MS Word?
I can't imagine how Sun justified not including AWT.
Portability. Unlike.Net, j2me is designed to be downwardly scalable to devices with working memory footprints of a few hundred kilobytes. Its about true portability, not just working in power-hungry cut-down versions of Windows.
Because the included functionality is not enough to write an application that looks like it belongs to the device.
You don't seem to understand J2ME. The functionality libraries are provided by the device manufacturer, so that they do look like it belongs to the device.
As for security, you want security from programs that I install myself on my own PDA?
You bet I do. I don't want a program to corrupt memory or attempt to use hardware or a phone connection unless I want it to.
Am I the only one here positively giddy about the concept of the GNU Project trying to embrace and extend.NET, the product of that king of embrace and extend, Microsoft? After all, just think of the irony!
I hope you are one of the few keen on that idea, as I think its an incredibly dangerous idea. Do you think Microsoft would allow any 'embrace and extent' strategy to work? Its their technology; if open source versions of.Net get to popular they can easily dump.Net, come up with something else and declare that the standard development environment for Windows.
Of course, you can only embrace and extend a product if you have the time and resources to provide something that is (1) totally compatible and (2) has more features. Do you seriously think Microsoft would let (1) happen? Every single thing they have done has confirmed their strategy of trying to cooerce users and developers onto Windows.
Well, in this case I was using job search engines that could cope with C++.
This is a silly argument. If the search engines could not cope with 'C#' I would not have found anything at all. Instead I found thousands of clearly labelled C# jobs. On the same search engines I found vastly more C++ jobs, but still nowhere near the number of Java jobs.
The conclusion is unavoidable:.Net has barely made an impact on C++ jobs, let alone Java. (I realise that managed C++ can be used in.Net, but there is almost not demand for that).
Then, the corporation can choose whichever best fits their needs at the moment, or will best fit them in the near future.
I think you are missing the point. Microsoft can easily ensure that dotGNU is never advanced enough in comparison with.Net. They can add bytecodes, provide specialised SQLServer integration, or things like handwriting libraries. Microsoft can ensure that other.Net implementations never give the 'True.Net Experience'. Of course, only Microsoft extensions to.Net will be 'certified' as standard parts of the platform.
Open source versions of.Net will never truly compete with MS.Net because they will always have to play catch-up.
You have to remember that has a huge installbase of.NET
There is no evidence of this. Only a very small percentage of PCs and servers have.Net installed.
making breaking changes will have a negative impact on their customers.
That has not stopped them before. I speak from 25 year experience with their developer tools. Microsoft have been adding incompatible features and screwing about with APIs for decades.
Obviously PERL is widly popular, but I think many Slashdotters would be surprised at how widely used FORTRAN and COBOL are.
The Beanshell language may be implemented in the Java language and run in a Java environment but it is not Java.
There seems to be some confusion about this.
Let me quote from the BeanShell website:
"BeanShell executes standard Java statements and expressions..."
"BeanShell is a dynamically interpreted Java, plus some useful stuff."
"Transparent access to all Java objects and APIs."
With BeanShell you have a command prompt. You can type in Java code. The Java code runs. That sure sounds like 'Java' to me!
unsuitable for quick scripting.
Yet again I am going to have to point out that this is not the point that was being made.
Let me repeat:
The article said:
'Java was completely unusable in a scripting environment'.
Not 'awkward to use', not 'slow to use', but completely unusable
I have clearly pointed out that there are examples where java is absolutely used for scripting. That was more than BeanShell - it includes pure Java code in JSP scriptlets.
By any rational use of logic, the phrase 'completely unusable' is nonsense, and was written by someone who simply did not know what they were talking about.
He excluded the search engines which could not handle special characters easily -- you idiot!
So the result-set is biased, towards java.
Read this carefully, and I'll explain.
As a scientist, I understand the need for good sampling and bias. Therefore, I did not use job search engines which had a problem with C++ or C#.
It would have been statistical nonsense to include any search results for which C# or C++ showed zero.
So, all the job search engines I used showed thousands of C++ and C# jobs. Unless you believe that these search engines either randomly or selectively block a fixed proportion of pages with C++ or C# on, its very hard to see why there should be a bias. The idea of a bias is extremely hard to understand - after all, why would job search engines designed for use by IT people selectively exclude some jobs?
If you don't believe me, all you have to do is do a little research. Look at published reports on the Job market.
Beanshell is not Java, so your point is moot..
I would argue that this is not true. You can type in and execute Java code into the BeanShell prompt and it will execute interactively. BeanShell itself is written 100% in Java.
You may say its not Java because its not a part of the standard Java APIs, but there are plenty of other scripting extensions to Java that are: Java scriptlets in JSP pages; the Java Standard Tag Library in JSP pages.
I can complete most string manipulation tasks in Perl in 5 lines as compared to over 100 in Java.
Yes, Perl is a very consise language that is superb for scripting. For string manipulation and many other tasks it's unbeatable.
Java is simply not suitable in a scripting environment.
That was not the point that was being made. The article said 'Java was completely unusable in a scripting environment'. This not true. Perhaps the most widely used example is JSP, the java equivalent to PHP and ASP. You can open up a JSP page, type in Java code, and have that page run immediately as part of a live web application. As with PHP you can add and edit pages containing code without shutting anything down. As far as the developer is concerned there is no compile-edit-run cycle. If that is not scripting, what is?
OK, I give in. You have a wonderful discussion ability that makes me feel truly humble.
You have changed my mind. I wish to work with you to ensure that any idea of a standard compatible Java is thrown out. This will help the employment in the computing industry as huge numbers of new developers will need to be employed to cope with all the incompatible versions.
I now see that the GPL is the only way to go for everything, and we should not allow anyone a choice to do anything thing else. All software and hardware investions should be forced to use it, after all, when has the commercial motive helped anyone? Any company like Sun who comes up with an idea should be forced to have that idea taken away from them and given to the open sourcers.
As for Java, yes, let's all should 'Die Java', because a few of us shouting that is surely going to stop those millions of developers who use it.
I beg forgiveness for every having dared to disagree.
Not necessarily. The problem is that, presuming every problem has a language best suited for solving it, I don't have the time to learn a huge number of languages.
Very true. There is also the matter of having to spend time evaluating which language is best for a task.
A good developer will build up a repository of useful libraries and re-usable code. It makes no sense to try and keep this code around in several different languages. Its best to stick with one general purpose language and do the best you can.
Not Just PHP. Its the same in JSP, ASP or any web page scripting language.
There are some silly mistakes in this article, suggesting that the author does not really understand the languages he is comparing.
Here are some examples:
for 'return exit code error (non zero) if a file does not exist' and 'return exit code error (non zero) if a file is not readable. There is no Java or C# code supplied. Java can easily test this: for example
new File(filePath).canRead();
and
new File(filePath).exists();
and I'm sure C# can as well.
There are other omissions:
Under Java 1.5, the System.getenv() method allows access to environment variables.
Also, saying Java is completely unusable in a scripting environment is nonsense. The BeanShell system has been around for years, and allows java to be run as if it were a scripting language, both from a command prompt or from script files. Java 'scriptlets' on JSP web pages are very common. Finally, there is a PHP/Java interface.
I don't know C# well, but I'm sure there are similar facilities for that language.
...recursively combine words into a meaningful sentence
This is not a useful distinction, as its hard to define 'meaningful sentence'. There are stages in language development in children, and many animals seem to show equivalent word combinations to young humans.
Its a continuum: Human language capacity did not appear suddenly fully-formed. Its likely that humanoids before us had some language ability, perhaps with less complex grammar and vocabulary.
However, language is a highly controversial indication of sentience. It's possible to imagine self-awareness, and the ability to conceive that others exist and they are like you (a theory of mind) without the need for any language at all.
Its also possible that language, like vision, has evolved independently many times. Whale song is complex, and we have no idea yet if it has anything we would understand as words or grammar, but maybe that's just putting our interpretation on things. Its clear that chimps and parrots are able to combine words in innovative ways to form something that seems like a 'proto-sentence'.
because animals can't communicate meaningfully using only single words.
Why not? Humans can do this. It's usually obvious what I mean if I say things like:
'Yes', 'No', 'Stop', 'Hungry', 'Busy', 'Bored', 'Whatever' etc. Some animals show a similar meaningful single-word use.
This argument seems to me to be self-fulfilling: if you defining sentience in terms of human attributes, then you will of course define anything lacking those attributes as non-sentient.
Reminds me of the text of a Garry Larson cartoon:
"What dogs are really saying:
Hey! Hey! Hi! Hey! Hey!"
Oh, my dog can. She makes a whine that definitely means 'if you ignore this noise I will bark'.
There is no such thing as a sentient non-homosapien. There may be varying levels of intelligence among the animals, but no animal can reason, they can only react to their surroundings as dictated by their instincts.
This is simply wrong. The higher apes show clear evidence of reason, as do many dogs, elephants, cetaceans, and even some birds - the parrots and corvidae. Many of these animals demonstrate something called 'theory of mind' - they can put themselves in the place of others, figure out what those others are thinking, and practice deception. Its easy to show that apes and dolphins can recognise themselves in mirrors, indicating a sense of self-awareness. Even octopuses and squids can relate to each other in complex ways and communicate.
A good demonstration that things are not instinct is because many of these behaviours can be learned and passed on as a form of culture. This is shown in apes, with food-washing, bathing and tool-making. There is recent evidence that such cultural patterns may be present in birds, with some crows learning how to design and use simple tools to get at food.
Dyslexically, I read that as 'Dog Trained on Word 200...'
A cut-down version for non-humans?
On the other hand, multiple versions of .NET can be installed and coexist,
:)
I'd be impressed if they can - my personal experience of installing multiple versions of anything under Windows makes me doubtful...
All other APIs I've seen have been fairly stable across versions.
Perhaps I'm so bitter and cynical about Microsoft because I have experienced such changes
Here are some examples:
Win3.51 to Win4.0
The whole mess of Win32s on Win3.1
Visual Basic, Basic for Application compatibility.
At least two rounds of major macro incompatibilities and API changes in versions of MS Access.
Security system changes in different NT service packs.
Visual Basic to VB.Net
The loss of the PenWindows API.
And, no, that's not why Java has achieved the modest success it has.
Strange use of the word modest. I guess you mean it like 'Microsoft Windows has been a modest success on the desktop'.
Java became successful because it looked like the only viable response to Microsoft, but those days are over. Java is living on borrowed time.
A statement that is in complete contrast to the evidence. Java is not only by far the most popular development language, but its use is growing. You must know this, if you keep up with the IT industry press and websites.
C#, in contrast, gives me native Windows and Gnome bindings on the respective platforms and much easier and much more efficient use of native code and native data.
You can get native Windows and Gnome bindings with Java too, using SWT.
As for more efficiency, you are just making that up: there is no evidence for it. Good Linux JVMs such as IBM's run equivalent code faster than C++, and so much faster than C#. I think you should check your facts, or at least download some Java VMs and run benchmarks, rather than quote second-hand wishful-thinking statements.
Yes: it leads to the kind of lousy user interfaces and poor platform integration people produce in Swing/Java.
Then don't use Swing. Most java developers don't. They use features of Java that are exceptionally well integrated with platforms such as multithreading and JIT compiling. If you want a more integrated GUI, use SWT or BISS-AWT, or Java-GTK.
Dragging up that a tiny bit of the Java platform has been implemented independently when I explicitly talked about independent implementations of the Java platform is highly disingenuous of you.
You are the the first person who I have encountered who is willing to call the JVM a 'tiny bit of the Java platform', considering the huge investment of time and money that major companies have invested in it.
Stop the bullshitting. You know full well that a JVM by itself is useless. You know full well that none of the independent implementations have ever passed certification as implementations of the standard-edition Java 2 platform.
Simply refuting your points is a strange definition of 'bullshitting'.
You said that all implementations required Sun's code. You said nothing about certification. HPs Java has been certificated.
All certification means is that the implementation can use the name 'Java'.
Anyone can slap together a compiler and call it 'C#' - there is no guarantee of core library compatibility.
Those companies made a commitment to supporting Java long before Sun created the current mess, when Sun was still pretending that Java was going to be submitted to an independent standards body.
What 'mess'?
Sun was pretending nothing. If they had not been protective about Java, maintaining standards and compatibility in the face of huge pressure from companies like Microsoft who wished to fragment the market, Java would not be by far the dominant programming language.
A bit of advice - calm down; relax. If you don't like Java, don't use it. Getting heated up about this will neither convince me about your argument, or remove Java from the face of the planet!
No mention of standards.
Then you did not look very far. From their Markup section:
"It brings the rigor of XML to Web pages and is the keystone in W3C's work to create standards.."
And while membership is not restricted to vendors per se, vendor corporations are the major players.
Therefore, by definition, it is not a vendor consortium.
Definition of consortium: "an association of companies."
W3C is not an association of companies.
So, yes, it works, but yes they are big limitation on it....
If that were the case, it would not run on mobile devices with only a few MB of memory. Of course, it does.
That will (thankfully) never be the case, since C#/.NET isn't trying to be like Java. Unlike Java, C# developers are not yoked to a cross-platform philosophy.
So cross-platform is some kind of disadvantage? Perhaps you had better explain that to Perl, C++ and Python developers.
Just like C++, C# is used with different kinds of frameworks and libraries, many of them platform specific. And, hard as that may be for you to comprehend, many people want that.
Yes, that is why Java is so successful, as thousands of Java apps can and do use platform specific code: Eclipse is one example. There is nothing to stop you writing or using platform specific and native code libraries.
since all implementations of the Java platform rely on code licensed from Sun,
The HP VM is clean room, and uses no Sun code, as is Kaffe, and Taurus, and Japhar, and GCC.
Basically, the notion that the JCP is an open or independent process is laughable.
As if companies such as Oracle, IBM and HP, who are major competitors of Sun would join a process which was not independent and open.
But I guess you know better than them.
Add-on UI toolkits are either slow (because they can't use native code)
.Net, j2me is designed to be downwardly scalable to devices with working memory footprints of a few hundred kilobytes. Its about true portability, not just working in power-hungry cut-down versions of Windows.
What UI toolkits do use native code? Apart from some highly specialised hardware, every GUI ever invented is an emulation. Do you think the checkboxes and buttons on PocketPC machines are some sort of hardware?
And in any case, lack of standard means every decent application has it's own L&F to learn.
So what? Do people find things like Windows Media player difficult because the buttons are different shapes from those in MS Word?
I can't imagine how Sun justified not including AWT.
Portability. Unlike
Because the included functionality is not enough to write an application that looks like it belongs to the device.
You don't seem to understand J2ME. The functionality libraries are provided by the device manufacturer, so that they do look like it belongs to the device.
As for security, you want security from programs that I install myself on my own PDA?
You bet I do. I don't want a program to corrupt memory or attempt to use hardware or a phone connection unless I want it to.
A bureacracy controlled by Sun.
.Net where the whole thing is specified and extended by Microsoft? That is a perverse attitude.
Nonsense. If that were the case, Sun's competitors would not have joined.
Over which Sun has absolute veto power.
Well they invented the damn language!
So you prefer
Am I the only one here positively giddy about the concept of the GNU Project trying to embrace and extend .NET, the product of that king of embrace and extend, Microsoft? After all, just think of the irony!
.Net get to popular they can easily dump .Net, come up with something else and declare that the standard development environment for Windows.
I hope you are one of the few keen on that idea, as I think its an incredibly dangerous idea. Do you think Microsoft would allow any 'embrace and extent' strategy to work? Its their technology; if open source versions of
Of course, you can only embrace and extend a product if you have the time and resources to provide something that is (1) totally compatible and (2) has more features. Do you seriously think Microsoft would let (1) happen? Every single thing they have done has confirmed their strategy of trying to cooerce users and developers onto Windows.
Well, in this case I was using job search engines that could cope with C++.
.Net has barely made an impact on C++ jobs, let alone Java. (I realise that managed C++ can be used in .Net, but there is almost not demand for that).
This is a silly argument. If the search engines could not cope with 'C#' I would not have found anything at all. Instead I found thousands of clearly labelled C# jobs. On the same search engines I found vastly more C++ jobs, but still nowhere near the number of Java jobs.
The conclusion is unavoidable:
Then, the corporation can choose whichever best fits their needs at the moment, or will best fit them in the near future.
.Net. They can add bytecodes, provide specialised SQLServer integration, or things like handwriting libraries. Microsoft can ensure that other .Net implementations never give the 'True .Net Experience'. Of course, only Microsoft extensions to .Net will be 'certified' as standard parts of the platform.
.Net will never truly compete with MS .Net because they will always have to play catch-up.
I think you are missing the point. Microsoft can easily ensure that dotGNU is never advanced enough in comparison with
Open source versions of
You have to remember that has a huge installbase of .NET
.Net installed.
There is no evidence of this. Only a very small percentage of PCs and servers have
making breaking changes will have a negative impact on their customers.
That has not stopped them before. I speak from 25 year experience with their developer tools. Microsoft have been adding incompatible features and screwing about with APIs for decades.