Ada_Ru форум

Обсуждение языка Ада

Ada forge :-)

Оставить новое сообщение

Сообщения

Vadim Godunko
Ada forge :-)
2009-08-21 23:29:23

Доброго времени суток!

 

Вот решил поэкспериментировать с Trac и Subversion на тему создания ресурса для хостинга Ada проектов. В качестве эксперимента поместил туда свой проект. Поглядеть можно здесь:

 

http://adaforge.qtada.com/

 

Критика, пожелания, предложения приветствуются.

 

Если кто хочет разместить и свои проекты - пишите.

On Сбт, 2009-08-22 at 03:29 +0400, Vadim Godunko wrote:

Доброго времени суток!

 

Вот решил поэкспериментировать с Trac и Subversion на тему создания ресурса для хостинга Ada проектов. В качестве эксперимента поместил туда свой проект. Поглядеть можно здесь:

 

http://adaforge.qtada.com/

 

Критика, пожелания, предложения приветствуются.

 

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

 

--

Olleg Samoylov <olleg@...>

Moscow Institute of Physics and Technology

Olleg Samoylov wrote:

 

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

 

Есть, и очень много. Ключевое слово - ОЧЕНЬ. Ada проектов в этом

множестве совсем не много. Поэтому создание сети платформ

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

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

Есть, и очень много. Ключевое слово - ОЧЕНЬ. Ada проектов в этом

множестве совсем не много. Поэтому создание сети платформ

ориентированных исключительно на Ada, позволит сделать более доступными

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

международную, например, что бы каждая национальная группа пользователей

имела свой, но в то же время это было единным целым, а не просто набором

раскиданных проектов.

 

Вообще идея хорошая. Рекомендую посмотреть как это сделано для Haskell'я : http://hackage.haskell.org

 

Единый репозиторий пакетов. С документацией и т.п. Некий простенький пакетный менеджер с возможностью указания зависимостей и автоматического выкачивания всего чего нужно из инета.

+ поиск по всей это базе.

 

По факту -- hackage очень помогает. Если что-то требуется, в первую очередь идешь туда и смотришь не написал ли кто-нибудь это уже до тебя.

Alexey Veselovsky wrote:

 

Единый репозиторий пакетов. С документацией и т.п. Некий простенький пакетный менеджер с возможностью указания зависимостей и автоматического выкачивания всего чего нужно из инета.

+ поиск по всей это базе.

 

Ага! Плюс один голос! :-)

On Чтв, 2009-09-10 at 12:48 +0400, Alexey Veselovsky wrote:

По факту -- hackage очень помогает. Если что-то требуется, в первую очередь

идешь туда и смотришь не написал ли кто-нибудь это уже до тебя.

 

Я смотрю сначала в репозиторий дебиана/ubuntu (кстати вот и готовый пакет менеджер с выкачиванием и проверками зависимостей, в том числе и от не ада библиотек, и готовая веб платформа для разработки с поддержкой нужных технологий). А потом на sourceforge. К тому же в подобных

публичных платформах есть и тэги языка написания и распространненая сеть зеркал, отлаженные сервисы. А идеи самостийности скорее приведут к обратному эффекту - продукты будут варится в собственном котле и никто про них знать ничего не будет, кроме очень узкого круга. Умышленные создания неудобств (типа собственных платформ, пакет менеджеров и т.д.) не приведут к появлению удобств.

--

Olleg Samoylov <olleg@...>

Moscow Institute of Physics and Technology

По факту -- hackage очень помогает. Если что-то требуется, в первую

очередь

идешь туда и смотришь не написал ли кто-нибудь это уже до тебя.

Я смотрю сначала в репозиторий дебиана/ubuntu (кстати вот и готовый

пакет менеджер с выкачиванием и проверками зависимостей, в том числе и

от не ада библиотек, и готовая веб платформа для разработки с поддержкой

нужных технологий).

Есть довольно таки большое различие -- cabal ориентирован на работу с исходниками. Т.е. при необходимости он ещё и соберет всё что нужно. Кроме того он очень прост. И писан на самом хаскеле ;-)

 

А как там у дебиана/убунтовского пакет-манагера с портабельностью кстати? Оно хорошо себя под виндой чувствует? И пачку cygwin'ов за собой не потащет?

 

Кроме того, в репозитории убунты/дебиана обычно библиотеки крайне устаревшие. Да и найти конкретно адову библиотеку не просто. В общем, мне, как активному пользователю дебиана, периодически всё равно приходится тянуть исходники ручками и собирать нужную версию либы. Без всяких там репозиториев. И cabal/hackage таки удобней, ибо там всегда актуальные версии библиотек, точнее -- там ВСЕ версии ВСЕХ библиотек. Очень удобно. И поиск удобный. И документация/создание документации унифицирована и доступна хоть через веб хоть так. + там автоматически проверяется собирабельность каждой билиотеки на конкретных версиях компилятора.

 

Аде подобная инфраструктура не помешала бы.

 

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

распространненая сеть зеркал, отлаженные сервисы.

