Today is the era of the Internet of Things (IoT). The recent advances in hardware and information technology have accelerated the deployment of billions of interconnected, smart and adaptive devices such as Smart Phones, Watches, LEDs etc, in critical infrastructures like health, transportation, environmental control and home automation
2. ADA
Ada is a structured, statically typed, imperative, and object-oriented high-level programming
language, extended from Pascal and other languages.
Ada has built-in features that directly support:
o Structured programming
o Object-oriented programming
o Generic programming
o Distributed programming
o Concurrent programming
3. HISTORY
United States Department of Defense (DoD) spent a lot of money for embedded applications,
but because of multiple PLs much of them has the portability & reuse problem
Ada was originally designed by a team led by French computer scientist Jean Ichbiah under
contract to the United States Department of Defense (DoD) from 1977 to 1983 to supersede
over 450 programming languages used by the DoD at that time.
Ada was named after Ada Lovelace (1815–1852), who has been credited as the first computer
programmer.
4. FEATURES
Strongly Typed
Packages can be defined
Packages and types can be made generic
Tasks can be created and communicate
Predefined library
Object-oriented programming is included
Interfaces to other languages are included in this languages
5. DATA TYPE
Ada allows us to define our own data types.
The elementary Ada types are:
o Scalar Types (holds only a single value at a time)
o Discrete Types
o Real Types
o Fixed Point Types
o Access Types
6. GOALS OF THE ADA LANGUAGE
Reduce development and maintenance costs
o Prevent writing bugs if possible
o Detect bugs as early as possible, preferably during compilation
o Encourage code reuse and team work
Packages with separate interface and implementation
Generics (e.g. templates)
o Make maintenance easier
Legibility is paramount; language is “auto documented”
Work well in all situations
o In the small: embedded, limited resources, real time, no operating system
o In the large: millions of lines of code, networking, GUIs, etc.
7. ADVANTAGES
1. Ada is one of the fastest programming languages. The program can work 100 times faster.
2. Ada supports code modularity better than C, C++, or Java.
3. Support of big and complicated programs.
4. Very good support of modern multicore CPUs as well as supercomputers with more than
one CPU.
5. “Powerful” modern programming language: object-oriented programming, templates,
flexible control of allocating dynamic memory, etc.
6. Fast compilation
7. Support for all kinds of devices: computers, embedded electronics, space ships, etc.
8. The language is convenient for not only to write but also to read.
9. There is a good development environment.
8. ADVANTAGES
1. Ada is one of the fastest programming languages. The program can really work 100 times faster.
2. Ada completely rejects “stupid” errors with confused data types.
3. Good support for control event against less rude errors. (This provides four times less errors in Ada programs). I will tell more about this later.
4. Modular structure of the language. Support of big and complicated programs.
5. Very good support of modern multicore CPUs as well as supercomputers with more than one CPU.
6. “Powerful” modern programming language: object-oriented programming, templates, flexible control of allocating dynamic memory, etc. (Don’t worry if you don’t understands the terms; this simply means that Ada is a powerful modern language.)
7. Rather quick compilation (the programmer waits less when Ada creates an .exe file and has more free time for programming and searching for errors).
8. Support for all kinds of devices: computers, embedded electronics, space ships, etc.
9. The language is such that it’s convenient not only to write but also to read (if you are a programmer).
10. There is a free but good development environment (programs for programmers).
11. There is an international standard.
12. Decimal fractions allow to work, for example, with financial information.