Można zauważyć, że: Wszystkie nazwy są nieczułe na wielkość znaków. Cały program to jedna wielka procedura, która może zawierać podprocedury (w tym wypadku funkcję ack). Wszystkie zamknięcia są zapisywane za pomocą end co_zamykamy. Pozwala to uniknąć przypadkowych pomyłek, ale w opinii wielu programistów jest nadmiarowe. Przypisanie jest zapisywane " := ", natomiast porównanie przez " = ". Argumentuje się to tym, że w C występują pomyłki polegające na zapisie " = " zamiast właściwego " == ". Nie ma odpowiednika funkcji printf, uważanej za niebezpieczną. Chociaż funkcje " Put " i " New_Line " (z modułu " Gnat.Io ") są bezpieczniejsze, są bardzo niewygodne w użyciu. " elseif " pisze się łącznie nie zaś oddzielnie jak w C. Jest to pewne usprawnienie, używane przez większość nowych języków. Składnie atrybutów to obiekt'atrybut (lub klasa'atrybut), zamiast bardziej tradycyjnych selekcji " . " czy " :: ". Rzutowania są przeprowadzane składnią Klasa'Value(wartość). Jest to znaczne ulepszenie wobec C++, gdzie (klasa)wartość prowadzi do niepewnej kolejności wykonywania działań i zwykle w większych wyrażeniach jest zapisywane jako ((klasa)(wartość)). Występuje rozróżnienie „procedur” (w nomenklaturze C: funkcje niezwracające wartości) i „funkcji” (w nomenklaturze C: funkcje zwracające wartość).
Źródło i licencja
Fragment artykułu Wikipedia — Ada (język programowania) · historia autorów.
Tekst: CC BY-SA 4.0. Wydzielono fragment z dłuższego artykułu.