Presentation is loading. Please wait.

Presentation is loading. Please wait.

Task 1-Language Choice By Joshua Wild.

Similar presentations


Presentation on theme: "Task 1-Language Choice By Joshua Wild."— Presentation transcript:

1 Task 1-Language Choice By Joshua Wild

2 Organisational Policy
Many companies have an organisational policy, which dictates which programming language they use, which software they use, and what platforms the customers product will run on. However, these policies may need to change depending on what platform the customer wants the program to run on, for example if the company used VB.net in their policy, but the customer wanted the program to run on Mac, the programming language would have to change as VB.net is a Windows only language.

3 Suitability in terms of available features and tools
The programming language chosen will depend on the tools and programs available to the company. If the company gets a discount on Microsoft programs then that may influence their choices of programming languages and platforms. Obviously if the customer wants a different platform then the company may have to adapt or decline the job. Many large companies get licences from other big companies that have coding software. For example, a large company may get many licences from Microsoft so that they can get lots of copies of Windows for a lower price. This means the company is more likely to use a programming language or IDE that is compatible with Windows as all the computers will have Windows as the default Operating System.

4 Availability of trained staff
The availability of trained staff will obviously impact the companies decision of which programming languages and software to use. The company may specialise in one certain language, in which case they will primarily have employees experienced in that programming language. The employees knowledge will have an impact on the programming language chosen. If all the employees are specialists in Java then Java will be the programming language the company should use. Most companies have employees that know multiple programming languages, therefore they will be able to cater for most customers.

5 Reliability The reliability of the software can affect a companies decision to use it. If the software is unreliable and can only be used 40% of the time, they are more likely to not use that language as it won’t provide a quality product for the customers. Reliability is one of the largest factors in choosing a programming language and IDE to use. The software needs to be reliable so the company will get less complaints, and have to spend less money on fixing any problems that occur as a result of these complaints.

6 Development and maintenance costs
The costs of developing and maintaining the code and software can vary hugely. Some programming languages and IDE’s are free, whilst some need to be paid for, and this is where the company needs to decide if the cost is worth what they’re going to get. If the IDE for one language is expensive, but there is another language that has a free IDE, the company may choose the free one as then they will be receiving pure profit. Development of a piece of a software can cost a lot of money, especially when you employ a lot of people who all have to have their own computers and software. To try and save as much money as possible and make the most profit, the company will try and find the most effective and best-value-for-money programming language and IDE (Integrated Development Environment). The company also has to then factor in the cost of maintaining the program/software once it has been created. Their choice of IDE and language can be a huge influence for this, as it can potentially be costly.

7 Expandability Expandability is where a solution that has already been produced needs to be expanded to support more users. The company need to think about this as in the future the program may need to be expanded so more people can use it. An example of an expanded program is Steam, created by Valve. Over the years millions of people have started using it so they have needed to expand it to support them. The Expandability of the language or software being used is important to a business that provides software solutions. The software needs to be able to be expanded easily so that if thousands or millions of people start to use it, it can handle all the traffic and anything that is produced as a result of lots of users. Object oriented programming languages are popular for easily expanding software to deal with lots more users. PHP is a good example of a programming language that is easy to expand, mainly because it is an object oriented language.

8 Applications of Procedural Programming
Procedural Programming is a programming paradigm, the main features of Procedural Programming is that it is very structured/ordered. When creating a program using Procedural Programming, it is typically made in order of the steps needed to produce the end product. To do this, procedural programming uses functions and procedures. Some examples of Procedural Programming Languages are; C, Pascal and Fortran. Procedural Programming is typically used in programs such as basic calculators and emulators(emulators are a type of program that allows one system to behave like another). An example of what an emulator can do is play old Gameboy games on a modern smartphone.

9 Applications of Object Oriented Programming
Object oriented programming is another programming paradigm. Object oriented programming is different to procedural programming as it works by using objects. These objects have states and behaviours, and can be grouped together in classes. Some examples of Object Oriented Programming Languages are;PHP5, C++ and Fortran 2003. The Object oriented programming paradigm is typically used to create user interface design(menus),real time systems and simulation and modelling.

10 Applications of Event-Driven Programming
Event-Driven Programming is the third and final programming paradigm I will be writing about. Event–driven programming is where the program responds to the user or computers input. For example, when you type on your keyboard or click on something with your mouse, there will be a program telling the computer to input that character or to open that link. Some examples of Event-Driven programming languages are; Visual Basic, Visual C++ and Java. Event driven programming is often used in real world objects, such as microwaves, fans, kettles and more. Event driven programming is used because it relies on an event to take place for something to happen. An example of this is when you press the “On” switch on a fan, the blades will start moving.

11 Limitations of Procedural Programming
Whilst Procedural Programming has its pro’s, it also has many cons. One limitation of Procedural Programming is that if a large program is being written using it, anyone that hasn’t created the code will find it extremely difficult to understand. This is because the code will go back and forth and to understand one part of the code, you may have to scroll down thousands of lines just to find the part of code that’s related to it. Most of the code links to each other, and if you modify one part of your code, the chances are this could affect multiple other parts of your code. As you can now see, this will have a multiplier effect, so there could be thousands of lines that you have to change to achieve one small modification. One final limitation of Procedural Programming is that it is very hard to relate to real world objects, unlike event-driven programming. For this reason, procedural programming is not used in objects like kettles, fans and microwaves.

12 Limitations of Object Oriented Programming
Object oriented programming also has its cons, here are some; Size- Programs coded using object oriented programming are much larger than they would be if they were coded using a different programming paradigm. This used to be a huge problem in the past, as there wasn’t many methods of storage that could cope with the amount of storage OOP programs used up. However now, this isn’t too much of a problem thanks to cheaper, larger storage devices. Object Oriented programs are difficult to create. A lot of time is spent just planning how the program will work and how the team are to go about programming it. Then after it has been planned, it also has to be created which will take even longer. OO programs are slow. This is mainly because of their large size, however typically these sorts of programs take up a lot of system resources, making the rest of the computer run slower as well.

13 Limitations of Event Driven Programming
One limitation of Event Driven Programming is that it can be very hard to understand. Event driven programs are less logical than other programming paradigms, which makes it more difficult to write code in. Another limitation is that it can require quite a lot of processing power as in certain applications it will have to refresh constantly to see if there has been a change in the GUI (where somebody has clicked something). Then it will have to carry out the code for that action, which will take up even more processing power.

14 Bibliography NA. (Unknown). What Are Disadvantages Of Event Driven Programming?. Available: disadvantages-of-event-driven-programming. Last accessed 13/10/2015. Unknown. (Unknown). Limitations of Procedural-Oriented Programming.Available: ml. Last accessed 13/10/2015. Jeffrey L Popyack. (2012). Object Oriented Programming: Disadvantages of OOP. Available: ml?CurrentSlide=2. Last accessed 13/10/2015.


Download ppt "Task 1-Language Choice By Joshua Wild."

Similar presentations


Ads by Google