Ada_Ru форум

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

GNAT: А можно-ли диагностику по русски?

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

Сообщения

Vadim Godunko
GNAT: А можно-ли диагностику по русски?
2003-03-19 06:48:52

День добрый!

 

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

 

На самом деле все просто: GCC 3.3 _уже_ имеет сменные панельки локализации и список у них весьма приличный. А русского-то и нету. В GNAT 5.0 тоже можно воспользоваться этим уже разработанным и _сопровождаемым_ интерфейсом.

 

Если кто не знает, как работает LibINTL могу рассказать. При разработке программы не требуется изощиряться: если строка при выводе может быть заменена на локальный эквивалент, то перед ней ставиться специальный оператор (кажись ~ в C и + в Ada). При запуске программы из переменной окружения LANGUAGE извлекают пожелания пользователя о естественном языке, а из переменной LANG - вид используемой кодировки. Посему, если файл локализации написан, скажем, как KOI-8, а на системе использована Win1251 - никаких проблем, все строки будут корректно перекодированы.

 

-- Vadim Godunko

Project Manager

Automated Control Systems Department

North-Caucasian Area Air Traffic Control Center

Vadim Godunko wrote:

День добрый!

 

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

 

На самом деле все просто: GCC 3.3 _уже_ имеет сменные панельки локализации и список у них весьма приличный. А русского-то и нету. В GNAT 5.0 тоже можно воспользоваться этим уже разработанным и _сопровождаемым_ интерфейсом.

 

 

Вобсчем, дело обстоит достаточно просто. Если не подведет ASIS, то локализовать диагностику GNAT-а больших проблем не составит (по крайней мере для Linux-а). Могу взяться за доработку компилятора и сбор всех строк, которые надобно перевести на русский. А вот за перевод на русский не возьмусь. Есть желающие?

Вобсчем, дело обстоит достаточно просто. Если не подведет ASIS, то локализовать диагностику GNAT-а больших проблем не составит

 

А объясните мне, темному, как соотносится локализация GNATа и ASIS?

(по крайней

мере для Linux-а).

 

Это означает, что будут использоваться какие-то специфические

Linux-ориентированные технологии? Если да, хотелось бы пообсуждать какие-то более портабельные подходы.

 

Кроме того, хотелось бы, чтобы подобная работа была хотя бы

морально поддержана и одобрена ACTом.

 

Могу взяться за доработку компилятора и сбор всех

строк, которые надобно перевести на русский. А вот за перевод на русский не возьмусь. Есть желающие?

 

Я готов взяться, может быть частично.

 

- Зуев.

Eugene Zueff wrote:

Вобсчем, дело обстоит достаточно просто. Если не подведет ASIS, то

локализовать диагностику GNAT-а больших проблем не составит

 

А объясните мне, темному, как соотносится локализация GNATа и ASIS?

 

GNAT по своей сути не содержит некой "таблицы диагностических сообщений" как было модно на ЕС/IBM. Посему искать диагностические сообщения придется по всему тексту компилятора, и это проще делать специально написанной программой, нежели вручную. Только взять такую программу негде, придется писать самому. Можно, конечно и скритп на pёrl-е наваять, но толку от него будет мало. А "цивилизованная" программа поиска диагностических сообщений позволит не только таковые выцепить, но и, будучи состыкована с другими примочками, проверять какие изменения сообщений были произведены с прошлой версии. А это есть путь к "светлому будущему" - реально актуальной локализации новых версий (без задержек в пол-века).

 

 

(по крайней

мере для Linux-а).

 

Это означает, что будут использоваться какие-то специфические

Linux-ориентированные технологии? Если да, хотелось бы пообсуждать

какие-то более портабельные подходы.

 

Не Linux-ориентированные, а GNU-ориентированные. То есть, работать будет и на всяких там Unix-ах (Solaris, Irix, ...). Проблема только в Windows - и та потому, что я понятия не имею как GNAT там работает.

 

Кроме того, хотелось бы, чтобы подобная работа была хотя бы

