Programming Paradigms and languages

Slides:



Advertisements
Similar presentations
Software development process. Explanation of the iterative nature of the software development process.
Advertisements

CS0004: Introduction to Programming Visual Studio 2010 and Controls.
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Lecture 1: Overview of Computers & Programming
Computers Are Your Future
Programming Creating programs that run on your PC
Reasons to study concepts of PL
Programming Languages Structure
Introduction to a Programming Environment
© Prentice Hall CHAPTER 3 Computer Software.
Russell Taylor Lecturer in Computing & Business Studies.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Chapter 1 Program Design
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Software Development Unit 6.
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. 
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
CS102 Introduction to Computer Programming
PROGRAMMING LANGUAGES The Study of Programming Languages.
CS 355 – Programming Languages
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 16: Java Applets & AWT Fundamentals of Web Programming.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
 2002 Prentice Hall. All rights reserved. 1 Introduction to Visual Basic.NET,.NET Framework and Visual Studio.NET Outline 1.7Introduction to Visual Basic.NET.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Created by, Author Name, School Name—State FLUENCY WITH INFORMATION TECNOLOGY Skills, Concepts, and Capabilities.
Python Mini-Course University of Oklahoma Department of Psychology Day 2 – Lesson 6 Program Design 4/18/09 Python Mini-Course: Day 2 - Lesson 6 1.
Lecture 2 Object Oriented Programming Basics of Java Language MBY.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
Chapter 8 High-Level Programming Languages. 8-2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
Hans-Peter Plag November 6, 2014 Session 4 (Programming Languages) (Data Types and Variables) Expressions and Operators Flow Control.
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
Term 2, 2011 Week 1. CONTENTS Problem-solving methodology Programming and scripting languages – Programming languages Programming languages – Scripting.
Principles of Software Development 1 Principles Of Software Design and Development Types of language / Choosing a language.
Applications Development
I Power Higher Computing Software Development Development Languages and Environments.
JavaScript Defined JavaScript Basics Definitions JavaScript is an object-oriented programming language designed for the world wide web. JavaScript code.
8-1 Compilers Compiler A program that translates a high-level language program into machine code High-level languages provide a richer set of instructions.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Programming Paradigms By Tyler Smith. Event Driven Event driven paradigm means that the program executes code in reaction to events. The limitation of.
Introduction to Programming and JavaScript. Programming.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
INTRODUCTION CHAPTER #1 Visual Basic.NET. VB.Net General features It is an object oriented language  In the past VB had objects but focus was not placed.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
CSE 2341 Object Oriented Programming with C++ Note Set #4
Procedural programming Procedural programming is where you specify the steps required. You do this by making the program in steps. Procedural programming.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Software Design and Development Languages and Environments Computing Science.
Chapter 1: Preliminaries Lecture # 2. Chapter 1: Preliminaries Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation.
Microsoft Visual Basic 2015 CHAPTER ONE Introduction to Visual Basic 2015 Programming.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Introduction to Visual Basic. NET,. NET Framework and Visual Studio
A variable is a name for a value stored in memory.
Programming paradigms
Concepts of Programming Languages
Concepts of Programming Languages
PROGRAMMING LANGUAGES
Introduction to Visual Basic 2008 Programming
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Developing Applications
Chapter 1 Introduction(1.1)
High Level Programming Languages
and Program Development
Language Constructs Construct means to build or put together. Language constructs refers to those parts which make up a high level programming language.
Presentation transcript:

Programming Paradigms and languages

Criteria Covered in this presentation P1:describe the application and limits of procedural, object oriented and event driven programming paradigms P2:describe the factors influencing the choice of programming language P3:explain sequence, selection and iteration as used in computer programming P4:outline the benefits of having a variety of data types available to the programmer

Programming Paradigms A programming paradigm is a fundamental style of computer programming Procedural Event driven Object oriented

