For the past few years I’ve been using Java for the majority of my professional and private development. Using it professionally was simply because that is what my company wanted. Privately was because I was using it professionally and so the environment was there and starting up a new project was easy. Java is a good, solid language with a plethora of libraries and support but every time I went to make an application with a nice UI I was stymied. Everything just seemed hard to do in Swing—much harder than it should be.
Recently, I was put on a new project at work. For this project we are building a simple configuration tool for our main product. Configuring usually requires gathering lots of similar items and so someone thought that Microsoft Excel would be a good platform. One of the biggest things that it had going for it was that it was the tool that the requirements gathering people were already using. They were just using it to collect the tables of data, but with no programmed support. The they would give that information to someone else to input into our configuration files. So, someone thought that it would be a helpful idea to automate many of the steps they went though and generally improve the experience. The only problem was that they used VBA.
VBA is a great macro language, but as a tool for building applications it sucks. It really just blows. Try having multiple people working on it at the same time. And this was the project that I was put on. Oy.
So to keep myself sane I decided that I would look into alternatives. As this was a tool targeted at a small group of people (say 20–30 people total) and all of these would be on some form of Windows I figured that we should just go ahead and make this a full Windows application. I had dabbled with C# and GDI so I thought I’d try my hand at making a targeted application (while working on the VBA/Excel debacle).
So the next few entries will be my experiences with doing an application not in Java. We’ll see how it goes.