На которых фиг что найдешь. А потом долго мучаешься пытаясь всё нарытое свести воедино. Да ну нафиг.

 

А идеи самостийности скорее приведут к

обратному эффекту - продукты будут варится в собственном котле и никто

про них знать ничего не будет, кроме очень узкого круга. Умышленные

создания неудобств (типа собственных платформ, пакет менеджеров и т.д.)

не приведут к появлению удобств.

 

Понимаешь, одно другого не исключает. Инфраструктура подобная hackage/cabal очень удобна РАЗРАБОТЧИКУ. Там в основном библиотеки. Конечные продукты естественно хостятся и на sf.net в том числе, и в репозиториях всяких дебианов представлены.

 

Это не самостийность, это просто удобный инструмент для разработчика. Замечу, очень удобный.

Единый репозиторий пакетов. С документацией и т.п. Некий простенький

пакетный менеджер с возможностью указания зависимостей и автоматического

выкачивания всего чего нужно из инета.

+ поиск по всей это базе.

 

Ага! Плюс один голос! :-)

 

Да, ещё раз поясню -- нужен не аналог sf.net, и не google.code, а аналог hackage -- инструмент в первую очередь для разработчика. Единая инфраструктура. Очень советую таки посмотреть как там устроено.

По факту -- hackage очень помогает. Если что-то требуется, в первую очередь

идешь туда и смотришь не написал ли кто-нибудь это уже до тебя.

Я смотрю сначала в репозиторий дебиана/ubuntu (кстати вот и готовый пакет менеджер с выкачиванием и проверками зависимостей, в том числе и от не ада библиотек, и готовая веб платформа для разработки с поддержкой нужных технологий).

Есть довольно таки большое различие -- cabal ориентирован на работу с исходниками. Т.е. при необходимости он ещё и соберет всё что нужно. Кроме того он очень прост. И писан на самом хаскеле ;-)

 

А как там у дебиана/убунтовского пакет-манагера с портабельностью кстати? Оно хорошо себя под виндой чувствует? И пачку cygwin'ов за собой не потащет? Кроме того, в репозитории убунты/дебиана обычно библиотеки крайне устаревшие. Да и найти конкретно адову библиотеку не просто. В общем, мне, как активному пользователю дебиана, периодически всё равно приходится тянуть исходники ручками и собирать нужную версию либы.

 

С т.з. системы Debian правильно будет обновить пакет до современный версии, и тогда для всех будет пакет со свежей версией, чтобы руками не пересобирать. Кроме тех, кому это надо - никто не будет этим

заниматься.

С т.з. системы Debian правильно будет обновить пакет до современный

версии, и тогда для всех будет пакет со свежей версией, чтобы руками

не пересобирать. Кроме тех, кому это надо - никто не будет этим

заниматься.

Тут есть один нюанс -- новая версия библиотеки не всегда обратно совместима ;-)

Поэтому с т.з. разработчика я пока не видел ничего удобней hackage.

С т.з. системы Debian правильно будет обновить пакет до современный версии, и тогда для всех будет пакет со свежей версией, чтобы руками не пересобирать. Кроме тех, кому это надо - никто не будет этим

заниматься.

Тут есть один нюанс -- новая версия библиотеки не всегда обратно совместима ;-)

Поэтому с т.з. разработчика я пока не видел ничего удобней hackage.

 

Ничего не мешает сделать пакет adabar-latest/adabar-current/ещё_как-то наряду с "устаревшим" adabar :-)

Ничего не мешает сделать пакет adabar-latest/adabar-current/ещё_как-то

наряду с "устаревшим" adabar :-)

 

Угу-угу. И ещё всех остальных оповестить что оно именно так вот и называется.

Нет, ну можно конечно сделать и на базе dpkg (или как оно там зовется), если оно будет нормально работать под всеми осями а не только под линухой, но необходимость наличия ada-forge это не отменяет ;-)

 

Грубо говоря, база данных библиотек и приложений на аде.

On Птн, 2009-09-11 at 11:04 +0400, Alexey Veselovsky wrote:

 

Ничего не мешает сделать пакет

adabar-latest/adabar-current/ещё_как-то

наряду с "устаревшим" adabar :-)

 

Угу-угу. И ещё всех остальных оповестить что оно именно так вот и называется.

Нет, ну можно конечно сделать и на базе dpkg (или как оно там

зовется), если

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

необходимость наличия ada-forge это не отменяет ;-)

 

С точки зрения устаревшисти дебиана - да у него долгий цикл разработки. Ubuntu - раз в полгода, сам перешел и вам советую попробовать. И

убунтушный Launchpad (платформа для разработки и поддержки пакетов) выглядит гораздо симпатичнее дебиановского форджа. С точки зрения что мало что найдешь - так это же строится усилиями добровольцев. Если бы вы взяли на себя поддержку Ада пакетов в дебиане - там все бы было как надо. :) dpkg пакеты работают не только под линуксом, есть примеры Darwin (I-Phone), HURD, забыл как называется на Солярисе. В принципе ничего наверное не помешает использовать dpkg и apt-get и под виндой наверное... Если их слинковать статический. :) Там же завязки не только на библиотеки, но и под posix окружение, для чего и нужен cygwin, например: стандартная структура каталогов, наличие unix shell и т.д. Довольно мало программ, которым не нужно все это. Например Gimp,

