CS101 Introduction to Computing Lecture Programming Languages.

Slides:



Advertisements
Similar presentations
What is a Computer Program? For a computer to be able to do anything (multiply, play a song, run a word processor), it must be given the instructions.
Advertisements

Agenda Definitions Evolution of Programming Languages and Personal Computers The C Language.
compilers and interpreters
Software Development Languages and Environments. Programming languages High level languages are problem orientated contain many English words are easier.
Dr. Ken Hoganson, © August 2014 Programming in R COURSE NOTES 2 Hoganson Language Translation.
Programming Types of Testing.
Creating a Program In today’s lesson we will look at: what programming is different types of programs how we create a program installing an IDE to get.
Introducing Programming a general discussion. What is a Program? Sets of instructions that get the computer to do something Programs may be a few lines.
Programming Creating programs that run on your PC
Overview of Programming Paradigms
Programming Introduction November 9 Unit 7. What is Programming? Besides being a huge industry? Programming is the process used to write computer programs.
Chapter 1 Program Design
Copyright © 2001 by Wiley. All rights reserved. Chapter 1: Introduction to Programming and Visual Basic Computer Operations What is Programming? OOED Programming.
1 CHAPTER 4 LANGUAGE/SOFTWARE Hardware Hardware is the machine itself and its various individual equipment. It includes all mechanical, electronic.
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
1 CS101 Introduction to Computing Lecture 19 Programming Languages.
Computers: Software Patrice Koehl Computer Science UC Davis.
Programming Languages Lecture 12. What is Programming?  The process of telling the computer what to do  Also known as coding.
1 Chapter-01 Introduction to Computers and C++ Programming.
CHAPTER 4: INTRODUCTION TO COMPUTER ORGANIZATION AND PROGRAMMING DESIGN Lec. Ghader Kurdi.
PROGRAMMING LANGUAGES The Study of Programming Languages.
Computers Are Your Future Tenth Edition Chapter 11: Programming Languages & Program Development Copyright © 2009 Pearson Education, Inc. Publishing as.
Programming Languages CPS120: Introduction to Computer Science Lecture 5.
Software – Applications software and programming languages
There are only 10 types of people in the world, those who understand binary and those who don't.
1 Software Development Topic 2 Software Development Languages and Environments.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
High level & Low level language High level programming languages are more structured, are closer to spoken language and are more intuitive than low level.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Tranlators. Machine Language The lowest-level programming languageprogramming language Machine languages are the only languages understood by computers.languagescomputers.
Copyright©2008 N.AlJaffan®KSU1 Chapter 11 Information system development and programming language.
Programming Languages 1.07a.  A computer program is a series of instructions that direct a computer to perform a certain task.  A programming language.
1 2. Program Construction in Java Programming Fundamentals.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
Software – Applications software and programming languages.
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
CSC425 - Introduction To Computer Programming 1. 2 Generation Of Programming Languages A set of rules that telling a computer what to do. There are over.
Lecture 1 Introduction Figures from Lewis, “C# Software Solutions”, Addison Wesley Richard Gesick.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
National Diploma Unit 4 Introduction to Software Development Introduction to Programming Languages.
CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented.
Chapter One An Introduction to Programming and Visual Basic.
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
 Computer Languages Computer Languages  Machine Language Machine Language  Assembly Language Assembly Language  High Level Language High Level Language.
Programming and Languages Dept. of Computer and Information Science IUPUI.
Introduction to OOP CPS235: Introduction.
Introduction to Language Programming Hierarchy of programming lang. Based on machine independences: 1. Machine language 2. Assembly language 3. Higher.
Chapter 1 An Overview of Computers and Programming Languages.
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.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
What is a Computer An electronic, digital device that stores and processes information. A machine that accepts input, processes it according to specified.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
High-level language programming paradigms. Programming languages come in many forms or 'paradigms'. Each form of language offers advantages over other.
INTRODUCTION TO COMPUTER PROGRAMMING ITC-314. Computer Programming  Computer Programming means creating a sequence of instructions to enable a computer.
Programming Paradigms, Software Architectural Patterns, and MVC CS 378 – Mobile Computing for iOS Dr. William C. Bulko.
Unit 2 Technology Systems
Visit for more Learning Resources
Programming Language Hierarchy, Phases of a Java Program
CSCI-235 Micro-Computer Applications
Introduction to Programming
CS101 Introduction to Computing Lecture 19 Programming Languages
Chapter One: An Introduction to Programming and Visual Basic
ICT Programming Lesson 1:
Lecture 8 Programming Paradigm & Languages. Programming Languages The process of telling the computer what to do Also known as coding.
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
Presentation transcript:

CS101 Introduction to Computing Lecture Programming Languages

Today’s Lecture To understand the role of programming languages in computing To understand the differences among low- & high-level, interpreted & compiled, and structured & object-oriented programming languages

Programming ?

The process of telling the computer what to do Also known as coding

Types of Programs ?

