Notice: file_put_contents(): Write of 5155 bytes failed with errno=28 No space left on device in /var/www/tgoop/post.php on line 50

Warning: file_put_contents(): Only 8192 of 13347 bytes written, possibly out of free disk space in /var/www/tgoop/post.php on line 50
Господин Архитектор@architect_says P.483
ARCHITECT_SAYS Telegram 483
С тех пор, как я всех подрывал попробовать писать на Ada, прошло некоторое время, и я решил уточнить, как дела у потенциальных новобранцев.

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

За последние пару лет, кстати, ситуация упростилась сильно, развился пакетный менеджер, плагинчики, AdaCore смержили коммьюнити и про-версии GNAT и сделали их доступными как FSF, так что одной головной болью меньше. А из грустных новостей наблюдается то, что GNAT Studio, самая продвинутая IDE, больше не выпускается официально под MacOS, так что кодить будем в VS Code. Но ничего, пакетный менеджер поставит нам всё, что нужно для работы.

1. Итак, первым шагом необходимо отправиться на сайт https://ada-lang.io/ и качнуть оттуда Alire - пакетный менеджер Ada. Я качал для MacOS, разумеется. То, что скачали, разархивируем, снимает атрибут командой [$xattr -d com.apple.quarantine bin/alr]. Я рекомендую прописать путь к bin/alr в PATH

2. Устанавливаем редактор VS Code, проверяем, что запускается. В разделе Extensions находим Ada Language Server (тот, что без поддержки отладки), ставим. Даже не понадобится перезагружаться.

3. Генерируем тестовый проект. Для этого открываем Terminal, там отправляем команду [$alr get hello]. Данная команда должна скачать и инициализировать на диске тестовый проект hello в отдельной папке.

Если это первый запуск (а у вас так и будет), то запустится асистент выбора тулчейна. Вам предстоит выбрать два продукта:
- GNAT - компилятор, рантайм и т.п. - выбирайте под вашу платформу (native), с кросс-компиляцией потом разберетесь;
- GPRBuild - инструмент для сборки проектов - выбирайте посвежее.
Далее делаем [$cd hello] после успешного окончания команды.

4. В VS Code делаем Add Folder, и добавляем hello. Теперь можно походить, поизучать, что у вас там в проекте сгенерировалось. Обратите внимание на файлы .gpr, это файлы задания самого проекта и его настроек. Примечательно, что это не xml и не .ini, а само по себе обычный код на Ada.

5. Теперь делаем [$alr run]. Вы должны увидеть что-то:
ⓘ Building hello/hello.gpr...
Compile
[Ada] hello.adb
Bind
[gprbind] hello.bexch
[Ada] hello.ali
Link
[link] hello.adb
Build finished successfully in 0.14 seconds.
Hello, World!

6. Если что-то пошло не так -- а под MacOS с этим может быть связано что-то с X Code, то нужно добиться, чтобы у вас корректно заработал xcode, в том числе CommandLineTools, а потом вернуться к Ada. Суть в том, что GNAT, который настроен на использование GCC, может испытывать проблемы при использовании clang, который мимикрирует под gcc под MacOS. Не буду пересказывать документацию, в интернете много рекомендаций как обновить все до актуальной версии, рекомендую начать с этого.

7. Если у вас всё заработало, то дальше следует выполнить поучительные эксперименты. Во-первых, следует запустить команду [$alr exec -- gprconfig], и после короткого диалога посмотреть на сгенерированный файл default.cgpr, который визуализирует все настройки по-умолчанию. Его имеет смысл удалить, сгенерировать всегда сможете. Во-вторых, следует запустить [$alr] без аргументов, и ознакомиться с выводом, возможно, запросить [$alr help ....] по интересным командам.

Если всё работает, можно двигаться дальше: добро пожаловать на бесплатный обучающий курс Ada https://learn.adacore.com/courses/intro-to-ada/index.html. И теперь примеры из него можно будет компилировать не только в браузере, но и локально.

А документация на Alire тут: https://alire.ada.dev/docs/



tgoop.com/architect_says/483
Create:
Last Update:

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

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

