Friday 8 November 2013

Unit 6P2

Unit 6: P2 - Describe the factors influencing the choice of programming language
Write a brief report/blog post which outlines the key factors which would influence a developer when choosing which language to create a particular software solution. Consider:
 Time constraints
 Organisational policy
 Suitability
 Availability of trained staff
 Reliability
 Environment
o Hardware
o Operating systems
 Development and Maintenance costs
 Expandability
What you need to hand in:
Your report Spell checked, proof read, with a with a cover page / blog first page (name, unit, title, date) Minimum 600 words (P2)

Time constraints-This would be how long it would take to code in that language for example coding in visual basic. Time constraints would also follow when learning a new program because it would take you longer to learn that program.

Organisational policy-Big companies such as Microsoft own there own programs to code in such as Visual Basic.If a company purchased this for there coding developers to use this would mean that they would get full support from Microsoft this would direct developers to choose there language of coding.

Development and maintenance costs-This would help developers decide on the programming language because buying the newest version of the software  will cost allot but will help if the language upgrading the language will help you make your programs or websites easier to develop as the language in the software would be enhanced for better performance.

Suitability-Developers would only want to use the software with the language if there hardware in the PC is completely compatible, otherwise you will end up having to buy new hardware to make your software where the new updated coding language is usable, also developers would only want this if it has all the correct feature's in the language this could be from a timer to a text box.

Availability of trained staff-In a programming company you would need your staff to know or have previous knowledge in this language because it is no good having new employees who either know nothing about C++ for example but know Python language.

Reliability-This is key to know that the program and the language you are using is going to be reliable for instance say you were building a program and you come to test the code that you have written out and the program comes back saying 'program not responding' this would show that your program is very unreliable and if this keeps occurring  then you have a serious problem with either your system or your program.

Environment-This would be the way the program and language is displayed in the program that would be the environment, many coders prefer to set their window layout personal preference to themselves, that could be from moving the window layout around so placing and swapping the environment that you work in around. 

Hardware-Developers will want to know whether their hardware components will be compatible because otherwise errors will occur language may not perform at maximum performance, this could lead to potential damage this could be the processor for example overheating causing permanent damage meaning you would need new processors.

Operating systems-This is essential as you would need to have more than one operating system in your bushiness as developers that code will want to build it for multiform such as Mac OS X or Linux. Developers would prefer to be able to test on different operating systems as they can sort out problems they encounter along the way.

Expandability-Developers would want to have a high expandability for instance if they developed a beta for a program and you had a certain amount of users testing it you would need a high capacity server to take all the requests. Some languages are better than others and have more feature's so you would need a larger system to support that.