морально поддержана и одобрена ACTом.

 

А это вопрос к представителю корпорации.

hi,

Vadim Godunko wrote:

>

>

>(по крайней

>мере для Linux-а).

>

Это означает, что будут использоваться какие-то специфические

Linux-ориентированные технологии? Если да, хотелось бы пообсуждать какие-то более портабельные подходы.

>

Не Linux-ориентированные, а GNU-ориентированные. То есть, работать будет и на всяких там Unix-ах (Solaris, Irix, ...).

это ежели ввод/вывод делать через... GLIBC

не совсем оно по адски будет :(

хотя, оно конечно прогрессивный компромисс

Проблема только в Windows

- и та потому, что я понятия не имею как GNAT там работает.

да уж... тут случай клинический: система с закрытым кодом :(

Кроме того, хотелось бы, чтобы подобная работа была хотя бы

морально поддержана и одобрена ACTом.

>

А это вопрос к представителю корпорации.

мысленно они конечно будут с нами... :)

Alex

Проблема только в Windows

- и та потому, что я понятия не имею как GNAT там работает.

 

да уж... тут случай клинический: система с закрытым кодом :(

 

По-моему, закрытость кода тут ни при чем.

Когда-то я копался в GNATе, и, в общем, было ясно, что компилер

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

практически нет (*nix'овых особенностей там гораздо больше).

 

Кроме того, хотелось бы, чтобы подобная работа была хотя бы

морально поддержана и одобрена ACTом.

 

А это вопрос к представителю корпорации.

 

мысленно они конечно будут с нами... :)

 

Это правильное замечание. То есть, мы постоянно будем ощущать

на себе дружески-тяжелый, по-отечески пристальный и немигающий взгляд Большого Брата. :-))

 

Да ведь этого мало! В идеале хотелось бы, чтобы они в итоге _взяли_ результат такой работы, то есть, включили в "официальный" код GNATа...

А насчет проблемы в корректностью вывода Ада-программой не-Latin-1-текстов - может, кто из более "свежих" Ада-спецов просветит насчет

возможности/невозможнсти

сего действия?

 

- Зуев.

Eugene Zueff wrote:

>Вобсчем, дело обстоит достаточно просто. Если не подведет ASIS, то >локализовать диагностику GNAT-а больших проблем не составит

 

А объясните мне, темному, как соотносится локализация GNATа и ASIS?

 

На этот вопрос мне так и не ответили. :-(

 

GNAT по своей сути не содержит некой "таблицы диагностических сообщений" как было модно на ЕС/IBM.

 

"Мода" здесь ни при чем. Как уже здесь говорилось, отделение массивов диагностик от основного кода,- один из признаков "правильного" подхода к разработке.

Жаль, что GNAT не следует этому правилу.

 

Посему искать диагностические сообщения

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

 

Да, все так.

Однако всем понятно, что это довольно сложный путь,

и он очень чувствителен к структуре текста компилятора.

Чуть-чуть что-то ACT в нем изменит, и большая вероятность,

что программа будет сбоить, какой умной ее ни сделай.

 

Этот путь предполагает полную независимость от действий ACTа,

и он, по сути единственный, если ACT не пойдет нам навстречу.

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

 

-Зуев.

Eugene Zueff wrote:

 

Кроме того, хотелось бы, чтобы подобная работа была хотя бы

морально поддержана и одобрена ACTом.

 

 

А это вопрос к представителю корпорации.

 

мысленно они конечно будут с нами... :)

 

Это правильное замечание. То есть, мы постоянно будем ощущать

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

Большого Брата. :-))

 

Да ведь этого мало! В идеале хотелось бы, чтобы они в итоге _взяли_

результат такой работы, то есть, включили в "официальный" код GNATа...

 

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

 

А теперь сам вопрос.

 

Есть ли у широкой общественности доступ к этим тестам, или эти коды собственность ACT ?

 

Кроме того, хотелось бы, чтобы подобная работа была хотя бы

морально поддержана и одобрена ACTом.

 

