Design Goals Programs reliability and maintenance is important

Slides:



Advertisements
Similar presentations
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
Advertisements

Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
ADA Langage Report Ligia Nitu. Introduction Ada is the most extensive and expensive computer language ever developed. Ada is the most extensive and expensive.
Introduction to Fortran Fortran Evolution Drawbacks of FORTRAN 77 Fortran 90 New features Advantages of Additions.
Chapter 1 Principles of Programming and Software Engineering.
Chapter 8 The Tower of Babel. Chapter Outline Procedural languages Fortran, COBOL, PASCAL, C, Ada Object-oriented programming Special-purpose languages.
Java Software Solutions Lewis and Loftus Chapter 2 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Software Concepts -- Introduction.
Language Evaluation Criteria
1 Shawlands Academy Higher Computing Software Development Unit.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
Chapter 1: A First Program Using C#. Programming Computer program – A set of instructions that tells a computer what to do – Also called software Software.
Ada How was Ada conceived. The language, not the lady.
We will talking about story of JAVA language. By Kristsada Songpartom.
The Software Development Process
Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
ADT data abstraction. Abstraction  representation of concepts by their relevant features only  programming has two major categories of abstraction process.
FORTRAN History. FORTRAN - Interesting Facts n FORTRAN is the oldest Language actively in use today. n FORTRAN is still used for new software development.
February 8, 2006copyright Thomas Pole , all rights reserved 1 Lecture 3: Reusable Software Packaging: Source Code and Text Chapter 2: Dealing.
How to execute Program structure Variables name, keywords, binding, scope, lifetime Data types – type system – primitives, strings, arrays, hashes – pointers/references.
Essential Ada Terminology copyright © Michael B. Feldman, All Rights Reserved.
Ada, Scheme, R Emory Wingard. Ada History Department of Defense in search of high level language around Requirements drafted for the language.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Chapter 1: Preliminaries Lecture # 2. Chapter 1: Preliminaries Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation.
structured statically typed imperative wide-spectrum object-oriented high-level computer programming language extended from Pascal and other languages.
FASTFAST All rights reserved © MEP Make programming fun again.
Principles of Programming & Software Engineering
Programming Languages 2nd edition Tucker and Noonan
Programming paradigms
Advanced Programing practices
Concepts of Programming Languages
JAVA By Waqas.
Done By: Ashlee Lizarraga Ricky Usher Jacinto Roches Eli Gomez
Programming with ANSI C ++
Types for Programs and Proofs
Abstract Data Types and Encapsulation Concepts
Type Checking Generalizes the concept of operands and operators to include subprograms and assignments Type checking is the activity of ensuring that the.
Inheritance and Polymorphism
Structured Programming
by Dharani Pullammagari
ECE 551: Digital System Design & Synthesis
Principles of Programming and Software Engineering
An Introduction to Programming
11.1 The Concept of Abstraction
Object-Orientated Programming
Object Oriented Programming
Java Programming Language
Lecture 22 Inheritance Richard Gesick.
MSIS 655 Advanced Business Applications Programming
College of Computer Science and Engineering
Chapter 1 Preliminary. Chapter 1 Preliminary 1.1 Reasons for Studying Concepts of Programming Languages Increased capacity to express ideas Improved.
Programming Languages 2nd edition Tucker and Noonan
CPE 528: Lecture #3 Department of Electrical and Computer Engineering University of Alabama in Huntsville.
The Programming Process
CIS601: Object-Oriented Programming in C++
Object-Oriented Programming: Inheritance and Polymorphism
Advanced Programing practices
Chapter 13: Construction
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Introduction to Computer Programming
Fundaments of Game Design
Chapter 1: Preliminaries
An Introduction to Programming
Chapter 5 Architectural Design.
Programming Languages, Preliminaries, History & Evolution
Oriented Design and Abstract Data Type
Reasons To Study Programming Languages
11.1 The Concept of Abstraction
CS313T Advanced Programming language
Chapter 11 Abstraction - The concept of abstraction is fundamental in
Presentation transcript:

Design Goals Programs reliability and maintenance is important Military software systems are expected to have a minimum lifetime of 30 years Programming is a human activity Efficiency "Hence emphasis was placed on program readability over ease of writing" Ada is a computer programming language originally designed to support the construction of long-lived, highly reliable software systems. Its design emphasizes readability, avoids error-prone notation, encourages reuse and team coordination, and it is designed to be efficiently implementable. A significant advantage of Ada is its reduction of debugging time. Ada tries to catch as many errors as reasonably possible, as early as possible. Many errors are caught at compile-time by Ada that aren't caught or are caught much later by other computer languages. Ada programs also catch many errors at run-time if they can't be caught at compile-time (this checking can be turned off to improve performance if desired). In addition, Ada includes a problem (exception) handling mechanism so that these problems can be dealt with at run-time.

