During our work on determining the aspects of programming languages
that affect the cost of a software, we came to a conclusion that these
requirements varied depending upon the size of the software being developed.
We then discussed the major differences between small and large projects
and came up with certain characteristics which could be outlined as below:
|
|
Are usually completed by an individual or a small team | They usually have large teams working on them |
Typical time for development is in the order of hours to weeks | They usually take months to years to complete |
Emphasis is placed on "Getting it done!" | Maintenance plays a bigger role in large projects because the software life cycle is long in duration |
As we can see from the table above, small projects and large projects
usually have different requirements. With the help of these requirements,
we were able too identify the most important aspects of programming languages
for each of them. They are listed below:
Small Projects | Large Projects |
Familiarity with the programming language | Need to reduce Modular dependencies. For e.g..
|
Development environment should be friendly | Low Run-time costs |
Code Generation | Good software design |
Language Simplicity | Good debugging |
Ease of documentation | Security of the Virtual Machine |
Availability of libraries | Easy interfacing between the modules |
Support for team-work | |
Language simplicity | |
Ease of documentation | |
Availability of libraries |