First off, see computer and system. They're probably a good start.

A computer system comprises hardware and software components that, together, provide users with a solution to a particular problem.

Of course, computer systems frequently cause problems for users... but that's what us techies exist for.

Good computer systems don't just happen, they are developed.

Choosing the "right" computer system on which to host a particular development is a tricky business. Much like the choice of programming language, it's hardly ever possible to work from first principles to a simple selection. The environment in which the development is taking place inevitably places constraints on the choice.

The largest constraint is the installed base, i.e. your existing hardware and software. In a large IT shop, you'll have valuable experience in operating both parts of the puzzle. Can you afford the retraining? If either component simply isn't up to scratch, the first option must be to simply "beef up" what you've got. Sticking with the same vendor can be a huge saving to a development. However, even without a costly hardware or software purchase, this is going to be an additional expense.

Internal politics provide further constraints. "You will host the Internet Shopping application on Windows NT," sayeth the MD. And so it will be. The MD may well know nothing about IT, other than what sales people tell him - but he signs the requisitions, so you think you might as well just do it. It can be very hard to work around issues like this. A good, solid business case explaining the costs/benefits of various options can help. If you need help working up the business case, get it!

Log in or register to write something here or to contact authors.