Top Banner
PROGRAMMING LANGUAGES
25

Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

Dec 25, 2015

Download

Documents

Patience Jones
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

PROGRAMMING LANGUAGES

Page 2: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

Programming Languages

– Coding schemes used to write both systems and application software

• A programming language is an abstraction mechanism. It enables a programmer to specify a computation abstractly, and to let a program (usually called an assembler, compiler or interpreter) implement the specification in the detailed form needed for execution on a computer

Page 3: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
Page 4: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

• To build programs, people use languages that are similar to human language. The results are translated into machine code, which computers understand.

• Programming languages fall into three broad categories

Machine languages

Assembly languages

Higher-level languages

Page 5: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

Categories of Programming Languages

• Machine Language– 1st generation programming language– Considered a low-level language because it involves basic coding using

the binary symbols 1 and 0

• Machine languages (first-generation languages) are the most basic type of computer languages, consisting of strings of numbers the computer's hardware can use.

• Different types of hardware use different machine code. For example, IBM computers use different machine language than Apple computers

Page 6: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

• Assembly Language– 2nd generation language– Replaced binary digits with mnemonics (e.g., “ADD”) programmers could more easily

understand

• Assembly languages (second-generation languages) are only somewhat easier to work with than machine languages.

• To create programs in assembly language, developers use cryptic English-like phrases to represent strings of numbers.

• The code is then translated into object code, using a translator called an assembler.

Categories of Programming Languages

Page 7: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
Page 8: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

• Higher-level languages are more powerful than assembly language and allow the programmer to work in a more English-like environment.

• Higher-level programming languages are divided into three "generations," each more powerful than the last• Third-generation languages

• Fourth-generation languages

• Fifth-generation languages

Categories of Programming Languages

Page 9: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

• Third Generation Languages– Continued trend to more symbolic code (e.g. COBOL)

• Third-generation languages (3GLs) are the first to use true English-like phrasing, making them easier to use than previous languages.

• 3GLs are portable, meaning the object code created for one type of system can be translated for use on a different type of system.

• The following languages are 3GLs

• FORTAN C• COBOL C++• BASIC Java• Pascal ActiveX

Categories of Programming Languages

Page 10: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
Page 11: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

• Fourth Generation Languages (4GLs)– Languages that are less procedural and even more English-like than third-

generation languages (e.g. FOCUS)• Fourth-generation languages (4GLs) are even easier to use than 3GLs.

• 4GLs may use a text-based environment (like a 3GL) or may allow the programmer to work in a visual environment, using graphical tools.

• The following languages are 4GLs

Visual Basic (VB) Visual Age Authoring environments

Categories of Programming Languages

Page 12: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

• 5th generation languages

– Combines rule-based code generation, component management, visual programming techniques, and reuse management

– Knowledge-based management• An approach to the development of computer programs in which you do not tell a

computer how to do a job, but what you want it to do• Fifth-generation languages (5GLs) are an issue of debate in the programming

community – some programmers cannot agree that they even exist.

• These high-level languages would use artificial intelligence to create software, making 5GLs extremely difficult to develop.

• Solve problems using constraints rather than algorithms, used in Artificial Intelligence• Prolog

Categories of Programming Languages

Page 13: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

• Query languages– Used to ask the computer questions in English-like

sentences– Also known as database languages

• Structured query language (SQL)– A standardized language often used to perform

database queries and manipulations

Categories of Programming Languages

Page 14: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

Object Oriented LanguagesLanguages that allow interaction of programming objects, including

data elements and the actions that will be performed on them• Note: OOP = object-oriented programming

• Object-oriented programming (OOP) is a method of structuring programs by identifying real world

• or other objects, and then writing modules each of which contains all the data and executable

• statements needed to represent one class of objects. Within such a module, there is a clear

• distinction between the abstract properties of the class which are exported for use by other objects,

• and the implementation which is hidden so that it can be modified without affecting the rest of the

• system.

Page 15: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

Object Oriented Languages

• Encapsulation• The process of grouping items into an object

• Polymorphism• A process allowing the programmer to develop one routine or set

of activities that will operate on multiple objects

Page 16: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

Object Oriented Languages

• Inheritance• Property used to describe objects in a group of objects taking on

characteristics of other objects in the same group or class of objects

• Reusable code• The instruction code within an object that can be reused in

different programs for a variety of applications

• Examples• Smalltalk, C++, Java

Page 17: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

• C++, Objective-C, Smalltalk, Java, C#, Perl,Python, Ruby and

PHP are examples of object-oriented programming languages.

• The goals of object-oriented programming are

Increased understanding. Ease of maintenance. Ease of evolution.

Object Oriented Languages

Page 18: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

Visual Programming Languages

– Languages that use a mouse, icons, or symbols on the screen and pull-down menus to develop programs

– Examples• Visual Basic• Visual C++• PC COBOL

Page 19: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

Programming Languages: Terminology

• Language translator– Systems software that converts a programmer’s source

code into its equivalent in machine language

• Source code– High-level program code written by the programmer

• Object code– Another name for machine language code

Page 20: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

Programming Languages: Terminology

• Interpreter– A language translator that translates one program

statement at a time into machine code

Page 21: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

Programming Languages: Terminology

• Compiler– A language translator that converts a complete program

into machine language to produce a program that the computer can process in its entirety

Page 22: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
Page 23: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

Elements of Programming Languages

• Like ordinary languages, programming languages have syntax

• The syntax of a (programming) language is a set of rules that define what sequences of symbols are considered to be valid expressions (programs) in the language

• if-statement ::= if ( expression ) statement [ else statement ]

Page 24: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

Hardware Description Language• Basic idea is a programming language to describe hardware

• Initial purpose was to allow abstract design and simulation– Design could be verified then implemented in hardware

• Now Synthesis tools allow direct implementation from HDL code.– Large improvement in designer productivity

• There are many different HDLs– Verilog HDL– ABEL– VHDL

Page 25: Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.

• Hardware Description Languages allow fast design and verification of digital circuits.

• Accurate simulation and testing requires delays and inputs to be specified.

• There are three different levels of abstraction for modelling circuits.

Hardware Description Language