Web Development

General discussion


How to select the right technology for the job

By AriB ·
Following the specification and high level design process, technology choices have to be made regarding how an application will be assembled. This involves both a choice of platforms as well as architectures.

When presenting the job to several contractors (or developers for that matter), invariably almost each one of them will come up with their own "soup" of how to get the job done. One will propose VB, the other .NET and a third J2EE (and a zillion variations in between of any combination of letters you chose...).

Granted, there are many ways to build any application, but one would like to at least have the choices as close to what is needed as possible. And what is needed? Well, that indeed is a combination of requirements such as performance, maintainability, speed of development, etc.

Anyway, given that this is the way things are (and believe me it can get very confusing), the question is - how does one determine the best (or close to best) choice of architecture and technologies for a given application and NOT get taken for a ride just because some consultant/developer only knows this way or that?

Your experiance and valuable input is much appreciated!


This conversation is currently closed to new comments.

Thread display: Collapse - | Expand +

All Comments

Collapse -

You don't get taken for a ride

by Tony Hopkinson In reply to How to select the right t ...

because the consultant only knows this or that, but because you don't know this or that.

If you are buying the source, choose the language and the environment based on what environments you have and what skills you have in house.

If it's none or you are making a conscious decision to move away from where you are, then ask for where you want to be.

For instance Delphi is a very powerful language I have a good deal of experience with, however it's dying.

So unless you have a batch of delphi coders at your mercy for a job, don't go near it.

You might get one cheap at the moment, but if the code has some longevity as in a maintenance enhancement cycle, you will pay later. If someone tells you it can only be achieved in language X , boot them in the *** when you show them the door.

Collapse -

Agree - Maintenance Costs Then Development Costs

by Wayne M. In reply to You don't get taken for a ...

Tony has it exactly right. Look first at the costs of maintaining the system, then worry about development costs. System performance (due to chosen platform) is not even an issue to consider.

Choose the approach that best fits your current mix of systems. If you are a Microsoft house, look at Windows and VB or .Net. If you are a Unix house, go for a specific Unix and C++ or Java. If you are a Linux house, go Linux and C++ or Java. I separate Unix and Linux, because to support Linux you need to be in the Linux clique; with Unix you can rely much more on a vendor.

If you have multiple environments that are already supported, look at the developer costs. Typically VB developers are cheaper the .Net or Java developers. Look at your current market to pick between Java and .Net.

I would not make any decisions on the technology to use based on functional requirements. Except in extreme circumstances, any of the choices will do. Make sure the consultants or developers are knowledgeable in the language, this is far more important than the chosen language.

Depending upon the criticallity, you may choose to negotiate a deal with a contractor who wants to use you as a learning experience for something new (make sure the cost savings justify the risk). Likewise, for internal staff, it may make buisness sense to accept the risk and give your staff some hands on training.

Finally, I have rarely seen language selection play a major issue in performance. Most performance problems are due to poor coding and not the language. If you are in the environments where language selection does make a difference, you probably already know it.

Make the choice on technology for a new system based upon what it will cost to maintain the system a year from now. If that is not a discriminator, then look at the cost for the development. If that is not a discriminator, look at what is best for your technical staff. Beyond that flip a coin.

Collapse -


by AriB In reply to Agree - Maintenance Costs ...

Thanks, that was a great summary.
Maybe a little too much micro-management on my side (I sometimes wish I was still a developer...)

Collapse -

An other opinion

by 3xp3rt In reply to You don't get taken for a ...

Is the second time, when I read about Delphi?s dead. Why this opinion? I don?t understand because in my career I see a lot of language declared dead, and after a time this language was considered the most advanced programming technologies. The best example is Basic->QBasic->Visual Basic and so on? I like Delphi, and I believe come a new version-platform of Delphi (or simply we can say Pascal) what can be the most advanced programming technology. Even the C had bad times from 1988 (the year of beginning my IT career) to our days.

Related Discussions

Related Forums