ページ
ページ 1CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( This is an overview of the major features that are available in **Ada 2005**, the version of the Ada standard that was accepted by ISO in January 2007 (to differentiate it from its predecessors [Ada 83]( and [Ada 95](
ページ 2CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( ## "Hello, world!" programs ### "Hello, world!" A common example of a language's [syntax]( is the [Hello world program]( Here is a straightforward Ada Implementation: File: hello_world_1.adb, Crate: basic ([view]( [pla
ページ 3CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( Ada [compilers]( are available from several vendors, on a variety of host and target platforms. The [Ada Resource Association]( maintains a [list of available compilers]( Below is an alphabetical list of available comp
ページ 5CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( Several options exist for providing an environment for the development of Ada-language programs. Some useful environments are listed below. ## Emacs Ada-Mode **Emacs** is an easily-customized highly-extensible text-edi
ページ 6CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( ## Expressions The LRM defines an expression as a formula that defines the computation or retrieval of a value..[1] There are numerous forms of expression, ranging from primaries such as literals or names, to quantifie
ページ 7CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( This computer programming article is available for [pseudocode]( Ada, and [ooc]( ## Conditionals Conditional clauses are blocks of code that will only execute if a particular expression (the condition) is [true]( ### i
ページ 9CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( ## Objects [Variables]( and constants both store data. The difference between them is that the data stored in a variable can be changed during program execution, whereas the data stored in a constant cannot. Both must
ページ 10CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( There are several forms to specify the representation of items. ## Attributes [type]( Day_Of_Month [is]( [range]( 1 .. 31;
[for]( Day_Of_Month'[Size]( [use]( 8; -- 8 bits
[for]( Day_Of_Month'[Alignment]( [use]( 1; -- 1
ページ 11CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( Ada supports three different types of strings. Each string type is designed to solve a different problem. In addition, every string type is implemented for each available Characters type (Character, Wide_Character, Wid
ページ 12CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( In Ada the subprograms are classified into two categories: procedures and functions. A procedures call is a statement and does not return any value, whereas a function returns a value and must therefore be a part of an
ページ 13CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( Ada encourages the division of code into separate modules called packages. Each package can contain any combination of items. Some of the benefits of using packages are: - package contents are placed in a separate name
ページ 14CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( ## Overview The standard Ada libraries provide several Input/Output facilities, each one adapted to specific needs. Namely, the language defines the following dedicated packages: - Text_IO - Sequential_IO - Direct_IO -
ページ 15CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( ## Robustness Robustness is the ability of a system or system component to behave “reasonably” when it detects an anomaly, e.g.: - It receives invalid inputs. - Another system component (hardware or software) malfuncti
ページ 16CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( ## Parametric polymorphism (generic units) The idea of code reuse arises from the necessity for constructing large software systems combining well-established building blocks. The reusability of code improves the produ
ページ 17CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( ## Tasks A task unit is a program unit that is obeyed concurrently with the rest of an Ada program. The corresponding activity, a new locus of control, is called a task in Ada terminology, and is similar to a thread, f
ページ 18CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( ## Object orientation in Ada Object oriented programming consists in building the software in terms of "objects". An "object" contains data and has a behavior. The data, normally, consists in constants and variables as
ページ 19CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( This language feature has been introduced in [Ada 2012]( ## Contract Based Programming in Ada 2012 Among the additions to Ada 2012, a number of aspects follow the common theme of ‘formal’ contracts on types and subprog
ページ 20CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( ## What's an Access Type? Access types in Ada are what other languages call pointers. They point to objects located at certain addresses. So normally one can think of access types as simple addresses (there are excepti
ページ 21CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( This language feature is only available from [Ada 2005]( on. Containers is an Ada (2005 or later) specification that provides facilities for storing collections of elements. There are several types of containers define
ページ 22CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( ## Interfacing Ada is one of the few languages where interfacing is part of the language standard. The programmer can interface with other programming languages, or with the hardware. ## Other programming languages The
ページ 23CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( ## Full declaration of a type can be deferred to the unit's body Often, you'll want to make changes to the internals of a private type. This, in turn, will require the algorithms that act on it to be modified. If the t
ページ 24CC BY-SA 4.0
[Computing]( » [Computer Science]( » [Computer Programming]( » [Ada Programming]( Some language features are often misunderstood, resulting in common programming errors, performance degradation and portability problems. The following incorrect usages of the Ada language are often seen in code writte

