Title: Programming Languages: Telling the Computers What to Do
1Programming Languages Telling the Computers
What to Do
2Objectives
- Describe what programmers do and do not do
- Explain how programmers define a problem, plan
the solution and then code, test, and document
the program - List and describe the levels of programming
languages machine, assembly, high level, very
high level, and natural - Describe the major programming languages in use
today - Explain the concepts of object-oriented
programming
3Contents
- Program
- Programmers
- The Programming Process
- Choosing a Language
- Traditional Programming
- Object-Oriented Programming
- Learning to Program
4Program
- Set of instructions written in a programming
language that tells the computer what to do
5Programmers
- Prepare instructions that make up the program
- Run the instructions to see if they produce the
correct results - Make corrections
- Document the program
- Interact with
- Users
- Managers
- Systems analysts
- Coordinate with other programmers to build a
complete system
6The Programming Process
- Defining the problem
- Planning the solution
- Coding the program
- Testing the program
- Documenting the program
7The Programming ProcessDefining the Problem
- What is the input
- What output do you expect
- How do you get from the input to the output
8The Programming ProcessPlanning the Solution
- Algorithm detailed solution to a problem
- Design tools
- Flowchart
- Pseudocode
- Desk-checking
- Structured walkthrough
9The Programming ProcessPlanning the Solution
- Accept series of numbers
- and display the average
10The Programming ProcessPlanning the Solution
Accept series of numbers and display the average
11The Programming ProcessCoding the Program
- Translate algorithm into a formal programming
language - Syntax
- How to key in the statements?
- Text editor
- Programming environment Interactive Development
Environment (IDE)
12The Programming ProcessTesting the Program
- Translation compiler
- Translates from source module into object module
- Detects syntax errors
- Link linkage editor (linker)
- Combines object module with libraries to create
load module - Finds undefined external references
- Debugging
- Run using data that tests all statements
- Logic errors
13The Programming ProcessTesting the Program
14The Programming ProcessDocumenting the Program
- Performed throughout the development
- Material generated during each step
- Problem definitions
- Program plan
- Comments within source code
- Testing procedures
- Narrative
- Layouts of input and output
- Program listing
15Choosing a Language
- Choice made for you
- What is available?
- Required interface
- What do you know best?
- Which language lends itself to the problem to be
solved?
16Language Generations
- Low levels closer to binary
- High levels closer to human code
- Five Generations
- Procedural Languages
- Machine language
- Assembly language
- High-level language 3GL
- Nonprocedural Languages
- Very high-level language 4GL
- Natural language 5GL
17Machine Language
- Written in strings of 0 and 1
- Only language the computer understands
- All other programming languages are translated to
machine language - Computer dependent
18Assembly Language
- Mnemonic codes
- Names for memory locations
- Computer dependent
- Assembler translates from Assembly to machine
language
193GLHigh-Level Languages
- 1960s
- Languages designed for specific types of problems
and used syntax familiar to the people in that
field - FORTRAN math
- COBOL business
- Compile translates from high-level language to
machine language
204GLVery High-Level Languages
- Programmer specifies the desired results the
language develops the solution - Ten times more productive with a 4GL than a
procedural language - Query Languages
- Retrieve information from databases
- Easy to learn and use
215GLNatural Languages
- Resemble natural or spoken English
- Translates human instructions into code the
computer can execute - Commonly used by non-programmers to access
databases
22Third Generation LanguagesTraditional Programming
- Describe data
- Describe procedures or operations on that data
- Data and procedures are separate
23Third Generation Languages
- FORTRAN
- 1954
- Represent complex mathematical formulas
- C/C has replaced FORTRAN
- COBOL
- 1959
- Business
- Large complex data files
- Formatted business reports
24Third Generation Languages
FORTRAN
25Third Generation Languages
COBOL
26Third Generation Languages
- BASIC
- 1965
- Popularity grew with PC popularity (1970s)
- Easy to learn
- Used little memory
- RPG
- 1965
- Report generation quickly creates complex
reports
27Third Generation Languages
BASIC
28Third Generation Languages
- Visual Basic
- 1987
- Create complex user interfaces
- Uses standard Windows features
- Event-driven user controls the program
- C
- 1972
- Efficient code
- Portability
- C
- Enhancement of C
29Third Generation Languages
C
30OOPObject-Oriented Programming
- Object
- Self-contained unit of data and instructions
- Includes
- Related facts (data)
- Related functions (instructions to act on that
data) - Example
- Object cat
- Data feet, nose, fur, tail
- Functions eat, purr, scratch, walk
- Cat Kitty, Susan
31OOPObject-Oriented Programming
- Encapsulation describes the objects self-
containment - Attributes the facts that describe the object
- Methods / operations the instructions that tell
the object what to do - Instance one occurrence of an object
- Messages activate methods
- Example A walk message causes Kitty to move
32OOPObject-Oriented Programming
- Class defines characteristics unique to all
objects of that class - Inheritance Objects of a class automatically
posses all of the characteristics of the class
from which it was derived - Subclass inherits characteristics from class
and defines additional characteristics that are
unique
33OOPObject-Oriented Programming
- Example
- Class Animal
- Subclass Cat
- Subclass Persian cat
- Instance Kitty
- Objects can be reused
34OOPObject-Oriented Programming
- Languages
- C
- Can write both structured and object-oriented
code - Visual Basic
- Rudimentary features of object-oriented language
35Third Generation Languages
- Java
- Cross-platform
- Java Virtual Machine (JVM)
- Sits on top of computers regular platform
- Translates compiled Java code into instructions
for the specific platform - Applets
36OOPObject-Oriented Programming
- Using Objects in Business
- Class Customer
- Subclass Retail or Wholesale
- Instance John Smith
- Retail and Wholesale customers automatically
inherit customer address since it is part of the
Customer class
37Learning to Program
- Enroll in courses
- Read
- Use tutorials
- View Sample code
- Write code (start small)
- Use Help
38(No Transcript)