Batch Programs These are typically started from a shell (or automatically via a scheduler) and tend to follow a pattern of: –Initialize internal data –Read input data –Process that data –Print or store results Key feature: No user interaction with the computer while the program is running Examples?

Event-Driven Programs Examples? GUIs, microwave, camera The system sends events to the program and the program responds to these as they arrive. Events can include things a user does - like clicking the mouse - or things that the system itself does - like updating the clock. These programs generally work as follows: –Initialize the internal data –Wait for events to arrive –Identify an incoming event and react accordingly

Programming Language ?

A vocabulary and set of grammatical rules for instructing a computer to perform specific tasks

All programs consists of: 1.Sequence of instructions 2.Conditionals 3.Loops These may contain: –Data –Input/output (print, etc) –Operations (add, divide, etc)

Examples of Programming Languages ?

Machine Language Assembly Language ( ) LISP (1956) Fortran (1957) COBOL (1959) PL/1(1964) BASIC (1964) Pascal (1970) Smalltalk (1972) C (1972) Ada(1983) C++ ( ) QBasic (1986) Perl (1987) VisualBasic (1991) PowerBuilder Java (1995) JavaScript C# (2001)

Is HTML a programming language ?

Types of Programming Languages ?

High level Programming Languages Low Level Programming Languages

High-level programming languages, while simple compared to human languages, are more complex than the languages the uP actually understands, called machine languages Each different type of uP has its own unique machine language

Lying between machine languages & high-level languages are languages called assembly languages

Assembly languages are similar to machine languages, but are easier to program in as they allow a programmer to substitute names for numbers Machine languages consist of numbers only

4th-generation languages High-level languages Assembly languages Machine languages

walks!

Regardless of what language you use, you eventually need to convert your program into a language that the computer can understand Two ways for doing that: compile the program or interpret the program

Interpreter is a program that executes instructions written in a high- level language An interpreter translates high-level instructions into an intermediate form, which it then executes In contrast, a compiler translates high-level instructions directly into machine language

Compiled programs generally run faster than interpreted programs The advantage of an interpreter, however, is that it does not need to go through the compilation stage during which the whole of the high-level code is translated into machine instructions in one go. This process can be time-consuming if the program is long. The interpreter can immediately execute high- level programs, without waiting for the completion of the translation process

Interpreters: Immediate response, but execute code slowly Compilers: Takes longer to compile, but super-fast execution

Both interpreters and compilers are available for most high-level languages However, BASIC and LISP were especially designed to be executed by an interpreter

Why are there so many different programming languages ?

What is the difference between them ?

What are the advantages of particular languages ?

The question of which language is best is one that consumes a lot of time and energy among computer professionals Every language has its strengths and weaknesses

FORTRAN is a particularly good language for processing numerical data, but it does not lend itself very well to large business programs Pascal is very good for writing well-structured and readable programs, but it is not as flexible as the C programming language C++ embodies powerful object-oriented features, but it is more complex and difficult to learn as compared with Java

The choice of which language to use can also depend on the: type of computer the program is to run on, and the expertise of the programmer

Can a single language have all the good bits of other languages ?

Do some good features force a language to also have bad features ?

What makes a feature good or bad ?

Is there a perfect language ?

Is there a perfect language for a particular task ?

What changes in the field of computer languages can we expect in the near future ?

Which programming language should you learn ? Should you learn more than one ?

? Programming SW Development

Design SW Design Methodology ?

The set of (often flexible) rules and guidelines a team of developers follow to construct reasonably complex SW systems

Object Oriented Design (1) OO SW is all about objects: a black box which receives messages & responds with those of its own An object has 2 aspects: –Properties, also termed as state, data Example: For the bicycle: color, speed, pressure –Methods, also termed as behaviors, instructions Example: For the same object: accelerate(), inflate() In traditional design, these 2 aspects have been kept apart

Object Oriented Design (2) The designer starts with any component (object) of the system; designs it as an independent, self- contained system, and then moves to the design of some other component The over-all system is put together by fitting together a collection of these components Key feature: Details of the design of the component are kept independent of the over-all system –Benefit: It can be easily re-used in other systems: design once; use multiple times

Structured Design (1) Also called top-down design The designer starts by first conceiving a skeleton high-level design of the system, and then starts defining features of that over-all design in an ever- increasing detail Making small changes in the functionality of the systems sometimes leads to a major re-design exercise

Structured Design (2) Structured design emphasizes separating a program's data from its functionality Separating data from functionality typically leads to SW that is difficult to maintain & understand - especially for large SW systems

Object-Oriented Languages Programming languages specifically designed to make it easy to implement object-oriented designs Examples: Smalltalk, C++, Java

Reading Material Programming Languages

Goals of Today’s Lecture were … To understand the role of programming languages in computing To understand the differences among low- & high-level, interpreted & compiled, and structured & object-oriented programming languages

Focus of the Next Lecture: The SW Development Process Development process of reasonably complex SW systems does not consist of “coding” only We will become familiar with the various phases of the process that developers follow to develop SW systems of reasonable complexity