0% found this document useful (0 votes)
32 views

1 Programming Languages

The document discusses programming languages and the programming process. It describes the different levels of programming languages from machine language to natural languages. It explains that programmers define problems, plan solutions, code, test and document programs. The programming process and popular third generation languages like FORTRAN, COBOL, BASIC, C and C++ are outlined. Finally, the concepts of object-oriented programming and languages like Java are introduced.

Uploaded by

rehena mojammel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

1 Programming Languages

The document discusses programming languages and the programming process. It describes the different levels of programming languages from machine language to natural languages. It explains that programmers define problems, plan solutions, code, test and document programs. The programming process and popular third generation languages like FORTRAN, COBOL, BASIC, C and C++ are outlined. Finally, the concepts of object-oriented programming and languages like Java are introduced.

Uploaded by

rehena mojammel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

Programming Languages

Telling computers what to do

CMPE13 1 Cyrus Bazeghi


Objectives
• 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

CMPE13 2
Program
Set of instructions written in a
programming language that tells the
computer what to do

CMPE13 3
Programmers
• 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

CMPE13 4
The Programming Process
• Defining the problem
• Planning the solution
• Coding the program
• Testing the program
• Documenting the program

CMPE13 5
The Programming Process:
Defining the Problem

• What is the input


• What output do you expect
• How do you get from the input to
the output

CMPE13 6
The Programming Process:
Planning the Solution
• Algorithms
– Detailed solutions to a given problem
• Sorting records, adding sums of numbers, etc..
• Design tools
– Flowchart
– Pseudocode
• Has logic structure, but no command syntax
• Desk-checking
– Personal code design walk through
• Peer Reviews
– “Code walk through”/structured walk
through
CMPE13 7
The Programming Process:
Planning the Solution

Accept series
of numbers
and display
the average

CMPE13 8
The Programming Process:
Coding the Program
• Translate algorithm into a formal
programming language
• Within syntax of the language
• How to key in the statements?
– Text editor
– Programming environment
• Interactive Development Environment
(IDE)

CMPE13 9
VI

• Mode editor, comes with pretty much


all UNIX/LINUX distros
• Insert or command modes
• Cheat Sheet

http://www.lagmonster.org/docs/vi.html

CMPE13 10
Emacs

• A very “rich” editor


• More than just an editor
• Cheat Sheet

http://ccrma.stanford.edu/guides/packag
e/emacs/emacs.html

CMPE13 11
The Programming Process:
Testing 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

CMPE13 12
The Programming Process:
Documenting 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
CMPE13 13
Choosing 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?

CMPE13 14
Language 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

CMPE13 15
Machine Language
• Written in strings of 0 and 1
– Displayed as hexadecimal
• Only language the computer
understands
• All other programming languages
are translated to machine
language
• Computer dependent

CMPE13 16
Assembly Language
• Mnemonic codes
– Add, sub, tst, jmp…
• Names for memory locations
• Computer dependent
• “Assembler” translates from
Assembly to machine language

CMPE13 17
3GL: High-Level Languages
• 1960s
• Languages designed for specific
types of problems and used syntax
familiar to the people in that field
– FORTRAN: (FORmula TRANslator)
• Math
– COBOL: (COmmon Business Oriented
Language)
• Business
• Compile translates from high-level
language to machine language
CMPE13 18
4GL: Very 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

CMPE13 19
5GL: Natural Languages
• Resemble natural
or spoken English
• Translates human
instructions into
code the computer
can execute
• Commonly used by
non-programmers
to access
databases

CMPE13 20
Third Generation Languages:
Traditional Programming

• Describe data
• Describe procedures or operations
on that data
• Data and procedures are separate

CMPE13 21
Third Generation Languages
• FORTRAN
– 1954
– Represent complex mathematical formulas
– C/C++ has replaced FORTRAN
• COBOL
– 1959
– Business
– Large complex data files
– Formatted business reports
CMPE13 22
Average a list of numbers

Accept series
of numbers
and display
the average

CMPE13 23
Third Generation Languages

FORTRAN

CMPE13 24
Third Generation Languages

COBOL

CMPE13 25
Third Generation Languages
• BASIC (Beginners All-purpose Symbolic Instruction
Code)
– 1965
– Popularity grew with PC popularity (1970s)
– Easy to learn
– Used little memory
– Bill Gates beginnings.. MS Basic
• RPG
– 1965
– Report generation – quickly creates complex
reports

CMPE13 26
Third Generation Languages

BASIC

CMPE13 27
Third Generation Languages
• MS Visual Basic
– 1987
– Create complex user interfaces
– Uses standard Windows features
– Event-driven – user controls the program
• C
– 1972
– Efficient code – the language of UNIX
– Portability
• C++
– Enhancement of C (Object Oriented)

CMPE13 28
Third Generation Languages

C++

CMPE13 29
OOP: Object-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, Tabby

CMPE13 30
OOP: Object-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
– Polymorphism
Example: A „walk‟ message causes Kitty to
move (in a cat-like way)

CMPE13 31
OOP: Object-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
• Instance – actual occurrence of an
object

CMPE13 32
OOP: Object-Oriented Programming

Example
Class: Boat
Subclass: Canoe
Subclass: Powerboat
Subclass: Sailboat
Instance: Chardonnay II

CMPE13 33
OOP: Object-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

CMPE13 34
OOP: Object-Oriented Programming
Languages
• C++
Can write both structured and object-oriented code
• Visual Basic
Rudimentary features of object-oriented language

CMPE13 35
Third Generation Languages
Java
• Cross-platform
• Java Virtual Machine (JVM)
– Sits on top of computer‟s regular platform
– Translates compiled Java code into instructions
for the specific platform
• Applets

CMPE13 36

You might also like