18 Mar 2004 yakk   » (Master)


I wrote some code that was meant to syndicate my WordPress based weblog here, but it doesn't work right and I don't think I'll fix it till 1.2 is out where they've cleaned up the extension/plugin mechanism.

Java / Mono / Patents / Free Software


I think at this point or soon on an asthetic level Java and C# will be pretty much on par. The one thing that has kept me from being too interested in either language is the lack of generic collection classes. I can't bring myself to use java.util.Vector and all the casting and exception catching thats required. As far as I understand Java 1.5 has and C# 2.0 will have generics. The core libraries of these languages seem to have similar features but different designs.


One major issue with Java right now is that Sun holds a whole lot of IP over the language, the platform and even the name. You can't say "Java" on your product unless you pay Sun a bunch of money and pass a whole bunch of compliance tests. Sun also claim copyright over the core APIs interfaces. This in my opinion makes Java a non-starter even with an perfect open source implementation.

Free Software

As Miguel points out Microsoft's patent grant on the ECMA C# core doesn't protect anyone from other parties' patents. Neither would openning up Sun's Java code or IP. I don't think we can win that one. I'm sure there are patents out there that cover features of C and C++ that we just have to live with.

I don't know what the answer is moving forwards. I personality like Python but I know that whenever I start developing something of any size the lack of strict typing etc, makes it a pain.

It seems to me that the IP on C# seems a lot freer than on Java. This is because Microsoft and Sun are both power and money hungry companies but Microsoft's a bit smarter and they realise that widespread acceptance is important and getting other people to build an industry around their technology is good for them and will build power and make money for them.

What Could Sun Do?

If Sun wants to "beat C#" the first thing they need to do is to stop trying to make money of Java licensing, submit the VM spec, language and java.* libraries to an open standardization process, publish their compliance tests for free and make the kinds of IP grants that Microsoft has over C# to the core Java platform. This would put Microsoft and Sun on an equal footing. It would encourage competition in the Java space and we might see improvements to the platform happen a lot quicker.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!