Task 1-Language Choice By Joshua Wild.

Slides:



Advertisements
Similar presentations
An Introduction to Programming General Concepts. What is a program? A program is an algorithm expressed in a programming language. programming language.
Advertisements

Programming Paradigms and languages
Unit 6 Assignment 2 Chris Boardley.
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Lecture 1: Overview of Computers & Programming
Click Here to Begin. Objectives Purchasing a PC can be a difficult process full of complex questions. This Computer Based Training Module will walk you.
Programming Creating programs that run on your PC
BTEC Unit 06 – Lesson 04 Evidencing P2 Mr C Johnston ICT Teacher
SM3121 Software Technology Mark Green School of Creative Media.
Principles of Procedural Programming
Software Development Unit 6.
Software. Task Time (minutes)  1. Complete self assessment sheet Read through the chapter on software Work through the questions on the.
Sequencing Miss Regan. Blood Hound  Does anyone know what the Bloodhound project is?  Video 1 Video 1  Video 2 Video 2  Link to website Link to website.
1 CS101 Introduction to Computing Lecture 19 Programming Languages.
Software Design & Development Software Design & Development Programming Types Event Driven Programming Event driven programming Is a type of programming.
Software design and development Marcus Hunt. Application and limits of procedural programming Procedural programming is a powerful language, typically.
Unit Six Assignment 1 Chris Boardley.
Describe the application and limits of procedural, object orientated and event driven programming. 
BTEc unit 12 software development
Computer for Health Sciences
CW-V1 SDD 0201 Principals of Software Design and Development Introduction to Programming Languages.
ProgrammingLanguages Programming Languages Event-Driven Visual Programming Languages This lecture discusses the basic concepts of the event-driven programming.
Ch 26 & 27 User Interfaces.
Unit 20: Event Driven Programming
Event Driven Programming
CS 425/625 Software Engineering Legacy Systems
Mr C Johnston ICT Teacher BTEC IT Unit 06 - Lesson 01 Introduction to Computer Programming.
Cloud Computing Characteristics A service provided by large internet-based specialised data centres that offers storage, processing and computer resources.
Chapter 11 An Introduction to Visual Basic 2008 Why Windows and Why Visual Basic How You Develop a Visual Basic Application The Different Versions of Visual.
INTRODUCTION SOFTWARE HARDWARE DIFFERENCE BETWEEN THE S/W AND H/W.
Visual C++ Programming: Concepts and Projects
Mr C Johnston ICT Teacher BTEC IT Unit 06 - Lesson 03 Choosing A Programming Language.
Systems Software Operating Systems. What is software? Software is the term that we use for all the programs and data that we use with a computer system.
Btec National - Principles of Software Development 1 Principles of Software Design and Development More On Choosing a Language.
Software Architectural Styles Andrew Midwinter, Mark Mullen, Kevin Wong, Matt Jones 1.
Chapter 3 Software. Learning Objectives Upon successful completion of this chapter, you will be able to: Define the term software Describe the two primary.
Syllabus Management System. The Problem There is need for a management system for syllabi that: Provides a simple and effective user interface Allows.
National Diploma Unit 4 Introduction to Software Development Introduction to Programming Languages.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
Chapter 11 An Introduction to Visual Basic 2005 Why Windows and Why Visual Basic How You Develop a Visual Basic Application The Different Versions of Visual.
Foundation year Lec.3: Computer SoftwareLec.3: Computer Software Lecturer: Dalia Mirghani Year: 2014/2015.
Computing A2 Project Analysis. Company Background Set the scene – Company history – Staff – Turnover – Location(s) – Brief overview of product/services.
CITA 342 Section 2 Visual Programming. Allows the use of visual expressions (such as graphics, drawings, or animation) in the process of programming.
Visual Basic for Application - Microsoft Access 2003 Programming applications using Objects.
Systems and User Interface Software. Types of Operating System  Single User  Multi User  Multi-tasking  Batch Processing  Interactive  Real Time.
Graphical User Interfaces (GUI’s ). & Command-Line Interfaces.
Procedural programming Procedural programming is where you specify the steps required. You do this by making the program in steps. Procedural programming.
“Candidates were not advantaged by defining every type of operating system provided as examples in the explanatory notes of the standard. Candidates who.
 Memory RAM and ROM and cache and flash  Secondary storage  Software  Utility programs  IDE.
Systems Development Process Developing our own software The Business Perspective Copyright © 2016 Curt Hill.
High-level language programming paradigms. Programming languages come in many forms or 'paradigms'. Each form of language offers advantages over other.
Unit 3 Computer Systems. What is software? unlike hardware it can’t be physically touched it’s the missing link between the computer hardware and the.
Computer Hardware What is a CPU.
Unit 2 Technology Systems
Object-Orientated Programming
Event-driven programming
Computing.
Unit 6 – Assignment 1 (P2, P3 and P4)
CS101 Introduction to Computing Lecture 19 Programming Languages
An Introduction to Programming
Unit 20: Event Driven Programming
Computer Technology Notes #3
Computer Programming.
Unit 14 Event Driven Programming
Event Driven Programming
Programming.
Lecture 8 Programming Paradigm & Languages. Programming Languages The process of telling the computer what to do Also known as coding.
An Introduction to Programming
Software - Operating Systems
Fundamentals of Computer Hardware & software
Presentation transcript:

Task 1-Language Choice By Joshua Wild

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Bibliography NA. (Unknown). What Are Disadvantages Of Event Driven Programming?. Available: http://science.blurtit.com/701976/what-are- disadvantages-of-event-driven-programming. Last accessed 13/10/2015. Unknown. (Unknown). Limitations of Procedural-Oriented Programming.Available: http://www.extropia.com/tutorials/java/procedural_programming_limits.ht ml. Last accessed 13/10/2015. Jeffrey L Popyack. (2012). Object Oriented Programming: Disadvantages of OOP. Available: https://www.cs.drexel.edu/~introcs/Fa12/notes/06.1_OOP/Disadvantages.ht ml?CurrentSlide=2. Last accessed 13/10/2015.