А это вопрос к представителю корпорации.

 

Покуда корпорация не посчитает, что на этом можно заработать -

можно разве что общую поддержку уровня "ветра в спину" получить.

 

Корпорация не заинтересована в том, чтобы иметь отношения

к любому развитию системы GNAT вне корпорации, если о том нет

предварительной договоренности с корпорацией.

 

Есть ли у широкой общественности доступ к этим тестам, или эти коды собственность ACT ?

 

Насколько я знаю, ACT не распространяет эти тесты и не дает

никому, кроме "своих" на них даже посмотреть. Что

неудивительно - некоторые тесты есть просто куски

кастомерского кода, а там - nondosclose agreements

всякие начинают работать.

"Sergey I. Rybin" wrote:

 

Кроме того, хотелось бы, чтобы подобная работа была хотя бы

морально поддержана и одобрена ACTом.

 

А это вопрос к представителю корпорации.

 

Покуда корпорация не посчитает, что на этом можно заработать -

можно разве что общую поддержку уровня "ветра в спину" получить.

Корпорация не заинтересована в том, чтобы иметь отношения

к любому развитию системы GNAT вне корпорации, если о том нет

предварительной договоренности с корпорацией.

 

Я очень хорошо понимаю, чего будет стоить эта "предварительная

договоренность" и насколько она вообще возможна.

Что же касается каких-либо (самых минимальных) изменений в архитектуре компилятора, то общий настрой ACTа, который виден из текста

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

В общем, господа, вы получили исчерпывающий ответ...

Не будет в GNATе ни русских диагностик, ни открытости

к окружению...

 

- Зуев.

hi,

Eugene Zueff wrote:

Проблема только в Windows

- и та потому, что я понятия не имею как GNAT там работает.

>

да уж... тут случай клинический: система с закрытым кодом :(

>

По-моему, закрытость кода тут ни при чем.

ага...

тут уже товарисч говорил как бывает:

"хачу чтобы вы все собрали из исходников!!!"

и тут опа!!!

мысленно они конечно будут с нами... :)

>

Это правильное замечание. То есть, мы постоянно будем ощущать

на себе дружески-тяжелый, по-отечески пристальный и немигающий взгляд Большого Брата. :-))

кого назначим Большим Братом? :)

>

>

Да ведь этого мало! В идеале хотелось бы, чтобы они в итоге _взяли_ результат такой работы, то есть, включили в "официальный" код GNATа... >

А насчет проблемы в корректностью вывода Ада-программой не-Latin-1-текстов - может, кто из более "свежих" Ада-спецов просветит насчет

возможности/невозможнсти

сего действия?

выводит оно нормально, только вот всякие там сортировки, даты... короче - локализация отсутствует :(

Alex

Я очень хорошо понимаю, чего будет стоить эта "предварительная

договоренность" и насколько она вообще возможна.

Что же касается каких-либо (самых минимальных) изменений в архитектуре компилятора, то общий настрой ACTа, который виден из текста

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

В общем, господа, вы получили исчерпывающий ответ...

Не будет в GNATе ни русских диагностик, ни открытости

к окружению...

 

А я еще раз считаю своим долгом заявить, что все это - полная фигня по сравнению с реальными проблемами!

hi,

"Sergey I. Rybin" wrote:

В общем, господа, вы получили исчерпывающий ответ...

Не будет в GNATе ни русских диагностик, ни открытости

к окружению...

>

А я еще раз считаю своим долгом заявить, что все это - полная фигня по сравнению с реальными проблемами!

а реальные проблемы - это фигня по сравнению с мировой революцией :)

Alex

мысленно они конечно будут с нами... :)

 

Это правильное замечание. То есть, мы постоянно будем ощущать

на себе дружески-тяжелый, по-отечески пристальный и немигающий взгляд Большого Брата. :-))

 

кого назначим Большим Братом? :)

 

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

 

А насчет проблемы в корректностью вывода Ада-программой не-Latin-1-текстов - может, кто из более "свежих" Ада-спецов просветит насчет