Procedural Paradigm The focus of procedural programming is to break down a programming task into a collection of variables, data structures, and subroutines Procedural languages are the most traditional types of language, and usually the first type that is learnt. They include Fortran, Pascal, Basic and C. Specifies the steps the program must take to reach the desired state. Inclusion of reusable subprograms (procedures, functions) to avoid repetition of coding. Procedural languages are very good for small-scale projects.

Limitations of Procedural Paradigm To limit the program flow in 1-dimensional (or linear way). Most of software developers would have been brain-washed to think this way. The most serious limitation is the tendency for large procedural-based programs to turn into "spaghetti-code". Spaghetti code is code that has been modified so many times that the logical flow becomes so complicated. Accordingly, any new programmer coming onto the project needs a two month prep-course in order to even begin to understand the software innards

Event Driven Paradigm The flow of the program is determined by events, such as or user actions (mouse clicks, key presses) or messages from other programs Is widely used in graphical user interfaces Is clearly divided down to two sections: the first is event selection (or event detection) the second is event handling. Limitations Sometimes leading programmers to create error prone, difficult to extend and excessively complex application code

Object Oriented Paradigm Object-orientated languages provide an excellent model for programming and designing computer software They include C , Smalltalk and Java. An object-oriented program may be viewed as a collection of interacting objects Objects are consisting of datafields and methods

Limitations of OOP Not all programs can be modeled accurately by the objects model. If you just want to read in some data, do something simple to it and write it back out, you have no need to define classes and objects. Another disadvantage is that one programmer's concept of what constitutes an abstract object might not match the vision of another programmer. The objects often require extensive documentation.

Types of programming languages There are so many types of programming languages In this presentation, only two are mentioned: Visual Programming languages Script languages Mark up languages

Programming Languages Visual languages use images to communicate concepts based on spatial context, as opposed to a linear (text) context. One example of a visual language is Visual Basic.Net, which is part of the Visual Studio.Net package. Other languages include script and markup languages that can be used for web page design, such as JavaScript and hypertext markup language (HTML).

Factors influencing the choice of programming languages Organizational policy : where a default programming language is used as standard Suitability : how functional and user friendly is it in terms of features and tools? Is it easy to learn? Availability of trained staff: user expertise and their level of understanding or training in a particular language Reliability of the language: is it a reliable language? e.g. does it provide adequate exception handling? Expandability : is it capable of expanding with the organization or task requirement?

Factors influencing the choice of programming languages 6. Development and maintenance costs : Some languages become obsolete or unsupported Cost is influenced by a variety of factors including: Training of programmers Cost/Time of writing the actual program Compiler cost (time and development environment cost) Execution cost (deployment environment cost) Bugs and reliability issues Maintenance

Features of Programming Languages

Data Types Data types define the format or context of the data. For example, a data type could be classed as: Text Can include any alphanumeric characters, for example abc123. Text benefits from the flexibility of combining both characters and numbers together, a good example being in an address field. Integer A whole number such as 1, 2, 3 or 4. Benefits of using an Integer are that less storage space is required, a counter can be used, mathematical operations can be performed and comparisons can be made. Floating point A ‘ real number ’ that has a decimal point. The benefits of using a floating point are that percentages, areas, measurements and computations can be stored.

Data Types Byte Date Boolean used for storing binary data in a computer system. Date will represent data in a specific date format It is beneficial to users as it will prompt them to enter the date in a set format, for example --/--/----, 22/02/1972. Boolean a logic value that will return a ‘ true ’ or ‘ false ’ value. Boolean data types are very small, requiring one bit, 0 or 1, representing true or false.

Benefits of having different data types Efficiency of storage: efficient memory allocation for variables  Imposes less bugs to programs: allows you to catch common coding problems during compilation and during development before delivering the code to production Allows the runtime to understand how to implement the operators: Operators perform differently for different types(+ adding numbers or connecting strings) Allows code and subroutine parameters to be more expressive Programs become more secure: because a data's type specification limits what the data can be used for They also provide conveniences in developing and maintaining the code.