работает без cygwin, все нужные свои библиотеки ставит сам у себя.

Грубо говоря, база данных библиотек и приложений на аде.

 

База данных - это другое дело. Вот это конечно было бы полезно, т.к. Ада проекты разбросаны по всему миру.

 

--

Olleg Samoylov <olleg@...>

Moscow Institute of Physics and Technology

С точки зрения устаревшисти дебиана - да у него долгий цикл разработки.

Ubuntu - раз в полгода, сам перешел и вам советую попробовать. И

А я на дебиан как раз с убунты и пришел ;-)

Тут штука в чем, с т.з. пользователя -- меня полностью устраивает стабильный, хоть и несколько устаревший софт в дебиане. Стабильность важнее как бы.

 

А вот как разработчику мне частенько нужно странное. То чего в репозитории нет (в т.ч. иногда и в убунтовском), и тут мне в любом случае нужно ставить это дело ручками.

 

Hackage уникален тем что это как бы отдельный от системного репозиторий/база данных всех проектов, библиотек, приложений и т.п. писаных на haskell'e. Там всегда есть самые свежие версии любой библиотеки, и при этом старые версии никуда не деваются. Если допустим у нас старый компилятор -- ghc 6.8 (текущий -- ghc 6.10.4), то самые свежие версии некоторых библиотек мы собрать не сможем, но мы всегда можешь выбрать версию библиотеки постарше, которая за собой потянет по зависимостям аналогичные библиотеки (которые соберутся на 6.8).

 

Ну и кроме того, cabal не только используется для вытягивания чего-то там с hackage, но ещё оно и собирает проект. Т.е. пишешь myproject.cabal файл, в нем указываешь все зависимости и прочее, натравливаешь на это дело сам cabal и оно собирает, если чего-то из зависимостей нехватает, то дотаскивает с hackage.

 

В общем, повторюсь, мне нравится. И аналогов я собственно не видел. dpkg конечно похож, но не то. Он ориентирован всё же не на разработчика.

 

Грубо говоря, база данных библиотек и приложений на аде.

 

База данных - это другое дело. Вот это конечно было бы полезно, т.к. Ада

проекты разбросаны по всему миру.

 

Дык, блин, а я о чем говорю? Хаскелевы приложения и библиотеки есть и в репозиториях убунты/дебиана, и на sf.net и т.п. Но разработчику удобней всего пользоваться инфраструктурой hackage. Пользователь же конечно же использует то что максимально консистентно его системе. Если это убунта/дебиан, то это dpkg, если винда, то просто инсталлер (с сайта проекта),если федора, то rpm.

On Птн, 2009-09-11 at 14:11 +0400, Alexey Veselovsky wrote:

 

А вот как разработчику мне частенько нужно странное. То чего в

репозитории

 

Так нету потому, что никто туда не положил. :) И если хотите чтобы было

- положите. И с новым репозиторием будет тоже самое, само собой там все не появится.

 

haskell'e. Там

всегда есть самые свежие версии любой библиотеки, и при этом старые версии

никуда не деваются.

 

Старые библиотеки в дебиане тоже не деваются. :) Обычно они либо тянутся по дистрибам, либо их можно найти в старых дистрибах, если захотеть. Другое дело старые дистрибы лежат на других, архивных, серверах.

 

Ну и кроме того, cabal не только используется для вытягивания чего-то там с

hackage, но ещё оно и собирает проект. Т.е. пишешь myproject.cabal файл, в

нем указываешь все зависимости и прочее, натравливаешь на это дело сам cabal

и оно собирает, если чего-то из зависимостей нехватает, то дотаскивает с

hackage.

 

APT тоже поддерживает в этом смысле сборку пакетов. С помощью apt-get можно установить сорсы, при этом будут проверятся зависимости для сборки. А потом собрать каким-то стандартным образом.

 

--

Olleg Samoylov <olleg@...>

Moscow Institute of Physics and Technology

Olleg Samoylov writes:

 

Там же

завязки не только

на библиотеки, но и под posix окружение, для чего и нужен cygwin, например: стандартная структура каталогов, наличие

unix shell и т.д.

Довольно мало программ, которым не нужно все это.

 

В Plan9 есть антидот для этого косяка (жёсткая структура каталогов) -- гибкое пространство имён.

 

Было бы неплохо иметь менеджер пакетов+систему сборки в виде

виртуальной машины, которая бы предоставляла ABI

Linux (для совместимости), при этом можно было бы настраивать

пространство имён. И чтобы было легко создавать

повторяемое окружение сборки.

 

Чтобы даже кухарка могла собрать наши GNAT и GPS, включая их

зависимости (GCC и GTK+). Если проблема пересобрать 1:1, то

улучшение становится уделом избранных.

 

Возможно, я бы мог этим заняться. Трудно оценить объём работ.

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти