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.

Saturday, July 10, 2010

Software Legal Issues

One of the things that I've been tracking for a while now is software legal issues, having worked as a programmer among other roles in the software industry for 13 years. On my last job where I worked at AT&T Wireless / Cingular, I was involved with working with patenting some of their technology.  Unfortunately, even though I helped patent work that was invented and done by my higher-ups in my role as a 'systems engineer', my name never got onto the patents.

So now that I've been thinking of coding some of my own projects, including data mining tool, I'm wondering now how to produce code.

For example, how can I make a data mining application that makes use of a database, say a Microsoft SQL database, without running afoul of patents, and who would I talk to? For example, I used to use an application called 'Business Objects', that mapped a relational database to a different queryable form. So if I were to do something like this with my tool, even though the purpose of my tool is different (I want to add some analytics into my tool to do data scrubbing, for example), how would I avoid runnning afoul of the law?

In addition, text entry methods, all of the Microsoft common controls, etc., are they patented? Maybe I need to contact Microsoft's legal team and see what is up with that.

Data Mining Project


One of the things that I always wanted to do was to build a data mining tool. When I worked at Chase Manhattan Bank, one of the tools that they asked me to look at was called 'Business Objects'. It was a tool that allowed people to set up a view of a database schema and do queries and reporting, etc.

What 'Business Objects' lacked, however, was a lot of different analysis functions. For example, one of the projects that I worked on at Chase was a project where they got all of their 'Value at Risk', or the exposure they had from different securities they held, under one database. This was the reason they wanted me to look at Business Objects, was to see if it would be a good tool to do their own reporting on, edit price data with, and see if there were any gaps in data, and possibly fix them. BO ('Business Objects'), didn't have a lot of analysis functions, however.

So I started working on one. So far, I haven't gotten very far with it. I'm using a language called C#, which so far is very nice to program with. In the past I've done a lot of Java development, and C# is pretty close to Java. There are some interesting differences, however, that place it more like C or C++.


Welcome to my coding and programming blog. I first started coding when I was in the 4th grade and I bought a book called 'Basic for Beginners' from the school book club. I started coding without any computer, just by book, because I couldn't get computer time where I lived, and I didn't have a computer.

Later, my grandfather bought me some computer time, and I started doing his loan amortization schedules. He'd pay for the computer time (It was $6.00 an hour, if I remember correctly), in exchange for me programming a loan amortization schedule for him. He was a real estate investor, and used to sell people buildings and 'hold the loan', meaning that they would pay him instead of borrowing money from a bank. Later, after I did a couple for him, he even paid me a few dollars for my trouble doing the schedules for him. I had a lot of fun doing that.

Thanks for reading!