LINUX.ORG.RU

Подскажите, пожалуйста, учебники по языку Ада

 ,


0

1

Желательно на русском языке.

Мне сказали, что организовывать связи с демонами лучше всего на этом языке.

UPD: в связанных топиках нашел ссылку на сайт http://www.ada-ru.org/

В частности, у меня не получается собрать простую программу:

$ sudo apt-get install gnat

$ cat >hello.adb <<EOF
with Ada.Text_IO;
procedure Hello is
begin
 Ada.Text_IO.Put_Line("Hello, hell!");
end Hello;
EOF

$ gnatmake -static hello.adb -largs -static
gcc-6 -c -static hello.adb
gnatbind-6 -x hello.ali
gnatlink-6 hello.ali -static
/usr/bin/ld: cannot find -lgnat-6
collect2: error: ld returned 1 exit status
gnatlink-6: error when calling /usr/bin/gcc-6
gnatmake: *** link failed.

пакет
https://packages.debian.org/stretch/gnat-6
вообще говоря установлен:

# apt-get install gnat-6
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Уже установлен пакет gnat-6 самой новой версии (6.3.0-18+deb9u1).
gnat-6 установлен вручную.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 250 пакетов не обновлено.

$ find / -iname «libgnat-6.*»
/usr/lib/x86_64-linux-gnu/libgnat-6.so.1
/usr/lib/x86_64-linux-gnu/libgnat-6.so

Мне сказали, что организовывать связи с демонами лучше всего на этом языке.

Дочка сэра Байрона с неодобрением смотрит на тебя сверху. Или откуда там...

AS ★★★★★ ()

Мне сказали, что организовывать связи с демонами лучше всего на этом языке.

А я вам говорю, что надо быть менее доверчивым. Вам сказали чушь. Ada широко применялся только в США, потому что так называемое министерство «обороны» США когда-то приняло его в качестве своего стандарта. Но давно вышел из употребления.

А спрашивать, где брать учебники по Ada, вы должны были у того персонажа, который его похвалил. Мой ответ: лучше нигде. Выбирайте среди популярных языков программирования.

Partisan ★★★ ()

Восстание из ада, все части. Можно на ютубчиках экранизацию глянуть. Там описано всё подробно инструментарий (крюки/гвозди) компиляция через открытие коробочки, но практиковать не советую, точнее даже прошу не пробовать.

anonymous ()

Нарейн Джехани «Язык Ада», ISBN 5-03-000400-9

Издательство «Мир», 1988 — 552с.

Вегнеp П. Пpогpаммиpование на языке Ада. /пеp. под pед. В.Ш.Каyфмана. - М.:Миp, 1983

Василеску Ю. Прикладное программирование на языке Ада. Пер. с англ. - М.: Мир, 1990. - 348 с., ил. - ISBN 5-03-001108-0

iZEN ★★★★★ ()
Последнее исправление: iZEN (всего исправлений: 2)

Лет 20 назад популярен был. Чисто в познавательных целях, у людей, искалеченных паскалем. Сегодня? Ну, не знаю, право. Возьми nim какой-нибудь.

anonymous ()
Ответ на: комментарий от leave

Тред-перепись петросянов

Ну так а что, erlang ему советовать или 1,5 книжки по аде на русском, которые он сам без труда может найти?

ashot ★★★ ()
Ответ на: комментарий от iZEN

ГОСТ 27831-88, Язык программирования ада
Статус: действующий
Дата последнего изменения: 10.04.2018

Einstok_Fair ★★☆ ()
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от ox55ff

разработка программного обеспечения на Аде в целом обходится на 60 % дешевле, а разработанная программа имеет в 9 раз меньше дефектов, чем при использовании языка Си.

https://ru.wikipedia.org/wiki/Ада_(язык_программирования)

Einstok_Fair ★★☆ ()
Последнее исправление: Einstok_Fair (всего исправлений: 1)

Некрономикон должен помочь. Главное найди настоящий. Ктулху всё знает и с радостью зохавает тебяпоможет тебе. У него даже аккаунт на ЛОР-е был, но правда его забанили.

ЗЫ

Как дешевый заменитель во время поисков, можешь использовать это.

peregrine ★★★★★ ()
Ответ на: комментарий от Einstok_Fair

а разработанная программа имеет в 9 раз меньше дефектов, чем при использовании языка Си

Каких дефектов? Что за дефективный это писал?

ashot ★★★ ()
Ответ на: комментарий от peregrine

У него даже аккаунт на ЛОР-е был, но правда его забанили.

Осиновый кол-то не вогнали, поэтому он возвращается.

ashot ★★★ ()
Ответ на: комментарий от ashot

elixir очень хорош, эрланг не знаю. а ему точно микросервисы нужны?

anonymous ()
Ответ на: комментарий от iZEN

http://bourabai.kz/alg/ada16.htm

Учебник по программированию на Ада (формат Windows-Help, chm) Справочное руководство по языку Ада-83 (формат Windows-Help, chm) Benjamin Brosgol, Introduction to Ada 95. http://www.embedded.com/story/OEG20021211S0034 Stephen Zeigler, Comparing Development Costs of C and Ada. http://www.adaic.com/whyada/ada-vs-c/cada_art.html P. Amey, Correctness by Construction: Better Can Also be Cheaper. CROSSTALK: Journal of Defense Software Engineering, March, 2002. Ada 95 Benefits, http://www.act-europe.fr/texts/papers/ada95-benefits-on-the-jvm.pdf A Comparison of the Concurrency and Real-Time Features of Ada 95 and Java, http://www.act-europe.fr/texts/papers/ada-java-concurrency-comp.pdf Н. Джехани. Язык программирования АДА. Гради Буч. Объектно-ориентированное проектирование. Жусипбекова З. СРС по языку Ада: доклад [pdf] и презентация [ppt].