возможности/невозможнсти

сего действия?

 

выводит оно нормально, только вот всякие там сортировки, даты... короче - локализация отсутствует :(

 

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

 

- Зуев.

В общем, господа, вы получили исчерпывающий ответ...

Не будет в GNATе ни русских диагностик, ни открытости

к окружению...

 

А я еще раз считаю своим долгом заявить, что все это - полная фигня по сравнению с реальными проблемами!

 

Не горячись, Сергей, все правильно, и все всё понимают.

 

То есть, "реальные проблемы", как они видны изнутри фирмы,

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

видят пользователи продукта, который эта фирма производит.

 

Ну и еще раз: и какая же тогда разница между вашей философией

и философией Микрософт (которую все ругают почем зря

за пренебрежение к пользователям)?

 

- Зуев.

Не горячись, Сергей, все правильно, и все всё понимают.

 

Нет.

То есть, "реальные проблемы", как они видны изнутри фирмы,

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

видят пользователи продукта, который эта фирма производит.

 

Ну и еще раз: и какая же тогда разница между вашей философией

и философией Микрософт (которую все ругают почем зря

за пренебрежение к пользователям)?

 

Понимаете, ребята, вы все, кроме Вадима в перспективе - нам не

пользователи. Наши пользователи - те, кто нам денюжку приносит.

С нимим мы носимся, как с писаной торбой. На багрепотры в течение 24-х часов отвечаем по существу. Критичные проблемы решаем быстро, если требуется более недели - расцениваем как ЧП. И предоставляем починенную версию технологии.

 

Так Микрософт хоть когда-нибудь поступал по отношению к своим

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

продукты.

 

Но я не о том. Я о проблемах, стоящих перед нашим Ada-community,

если мы вправе о нем говорить...

То есть, "реальные проблемы", как они видны изнутри фирмы,

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

видят пользователи продукта, который эта фирма производит.

 

Ну и еще раз: и какая же тогда разница между вашей философией

и философией Микрософт (которую все ругают почем зря

за пренебрежение к пользователям)?

 

Понимаете, ребята, вы все, кроме Вадима в перспективе - нам не

пользователи. Наши пользователи - те, кто нам денюжку приносит.

 

Сергей, ну я же об этом и говорю!

И еще и еще раз: так какая между вами разница?

Тот, кто подписался на аналогичный сервис Микрософт - тоже платит за него денежки (не путать с денежками за "коробки")...

 

С нимим мы носимся, как с писаной торбой. На багрепотры в течение 24-х часов отвечаем по существу. Критичные проблемы решаем быстро, если требуется более недели - расцениваем как ЧП. И предоставляем починенную версию технологии.

 

...и там тоже существуют четкие правила насчет времени отклика и прочее.

И чтобы закончить этот разговор: из предыдущих постингов, надеюсь, всем понятно, что и ACT, и Микрософт реализуют концептуально одну и ту же модель работы с (корпоративными) клиентами.

 

Разница между ними заключается в том, что купив (за деньги, да, признаЮ) коробку с Visual Studio от Микрософт, некорпоративный пользователь получает _готовую_ весьма и весьма мощную среду разработки. Конечно, она не идеальна, да

и входные языки (Си++, VB, теперь еще C#) уязвимы для критики больше, чем Ада, но, тем не менее, никто не спорит, что инструмент это весьма и весьма

функциональный. И инструментом этим, как показывает опыт тысяч программеров, можно успешно пользоваться без всяких обращений к Микрософт. Плюс к тому, он _уже_включает_ (поддерживает) некую вполне определенную технологию разработки программ (и не одну).

 

Взяв же с публичного сайта GNAT (да, забесплатно), некорпоративный пользователь

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

по своему опыту и усмотрению. При этом собственно GNAT никак не "расположен" к подобного рода интеграции и настройке: это абсолютно стандартный, традиционный

компилятор вида "входной файл - компиляция - выходной файл"; все, что можно с ним

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

редакторе. Даже его сопряжение с родным, вроде бы, отладчиком gdb выглядит весьма

неуклюже (по крайней мере, в публичной версии). Даже, как показал, дискуссия,

диагностики перевести - проблематично.

 

Благодаря наличию исходников, его можно, в принципе, модифицировать и сделать

более "открытым". Опыт показывает, что это, в общем, реально. Но тут уж начеку ACT:

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

В результате нужно повторять свои модификации для каждой новой версии GNAT.

Какая модель кому больше по душе - каждый решает сам.

Какая объективно лучше? - от ответа воздержусь.

Но, ПОЖАЛУЙСТА, не говорите мне больше, что GNAT (да и вообще, все, что сделано "по лицензии GPL") лучше относится к пользователям, чем горячо всеми ненавидимый мелкософт.

 

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

 

- Зуев.

hi,

Eugene Zueff wrote:

мысленно они конечно будут с нами... :)

>

Это правильное замечание. То есть, мы постоянно будем ощущать

на себе дружески-тяжелый, по-отечески пристальный и немигающий взгляд Большого Брата. :-))

