module 4 part 2 introduction to software development : programming & languages introduction to...
Post on 04-Jan-2016
232 Views
Preview:
TRANSCRIPT
Module 4 Part 2Module 4 Part 2
Introduction To
Software Development :
Programming & Languages
Introduction To
Software Development :
Programming & Languages
Module ObjectivesModule 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 ?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 LanguagesLevels 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 Language1. 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 Languages2. 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
3. High-Level Languages3. 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 Languages4. 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 Languages5. 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 LanguagesMajor Programming Languages
• FORTRAN
• COBOL
• BASIC
• RPG
• Visual Basic
• C
• Java
FORTRANFORTRAN
• The first high-level language
• Stands for FORmula TRANslator
• Used primarily for engineering, mathematical, and scientific tasks
COBOLCOBOL
• Stands for COmmon Business-Oriented Language
• Used primarily for business requirements– Processes large data files– Produces well-formatted
reports
BASICBASIC
• Stands for Beginners’ All-Purpose Symbolic Instruction Code
• Developed to teach programming to college students
• Became very popular with the introduction of the microcomputer
RPGRPG
• Stands for Report Program Generator• Designed to allow rapid creation of reports
– Programmer simply describes the source data and desired report format
Visual BasicVisual 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
CC
• 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
JavaJava
• 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
Object-Oriented ProgrammingObject-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 ObjectsUsing 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 ObjectActivating 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 LanguagesObject-Oriented Languages
• C++
• Java
• C#
• Visual Basic
C++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
JavaJava
• 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#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 BasicVisual 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
top related