Ada History The need for a single standard language – 1975 Requirements document developed; strawman Refined to Woodman and then Tinman – 1976 Further refined to ironman Proposals were invited for the design of a new language Four selected (green, red, blue, and yellow) Initial designs were submitted in 1978 red and green proposals were short listed Standard refined to steelman The designs were refined further and finally ‘green’ was selected in 1979 Where and how is Ada standardized? Ada was originally standardized by ANSI in 1983 (ISO released an equivalent standard in 1987). Ada was recently revised to add some new capabilities; this revision is called `Ada 9X' or `Ada 95'. Ada compiler vendors have generally updated their compilers to add the new Ada 95 features. This tutorial covers the capabilities of Ada 95, but will note which features are new to Ada 95. Ada is officially defined in its reference manual (RM). The complete Ada 95 RM is available on-line as a hypertext document. However, the RM is not intended to be a tutorial and can be hard to understand if you're not already somewhat familiar with Ada. We will often refer to the RM, and feel free to look at it if you're interested in more detail about a particular subject. Ada was not designed by a committee. The original Ada design was the winner of a language design competition; the winning team was headed by Jean Ichbiah (Ichbiah's language was called "Green"). The 1995 revision of Ada (Ada 95) was developed by a small team led by Tucker Taft. In both cases, the design underwent a public comment period where the designers responded to public comments.

Ada History DoD announced that the language will be called Ada. The 1995 revision of Ada (Ada 95) was developed by a small team led by Tucker Taft. In both cases, the design underwent a public comment period where the designers responded to public comments and finally the language was finalized Where and how is Ada standardized? Ada was originally standardized by ANSI in 1983 (ISO released an equivalent standard in 1987). Ada was recently revised to add some new capabilities; this revision is called `Ada 9X' or `Ada 95'. Ada compiler vendors have generally updated their compilers to add the new Ada 95 features. This tutorial covers the capabilities of Ada 95, but will note which features are new to Ada 95. Ada is officially defined in its reference manual (RM). The complete Ada 95 RM is available on-line as a hypertext document. However, the RM is not intended to be a tutorial and can be hard to understand if you're not already somewhat familiar with Ada. We will often refer to the RM, and feel free to look at it if you're interested in more detail about a particular subject. Ada was not designed by a committee. The original Ada design was the winner of a language design competition; the winning team was headed by Jean Ichbiah (Ichbiah's language was called "Green"). The 1995 revision of Ada (Ada 95) was developed by a small team led by Tucker Taft. In both cases, the design underwent a public comment period where the designers responded to public comments.

Ada Features Packages (modules) of related types, objects, and operations can be defined Packages and types can be made generic (parameterized templates) to help create reusable components It is strongly typed Errors can be signaled as exceptions and handled explicitly. Many serious errors (such as computational overflow and invalid array indexes) are automatically caught and handled through this exception handling mechanism, thus improving program reliability

Ada Features Tasks Multiple parallel threads of control that can be used to create and communicate different threads of control. This is a major capability not supported in a standard way by many other languages

Ada Features A predefined library is included; it provides input/output (I/O), string manipulation, numeric functions, a command line interface, and a random number generator (the last two were available in Ada 83, but are standardized in Ada 95) Object-oriented programming is supported (this is a new feature of Ada 95). In fact, Ada 95 is the first internationally standardized object-oriented programming language Interfaces to other languages (such as C, Fortran, and COBOL) are included in the language

Ada “Hello World” not case sensitive with Ada.Text_Io; -- intent to use -- kind of include use Ada.Text_Io; -- direct visibility procedure Hello is -- procedure without -- parameters is the -- starting point begin Put_Line("Hello World!"); end Hello; not case sensitive

Ada Operators Operator C/C++ Ada Assignment = := Equality == Non Equality != /= Greater Than > Less Than < Greater Than Or Equal >= Less Than Or Equal <=

Ada Operators Operator C/C++ Ada PlusEquals += SubtractEquals -=   SubtractEquals -= MultiplyEquals *= DivisionEquals /= OrEquals |= AndEquals &=

Ada Operators Operator C/C++ Ada Modulus % mod Remainder rem   rem AbsoluteValue abs Exponentiation ** Range ..

Ada Operators Operator C/C++ Ada Membership in Logical And && and   in Logical And && and Logical Or || or Logical Not ! not Bitwise And & Bitwise Or | Bitwise Exclusive Or ^ xor Bitwise Not ~ String Concatenation

Operator Overloading Ada allows a limited overloading of operators The exception in Ada is that the assignment operator ( := ) cannot be overridden can be overridden in case of inheritance from a special kind of “abstract class” When you override the equality operator ( = ) you also implicitly override the inequality operator ( /= )

Ada Types Ada provides a large number of kinds of data types Ada does not have a predefined inheritance hierarchy like many object oriented programming languages Ada allows you to define your own data types, including numeric data types Defining your own type in Ada creates a new type