>

кого назначим Большим Братом? :)

>

Ну, Alex, я надеялся, что из контекста понятно, что под Большим Братом имелась ввиду всеми нами, юзерами, любимая, по-отечески заботливая, по-отцовски

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

тэкс... щас опять Рыбину за весь ACT достанется :)

А насчет проблемы в корректностью вывода Ада-программой не-Latin-1-текстов - может, кто из более "свежих" Ада-спецов просветит насчет

возможности/невозможнсти

сего действия?

>

выводит оно нормально, только вот всякие там сортировки, даты... короче - локализация отсутствует :(

>

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

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

и, кстати, ежели они будут реализованы, то искать

вывод сообщений по всему исходному тексту,

скорее всего, будет не нужно

Alex

Ну, Alex, я надеялся, что из контекста понятно, что под Большим Братом имелась ввиду всеми нами, юзерами, любимая, по-отечески заботливая, по-отцовски

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

 

тэкс... щас опять Рыбину за весь ACT достанется :)

 

Ничего, мы же его по-дружески пинаем.

Да ведь известно, что капля камень точит.

Глядишь, и дойдет что-нибудь из наших стенаний до ушей

той самой ACTовой шестерки, принимающей решения...

 

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

 

Наверное, Вам видней.

 

и, кстати, ежели они будут реализованы, то искать

вывод сообщений по всему исходному тексту,

скорее всего, будет не нужно

 

Что ж, подождем - увидим.

 

- Зуев.

Eugene Zueff wrote:

Eugene Zueff wrote:

 

Вобсчем, дело обстоит достаточно просто. Если не подведет ASIS, то

локализовать диагностику GNAT-а больших проблем не составит

 

А объясните мне, темному, как соотносится локализация GNATа и ASIS?

 

На этот вопрос мне так и не ответили. :-(

 

Наверное я не понял вопроса. Уж извините. Подскажите, что конкретно интересно?

 

 

Да, все так.

Однако всем понятно, что это довольно сложный путь,

и он очень чувствителен к структуре текста компилятора.

Чуть-чуть что-то ACT в нем изменит, и большая вероятность,

что программа будет сбоить, какой умной ее ни сделай.

 

1. За последние 5 лет структура компилятора не сильно-то и поменялась (лично я помню ещё попытки запустить GNAT-3.10p на Linux с первой версией GLIBC - пришлось строк триста RTL править, что бы многозадачность работала).

 

2. Если программа начнет сбоить после изменений внутренностей - это только плюс: человек сразу обратит внимание (гром не грянет - мужик не перекреститься)

 

3. Это _самый_ простой путь. Но многие об этом не догадываются. И описывается он фразой "неделю делать будем, а потом за пять минут долетим". А летать придётся каждый раз при новом диагностическом сообщении.

 

Спросите "представителя корпоративных интересов" насколько в Ada мире принято лопатить одни Ada программы другими Ada программами. А что, компилятор не на Ada написан?

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

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