Upload
kelley-griffith
View
218
Download
1
Embed Size (px)
Citation preview
CHAPTER 4 : Part 2INTRODUCTION TO SOFTWARE DEVELOPMENT:PROGRAMMING & LANGUAGES
Module Objectives
• At the end of the module, students should be able to:
– List and describe the levels of programming languages:
machine, assembly, high level, very high level, and natural
– Describe the major programming languages that are in
use today
– Explain the concepts of object-oriented programming
What is Programming ?
• Computer program – a series of instructions that directs a computer to
perform task.
• Programming language – a set of words, symbols, and codes that enables a
programmer to communicate instructions to a computer.– a set of rules that provides a way of telling the computer
what operations to perform
Levels of Programming Languages
• Lower-level languages – more like the 0s and 1s the computer itself uses
• Higher-level languages – more like the languages people use
• Divided into five generations1. Machine language
2. Assembly languages
3. High-level languages
4. Very high-level languages
5. Natural languages
1. Machine Language
• Programs and memory locations are written in strings of 0s and 1s
• Problems with machine languages– Programs are difficult to write and debug– Each computer has its own machine language
• Only option available to early programmers
2. Assembly Languages
• Substitute mnemonic codes for 0s and 1s – For example, A for add, C for compare, etc.– Use names rather than binary addresses for memory
locations
• Require an assembler to translate the program into machine language
• Still used for programming chips and writing utility programs
• Example: MOV AL, 61h ; Load AL with 97 decimal (61 hex)
3. High-Level Languages
• Transformed programming– Programmers could focus on solving problems
rather than manipulating hardware– Programs could be written and debugged much
more quickly
• Requires a compiler to convert the statements into machine language– Each computer has its own version of a
compiler for each language
4. Very High-Level Languages
• Also called fourth-generation languages (4GLs)
• Considered nonprocedural languages– The programmer specifies the desired results,
and the language develops the solution– Programmers can be about 10 times more
productive using a fourth-generation language than a third-generation language
5. Natural Languages
• Resemble written or spoken English– Programs can be written in
a natural syntax, rather than in the syntax rules of a programming language
• The language translates the instructions into code the computer can execute
Major Programming Languages
• FORTRAN• COBOL• BASIC• RPG
• Visual Basic• C
• Java
FORTRAN
• The first high-level language• Stands for FORmula
TRANslator• Used primarily for
engineering, mathematical, and scientific tasks
COBOL
• Stands for COmmon Business-Oriented Language
• Used primarily for business requirements– Processes large data files– Produces well-formatted
reports
BASIC
• Stands for Beginners’ All-Purpose Symbolic Instruction Code
• Developed to teach programming to college students
• Became very popular with the introduction of the microcomputer
RPG
• Stands for Report Program Generator• Designed to allow rapid creation of
reports– Programmer simply describes the source
data and desired report format
Visual Basic
• Allows programmer to create Windows-like user interfaces– Programmer drags a control
(button, text box, etc.) onto the form
– VB creates the code associated with that control
• VB is event-driven– The user controls the program
C
• Originally designed to write systems software– Offers the ease of use of a
high-level language with the efficiency of an assembly language
• Very portable – can be used with virtually every combination of computer and operating system
#include <stdio.h> main(){ int number; printf("Enter an integer\n"); scanf("%d",&number); printf("Integer entered by you is %d\n", number); return 0;}
Java• A network-friendly programming language that
permits a piece of software to run directly on many different platforms– Allows programmers to write one version of the
program, rather than a separate version of each platform
• Very useful for Internet development– Java applets can run in the user’s Web browser
public class HelloWorld { // method main(): ALWAYS the APPLICATION entry
point public static void main (String[] args) {
System.out.println ("Hello World!"); }
}
Object-Oriented Programming
• Object – a self-contained unit that contains both data and its related functions
• Key terms in object-oriented programming– Encapsulation – an object isolates both its data and its
related instructions– Attributes – facts that describe the object
• Also called properties
– Methods – instructions that tell the object to do something
– Messages – an outside stimulus that results in the change of the state of an object
Using Objects
• Programmers define classes of objects
– The class contains all attributes that are unique to objects of that class
– An object is an instance (occurrence) of a class
• Objects are arranged hierarchically in classes and subclasses
– Subclasses are derived from classes– Inheritance – a subclass possesses all
attributes of the class from which it is derived
– Additional attributes can be coded in the subclasses
Activating the Object
• A message is sent to the object, telling it to do something– The object’s methods tell it how to do it
• Polymorphism – each object has its own way to process the message– For example, the class may have a Move
method, but each subclass implements that method differently
Object-Oriented Languages
• C++• Java• C#• Visual Basic
C++
• An enhancement of the C language– Includes all features of C – Adds support for object-oriented programming
• Can be used as simply an improvement of C, without the object-oriented features
Java
• A pure object-oriented program• Used to create small programs called
applets– Applets can be delivered over the Web and run
on any platform
C#
• Microsoft’s answer to Java• Has the same advantages over C++ that Java
has• Designed to work within Microsoft’s .NET
environment– .NET is designed for building, deploying, and
running Web-based applications
Visual Basic
• Previous versions supported some object technology
• The current version, VB.NET, is the first to support inheritance and polymorphism– These two traits are required for a true object-
oriented language