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

★★☆

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

Может надо вот так устанавливать компиляторы?

# emerge dev-lang/gnat-gpl --ask

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] dev-lang/gnat-gpl-2018-r1  USE="bootstrap cxx doc fortran nls nptl openmp pch pie regression-test sanitize ssp vtv (-altivec) -cilk -debug (-fixed-point) -go -graphite -hardened -jit -libssp -mpx (-multilib) -objc -objc++ -objc-gc -pgo -vanilla" 
Deleted
()
Ответ на: комментарий от Partisan

И еще вот немного «чуши» для расширения кругозора зашоренных успехами своих господ https://www.ada-ru.org/prj_be200.html

И много чего интересного на вики есть https://ru.wikipedia.org/wiki/Ада_(язык_программирования)#Ада_в_СССР_и_России

Если что и выбирать так это программирование на Котлин под Андроид, без миски риса точно не останутся кодеры под Котлин.

https://ru.wikipedia.org/wiki/Kotlin

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

Посмотрел, увидел содомию, отвернулся и пошёл дальше. Нет, серьёзно а этом писать? Я там понимаю ещё фортран... Уж лучше джабу или подобное учить.

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

чем Модула(просто или вторая и вообще али конкретная среда) нравилась больше Оберона(языка али среды)?

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

И даже работает!

# gnatmake-7.3.1 hello.adb 

gcc-7.3.1 -c hello.adb
gnatbind-7.3.1 -x hello.ali
gnatlink-7.3.1 hello.ali

# ./hello 
Hello, hell!

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

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

Фортран хорошо, но не уверен что платить будут достаточно для миски риса.

Джабу классно, пиши есчё!

Deleted
()
Ответ на: комментарий от Einstok_Fair
$ gnatmake -v -static hello.adb -largs -v -static

GNATMAKE 7.3.0
Copyright (C) 1992-2017, Free Software Foundation, Inc.
  "hello.ali" being checked ...
End of compilation
  "hello" missing.
x86_64-linux-gnu-gnatbind-7 -x hello.ali
x86_64-linux-gnu-gnatlink-7 hello.ali -v -static

GNATLINK 7.3.0
Copyright (C) 1995-2017, Free Software Foundation, Inc.
x86_64-linux-gnu-gcc-7 -c -gnatA -gnatWb -gnatiw -gnatws ABS_PATH_TO/b~hello.adb
/usr/bin/x86_64-linux-gnu-gcc-7 b~hello.o ./hello.o -static -o hello -L./ -L/usr/lib/gcc/x86_64-linux-gnu/7/adalib/ -lgnat-7 -shared-libgcc
/usr/bin/ld: cannot find -lgnat-7
collect2: error: ld returned 1 exit status
x86_64-linux-gnu-gnatlink-7: error when calling /usr/bin/x86_64-linux-gnu-gcc-7
gnatmake: *** link failed.

Так, что лежит в пути для линкера:

ls -l /usr/lib/gcc/x86_64-linux-gnu/7/adalib/libgnat*
-rw-r--r-- 1 root root 6591094 Sep  4 12:27 /usr/lib/gcc/x86_64-linux-gnu/7/adalib/libgnat.a
-rw-r--r-- 1 root root 6522846 Sep  4 12:27 /usr/lib/gcc/x86_64-linux-gnu/7/adalib/libgnat_pic.a
lrwxrwxrwx 1 root root      43 Sep  4 12:27 /usr/lib/gcc/x86_64-linux-gnu/7/adalib/libgnat.so -> ../../../../x86_64-linux-gnu/libgnat-7.so.1
Ясно, без версии (или без символьной ссылки с версией). Попробуем вручную заменить "-lgnat-7" на "-lgnat":
$ /usr/bin/x86_64-linux-gnu-gcc-7 b~hello.o ./hello.o -static -o hello -L./ -L/usr/lib/gcc/x86_64-linux-gnu/7/adalib/ -lgnat -shared-libgcc
$ ls -l hello
-rwxr-xr-x 1 gag gag 1133152 Oct 28 02:52 hello
$ ldd hello
	not a dynamic executable
Работает. С полпинка.

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

Да, я про язык.

В Обероне, по-моему, переборщили с лаконичностью — убрали записи с вариантами и ещё что-то.

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