Unit 6 P2 – Choosing a language
When a programmer is creating a piece of software they have
to decide on what language they want to create it in, they then have to look at
many factors to find which language would suit them the best. This report will
go into detail on what these factors are and explain why they are needed.
Time constraints
A developer may need to choose a programming language that
can be written in a timely fashion as they may have to have the program made
within a set amount of time. Dependent on how much time they had they may need
a language that can be written fast but may have to sacrifice reliability of
the language to do so, an example of a fast to write program would be done in
something that has auto-fill built in. This would allow the programmer to not
use as much time typing as they could use dropdown boxes and shortcut to write
the code for them, this feature can also structure code for the programmer and
outline any errors whilst typing.
Organisational policy
A company may have a contract with a programming language
company which allows them to obtain any stock for their programming software at
a reduced fee. This is a key fact when choosing a language as some programmers
may only have a set budget that they can spend on a project and so they will
use the easiest to access language in order to complete the project to that
budget.
Sustainability
Another aspect that the programmer must take in mind is
whether the program can be sustained using the language they have chosen. This
means the language must be updatable so that the programmer can fix any bugs
that are reported in the program at a later date or just keep their program
updated with new features.
Availability of trained staff
Some staff members may be unable to use certain programming
languages this means that they would require training in the chosen language which
would cost the programmer more money to train the staff or possible redundancy
of undertrained staff. Though staff that
do know how to use the program may be able to teach the undertrained the staff
it would be easier for the programmer and staff members if they used a
programming language that everyone understood how to use.
Reliability
A reliable language will cost more but dependent on what
kind of software the programmer is using they may have to use a more reliable
language in order to create the software to a suitable standard. This is
because some programs are used in possible life threatening circumstances and
if the code was read too slow or an error or bug occurred it could cause
serious harm to others. For example an auto-pilot system on a plane would not
be written in a non-reliable language as it would cause a catastrophic event if
the program were to crash mid-flight.
Environment
A programmer would select their language based on two
environmental reason these include what hardware the program will be run on and
what operating system the program will be run on. This means that if the
program has not be built to run to the specification of these two factors then
the program will simple not work as it should.
Hardware
If the program does not take into account all of the
hardware being used then it will not be able to make that hardware function. So
if the program to run power plants didn’t have the right code to be able to
move the nuclear fusion rods in and out of the cooling chamber then the rods
would remain stationary because the program could not tell the machine to move
them.
Operating system
Programs need to be written to a specific operating system
as well. This is because if the program is not written to be run in a specific
operating system the operating system simply will not be able to read the code
or run the program at all. For example a program written to be used on
specifically Macs will not be able to run on Windows.
Development maintenance costs
When choosing a language the programmer must also take into
account the costs of which to keep the program maintained. This is because if
the program needs to be fixed every day then it will cost the programmer to
hire someone to maintain it every day that they need to fix it. This could make
the program non-profitable if its maintenance costs are too much. A way for the
programmers to prevent such a thing happening would be to spend more money on a
high reliability program so that they will not have to worry so much about bugs
and errors rather than a program that is known for bugs/errors.
Expandability
A programmer will also need to
check whether or not the program is easily expandable. This means that the
program must be able to be changed and updateable with new features. Though
most languages now are all expandable the programmer would be wise to check beforehand.