Einstok_Fair ★★☆ ()

Исторический опыт показывает, что люди выбравшие вычурные языки остаются на обочине, в основной своей массе. Учтите это, пожалуйста.

anonymous ()

Это тот самый ЯП, благодаря ошибке в праграмме на котором Ариан 5 взорвался при старте, да?

anonymous ()
Ответ на: комментарий от anonymous

Они решают те задачи, которые не соответствуют общим трендам. Для них нет «рынка» как такового. Никто не знает, сколько стоит их работа, и надо ли за неё платить.

iZEN ★★★★★ ()
Ответ на: комментарий от anonymous

Да это именно эта ошибка в ПО на Аде, хотя там больше несогласованная реакция на отказ была - основной процессор получал диагностическую информацию от навигационного (который словил ошибку), но принимал и интерпретировал ее как «нормальную» навигационную. В результате последовала команда на резкий поворот сопел - кувырок ракеты и самоуничтожение. Вот неплохое описание взрыва Ариан-5 https://habr.com/company/pvs-studio/blog/306748/

sigurd ★★★★ ()

Я не спец по Аде, но у тебя в примере опция -static идет многократно, а статической либы не установлено! (.so - это динамическая либа. Выкинь -static)

sigurd ★★★★ ()
Последнее исправление: sigurd (всего исправлений: 1)
Ответ на: комментарий от Partisan

А я вам говорю, что надо быть менее доверчивым. Вам сказали чушь.
Выбирайте среди популярных языков программирования.

Вы тоже говорите чушь. Делать популярность решающим фактором выбора языка программирования очень глупо.

anonymous ()
Ответ на: комментарий от anonymous

Исторический опыт показывает, что люди выбравшие вычурные языки остаются на обочине, в основной своей массе.

То есть, вы не рекомендуете выбирать такие вычурные языки, как, например, C++, чтобы не остаться на обочине?

anonymous ()

зря ржёте. ада умеет то, что спп так и не научился делать (и не научится). пример с ренджами банален, а вот такое пожайста проверните мне (без new офкорс):

with ada.text_io;

procedure m is

  package iface is
    type t is interface;
    procedure hello(obj : t) is abstract;
  end iface;

  package impl is
    type t1 is new iface.t with null record;
    procedure hello(obj : t1);
    type t2 is new iface.t with null record;
    procedure hello(obj : t2);
  end impl;

  package body impl is
    procedure hello(obj : t1) is
    begin
      ada.text_io.put_line("hello t1");
    end;

    procedure hello(obj : t2) is
    begin
      ada.text_io.put_line("hello t2");
    end;
  end impl;

  function create(param : integer) return iface.t'class is
  begin
    if param = 0 then
      return impl.t1'(null record);
    else
      return impl.t2'(null record);
    end if;
  end create;

  procedure action(obj : iface.t'class) is
  begin
    obj.hello;
  end action;

begin
  declare
    obj1 : iface.t'class := create(0);
    obj2 : iface.t'class := create(1);
  begin
    action(obj1);
    action(obj2);
  end;
end m;

anonymous ()
Ответ на: комментарий от anonymous

ада умеет то, что спп так и не научился делать (и не научится).

Так это не штука. Многие языки умеют то, чему спп не научился и не научится, сколько бы его не обвешивали дополнительным навесным оборудованием в каждом новом стандарте.

anonymous ()
Ответ на: комментарий от Einstok_Fair

статической либы не установлено!

Как установить статическую либу?

Для начала убедись, что она действительно не установлена (может, компилятор просто её не видит по каким-то причинам). Для этого поищи в системе файл libgnat-6.a

anonymous ()
Ответ на: комментарий от Einstok_Fair

В таком случае есть вероятность, что статические либы в твоём дистрибе вынесены в отдельный пакет. Посмотри, есть ли файлы типа *.a в этом пакете. И есть ли ещё пакеты с ключевыми словами ada или gnat.

(Глянул в арче, ради интереса. Там в пакете gcc-ada есть libgnat.a)

anonymous ()
Ответ на: комментарий от anonymous
# cd /usr/lib/gcc/x86_64-linux-gnu/6/adalib/
# ln -s libgnat.a libgnat-6.a
$ cd ~/ada
$ gnatmake -static hello.adb -largs -static
gcc-6 -c -static hello.adb
gnatbind-6 -x hello.ali
gnatlink-6 hello.ali -static
$ du -b hello
1080296	hello
Einstok_Fair ★★☆ ()
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от mersinvald

в дебиане то же самое:

root@debian-guest:~/ada# gnatmake -static hello.adb -largs -static
gcc-6 -c -static hello.adb
gnatbind-6 -x hello.ali
gnatlink-6 hello.ali -static
/usr/bin/ld: cannot find -lgnat-6
collect2: error: ld returned 1 exit status
gnatlink-6: error when calling /usr/bin/gcc-6
gnatmake: *** link failed.
Einstok_Fair ★★☆ ()
Ответ на: комментарий от Partisan

Ada широко применялся только в США, потому что так называемое министерство «обороны» США когда-то приняло его в качестве своего стандарта. Но давно вышел из употребления.

Расскажите об этом разработчикам стандарта ISO 2012 года.

hobbit ★★★★★ ()
Ответ на: комментарий от hobbit

Что там с Модулой? Вроде в 1990-х движуха была и что-то там застандартизовали. Потом растащили всё по углам - начали каждый своё пилить. Зарабатывать. Потом всё утухло, а наработки выложили в свободный доступ.

iZEN ★★★★★ ()
Ответ на: комментарий от ashot

Амэн Господи Аллилуйя - это точно не от Бога, а от заморских смотрителей за заокенскими конюшнями.

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.