Ada

Klucze: programowanie ; 2007-07-07 19:28:27

Ada - niepopularny język programowania. Według mojej opinii - najlepszy.

Ada została zatwierdzona w 1980 jako wojskowy standard zunifikowanego języka wysokiego poziomu spełniający wymagania Steelman-a przez Ministerstwo Obrony US. W 1983 została zatwierdzona jako standard ANSI, a w 1987 jako standard ISO.

W 1995 wyszedł standard ISO 'Ada95' dodający funkcjonalności programowania obiektowego. Rozszerzenia standardu pojawiały się także później, w 2000 i 2005.

Czym się charakteryzuje Ada? Jest to język silnie typowany, kompilowany. To, że został zaprojektowany odgórnie, czyli najpierw powstała jego specyfikacja, a dopiero później implementacje, spowodowało, że nie ma takich krzaków jakie można znaleźć np. w PHP. Owa specyfikacja jest otwarta, można przeglądać jej zawartość. Jest ona kompletna i jednoznaczna, można tylko na jej podstawie przewidzieć wyniki dowolnego programu.

Jest to język obiektowy, umożliwia stosowanie polimorfizmu i dziedziczenia, Ada 2005 dodatkowo pozwala na tworzenie interface-ów. Silne typowanie wymusza jawną konwersje nawet między typami tego samego rodzaju [np. dwa różne typy stało przecinkowe].

Ada posiada obsługę wielowątkowości wplecioną w język - deklaracje zadania są inne składniowo niż definicje obiektów. Umożliwia także różne modele komunikacji pomiędzy zadaniami - od najprostszych, jak zmienne globalne, przez obiekty chronione, aż po spotkania.

To były fakty. Teraz kilka moich własnych opinii.

Jako język, Ada posiada setki rzeczy niesamowicie ułatwiających pisanie w niej programów. Na przykład: Jak w C wstawić największą wartość do zmiennej typu int? Przyporządkować (2 ^ (size_of(int) - 1)) - 1. W Adzie? Przyporządkować Integer'Last.

Inną zaletą Ady jest kompilator. Tzn. jest wiele implementacji, jednak wszystkie spełniają ten sam standard, więc zachowują się tak samo. Kompilator Ady znajdujący się w GCC - GNAT [GNu Ada Translator] jest bardzo przyjemny w używaniu. Tak jak inne kompilatory oczywiście sam zajmuje się zależnościami, ale także świetnie przedstawia błędy kompilacji. Przykładowo o brakującym średniku przypomina stwierdzeniem, że brakuje średnika [i tutaj mrugam do programistów C/C++]. Podpowiada także, że zrobiliśmy literówke w nazwie podprogramu [funkcji lub procedury] lub w nazwie zmienne i mówi także co chcieliśmy prawdopodobnie napisać.

A teraz kilka mitów nt. Ady:

"Ada jest językiem tylko dla symulacji/systemów czasu rzeczywistego/systemów embedded." - Mit. Ada posiada szeroką palete funkcjonalności które w żadnym z powyższych nie są używane. Bardzo dobrym przykładem tego jest Unbounded_String - ciąg znaków oparty na liście z dynamicznie przydzielaną pamięcią, o długości maksymalnej takiej jak Integer'Last. Tego rodzaju funkcjonalności posiadają niedeterministyczne czasy przetwarzania, są tworzone na stercie [której niektóre systemy embedded w ogóle nie posiadają] itp.

"Ada jest klonem Pascala." - Mit. Ada coprawda używa składni Pascala, jednak posiada inną semantyke. Przykładem jest chociażby znaczenie średnika.

O Adzie będę jeszcze pisał, bo to mój ulubiony język programowania.

Komentarze

grzywacz

2007-07-08 09:39:10; odpowiedz na wpis

Nie "(2 ^ (size_of(int) - 1)) - 1" tylko korzystamy z climits.h ;-)

seban

2007-07-08 11:25:46; odpowiedz na wpis

Dziwię się, że dopiero teraz napisałeś o Adzie. :-) Gnat - fajna nazwa

Nivertius

2007-07-08 12:15:07; odpowiedz na #49723 grzywacz

A widzisz ;-)

grzywacz

2007-07-09 00:59:35; odpowiedz na wpis

Swoją drogą - rozumiem, że "męczą" was Adą na tej robotyce, tak? :)

Nivertius

2007-07-09 01:01:16; odpowiedz na #49726 grzywacz

"Męczyli" jeden semestr, trzeci.

grzywacz

2007-07-09 01:05:06; odpowiedz na #49727 Nivertius

Achjo, u nas "męczą" dwa, drugi i trzeci na "wstępie do programowanie". Nie to, żeby ludzie cokolwiek po tym umieli. Poza tym Ada jako pierwszy język programowania może nie być najlepszym wyborem, ludzie są za ciency, kiepsko rozumieją zalety i szybko się zniechęcają składnią.

Piotrek pjocker@poczta.fm

2008-01-12 18:42:06; odpowiedz na wpis

Witam Panowie a bylibyscie w stanie napisac jakis program w adzie??

Nivertius

2008-01-28 13:05:47; odpowiedz na #50063 Piotrek pjocker@poczta.fm

Może nie 'bylibyśmy' a 'byłbym', ale przynajmniej nie 'byłbym' a 'jestem'.

Korepetycje

2008-04-16 14:10:08; odpowiedz na wpis

Ktoś napisał jakiś porządny program współbieżny w Adzie?

Nivertius

2008-04-16 17:12:11; odpowiedz na #50258 Korepetycje

Ktoś napisał.

Dodaj nowy komentarz


Menu

Klucze