Saturday, October 16, 2010

Is Java Already Obsolete?

One of the things that I noticed and hasn't seemed to be fixed with Java, is the relative slowness to Native apps that it displays when trying to run it on Windows -- even .NET doesn't seem to be quite as slow in some ways (it could be the native Widgets vs. Swing).

I started coding my data mining tool in C# vs. Java because I wanted something that had a great IDE, and was quick to run, and easy to use. I spent a lot of my working career doing a lot of Java, but I'm starting to think something is up, even though Java is STILL hugely popular:

Why would I say this when Java still has 30% of the marketshare for programming jobs or something like that?

How many client Java apps are popular? Why are client apps predominantly STILL coded in something other than Java? Slow / garbage collection / bugs / etc.

Which is why I almost freaked out when I found out that Oracle had bought Sun, because Java used to be one of my favorite technologies, and even though Oracle is still one of my favorite databases, its installer is a pain and is pretty slow because it uses (yes -- Java --) for the GUI.

But what is the clincher for using C# vs. Java on the GUI side for me right now? I can port my code over to Unix or Mac via MONO. I can run the C# on the web via MONO OR ASP (Microsoft or UNIX). And even with the ton of time that Java has been out, it STILL doesn't have the support on the commercial side in terms of components, etc., that Microsoft has with ActiveX/OCX/ASP components, etc. Even though probably most of these probably aren't supported on C# or MONO (sad), there's still a lot of .NET comps that are opensource -- a lot considering how new C# and .NET is compared with Java.

Which makes me wonder with PHP / C# / ASP if Java's days aren't extremely vs. LAMP / ASP / Ruby / etc.

Saturday, October 2, 2010

Data Mining Tool II

C# is a lot like Visual Basic. I used to use VB back when I worked at O'Brien-Kreitzberg, and at other companies. I also used it for my own projects, like front-ends to test my genetic algorithms.

One of the things that I started to do is to use Datasets, data sources, and the data grid for my application. This is a lot different than in C++ or Java where people use classes to model. It's more like Entity-relationship modeling. There are keys -- primary keys, foreign keys, etc. Right now it's using XML schema, which is interesting as this is more standard than what they did before.

I've set it up and gotten the XML persistence of my dataset working. It's pretty easy to use. It was a lot easier to use than some other tools that I've used like Castor.

So far I like C# a lot. It's a lot like Java, but with .NET it has a lot of the features that I used to use with Visual Basic, so it's fairly easy to use.