За последние пару лет, кстати, ситуация упростилась сильно, развился пакетный менеджер, плагинчики, AdaCore смержили коммьюнити и про-версии GNAT и сделали их доступными как FSF, так что одной головной болью меньше. А из грустных новостей наблюдается то, что GNAT Studio, самая продвинутая IDE, больше не выпускается официально под MacOS, так что кодить будем в VS Code. Но ничего, пакетный менеджер поставит нам всё, что нужно для работы.

1. Итак, первым шагом необходимо отправиться на сайт https://ada-lang.io/ и качнуть оттуда Alire - пакетный менеджер Ada. Я качал для MacOS, разумеется. То, что скачали, разархивируем, снимает атрибут командой [$xattr -d com.apple.quarantine bin/alr]. Я рекомендую прописать путь к bin/alr в PATH

2. Устанавливаем редактор VS Code, проверяем, что запускается. В разделе Extensions находим Ada Language Server (тот, что без поддержки отладки), ставим. Даже не понадобится перезагружаться.

3. Генерируем тестовый проект. Для этого открываем Terminal, там отправляем команду [$alr get hello]. Данная команда должна скачать и инициализировать на диске тестовый проект hello в отдельной папке.

Если это первый запуск (а у вас так и будет), то запустится асистент выбора тулчейна. Вам предстоит выбрать два продукта:
- GNAT - компилятор, рантайм и т.п. - выбирайте под вашу платформу (native), с кросс-компиляцией потом разберетесь;
- GPRBuild - инструмент для сборки проектов - выбирайте посвежее.
Далее делаем [$cd hello] после успешного окончания команды.

4. В VS Code делаем Add Folder, и добавляем hello. Теперь можно походить, поизучать, что у вас там в проекте сгенерировалось. Обратите внимание на файлы .gpr, это файлы задания самого проекта и его настроек. Примечательно, что это не xml и не .ini, а само по себе обычный код на Ada.

5. Теперь делаем [$alr run]. Вы должны увидеть что-то:
ⓘ Building hello/hello.gpr...
Compile
[Ada] hello.adb
Bind
[gprbind] hello.bexch
[Ada] hello.ali
Link
[link] hello.adb
Build finished successfully in 0.14 seconds.
Hello, World!

6. Если что-то пошло не так -- а под MacOS с этим может быть связано что-то с X Code, то нужно добиться, чтобы у вас корректно заработал xcode, в том числе CommandLineTools, а потом вернуться к Ada. Суть в том, что GNAT, который настроен на использование GCC, может испытывать проблемы при использовании clang, который мимикрирует под gcc под MacOS. Не буду пересказывать документацию, в интернете много рекомендаций как обновить все до актуальной версии, рекомендую начать с этого.

7. Если у вас всё заработало, то дальше следует выполнить поучительные эксперименты. Во-первых, следует запустить команду [$alr exec -- gprconfig], и после короткого диалога посмотреть на сгенерированный файл default.cgpr, который визуализирует все настройки по-умолчанию. Его имеет смысл удалить, сгенерировать всегда сможете. Во-вторых, следует запустить [$alr] без аргументов, и ознакомиться с выводом, возможно, запросить [$alr help ....] по интересным командам.

Если всё работает, можно двигаться дальше: добро пожаловать на бесплатный обучающий курс Ada https://learn.adacore.com/courses/intro-to-ada/index.html. И теперь примеры из него можно будет компилировать не только в браузере, но и локально.

А документация на Alire тут: https://alire.ada.dev/docs/

BY Господин Архитектор


Share with your friend now:
tgoop.com/architect_says/483

View MORE
Open in Telegram


Telegram News

Date: |

Telegram channels fall into two types: Ng, who had pleaded not guilty to all charges, had been detained for more than 20 months. His channel was said to have contained around 120 messages and photos that incited others to vandalise pro-government shops and commit criminal damage targeting police stations. Your posting frequency depends on the topic of your channel. If you have a news channel, it’s OK to publish new content every day (or even every hour). For other industries, stick with 2-3 large posts a week. During a meeting with the president of the Supreme Electoral Court (TSE) on June 6, Telegram's Vice President Ilya Perekopsky announced the initiatives. According to the executive, Brazil is the first country in the world where Telegram is introducing the features, which could be expanded to other countries facing threats to democracy through the dissemination of false content. Don’t publish new content at nighttime. Since not all users disable notifications for the night, you risk inadvertently disturbing them.
from us


Telegram Господин Архитектор
FROM American