Wednesday, 25 June 2008

Cooking code with the right ingredients


cooking code My previous post caused some very interesting discussions on the decisions that I am facing when starting on a new project. The suggestions were as varied as the choices in front of me. It seems that any of the alternatives can do the job, so why don't I just make a decision and move on? Because its at this crucial point that any choice I make will impact the direction of the application for many years to come.

About the only choice that is not under question is the development language of Delphi. Why? One person suggested that Delphi is dying and that we should all be using Ajax instead. Besides Ajax being a supporting web scripting language/tool that enhances JavaScript, the Internet is not my intended environment for the market I'm interested in pursuing. Oracle's APEX is a great development environment for that and with my recent experience in this it would be the obvious choice - if that was the audience. Delphi on the other hand is a very strong and proven development environment that can be as lightweight or heavyweight as required.

I have been involved in many varied software development projects using many languages and development environments. I can tell you from experience that 3 to 4 good Delphi developers can totally outperform 30 Java developers on a similar sized project by a factor of several months. I can also tell you that a lone Delphi developer can take on the big boys and totally capture the market.

But that's the tool, what about the ingredients? There has been discussion on InfoPower, TMS, and DevExpress components. I must admit that I know and enjoy InfoPower and I can complete the full development of the application before I have to purchase. The ExpressQuantumGrid Suite requires that I purchase it before I can even start to code with it. Much though it has been recommended, and indeed it does look nice, its out of the picture for my development. I simply can't afford to purchase it at this stage. TMS is good and I have used that before, however I still fail to see the benefits in most of the TMS components, perhaps I'm missing something.

InfoPower from Woll2Woll has had a lot of negative statements against it. One comment on my last post even suggesting that it looks a little dated. I thought that perhaps that's due to its demo screen dumps that try to show too many things with background images, interesting colours and an oversupply of fancy icons showing something less than professional looking. In reality I wouldn't use all the fancy background textures and some of the other features, but I would use the excellent usability features that their tools can give you. For example, simply by dropping a component on a form and setting a few properties, I can automatically create a full input screen with its own menu and imbedded controls.

I'll discuss the Firebird vs ElevateDB decision in another post. Both are very fine databases, both I'd highly recommend.

Friday, 20 June 2008

Back in from the cold


The time has come to return to programming my own application. I have been considering this for some time and indeed have made several false starts on this. Yesterday, I made a start on actually getting into the program again. This is not a work program, but my own application that I built and sold many years ago. It will be a long term, after-hours venture.

I've been looking at several tools for this venture. Delphi is a requirement as I can deliver a great application to the intended audience using Delphi. I've looked very seriously at both Firebird and ElevateDB as the intended database that I will be using. I still have not made up my mind on these yet as both have their strong points.

If I end up going with Firebird, then I'll most likely be using the IBObjects components. I've used these before at a customer's site and have been impressed at the genuine speed that results.

Either way, I'll be looking seriously at using the InfoPower components. Although they can be rather noisy (use a lot of network bandwidth), the intended audience for this application will enjoy the user interface these components can give them. Although I'd also like to take a good look at the ExpressQuantumGrid Suite, they don't offer anything but pre-compiled demos. It often takes a time using the component to decide if its as useful as the demos make out. Besides, I'd like to develop the application first before approaching some financial backers in order to purchase the components, complete the final programming/packaging, and get the marketing under way. Pity, it looks like a good product but I simply can't afford to purchase it at this stage.

ReportBuilder Pro will also be my choice of reporting tool.

You can be sure that I'll be looking at alternatives to the components mentioned, but these are my thoughts for the moment. Any feedback for this from you would be greatly appreciated.

Having spent my development time in the past year in such environments as Oracle, and Oracle's Application Express, although those are good environments, its nice to get back into familiar territory again.