Приветствую.
(Многие сочтут за оффтопик, но рискну.)
Всё Ада да Ада, как-будто на ней свет клином сошёлся! :-) А как вы
относитесь к концепции программирования по контракту, реализованном в
языке Eiffel Бертраном Мейером? Синтаксис языка смахивает на смесь Java
и Delphi, тем не менее методика программирования отличается и больше
тяготеет к использованию защитных механизмов Ада (на первый взгляд).
Есть книжка *"Объектно-ориентированное конструирование программных
систем", *Бертран Мейер, изд. Русская редакция, 2005г. Кто читал, может
прокомментировать и провести какие-либо параллели с текущим состоянием в
ОО-программировании на Ада?
Спасибо.
Всё Ада да Ада, как-будто на ней свет клином сошёлся! :-)
Я грешным делом полагал что в посвященной языку Ада конференции свет сошелся клином именно на ней... В конференции, посвященной Эйфелю, ситуация наверняка иная.
ВФ
iZEN wrote:
Приветствую.
(Многие сочтут за оффтопик, но рискну.)
Всё Ада да Ада, как-будто на ней свет клином сошёлся! :-)
Ну, собственно, так оно и есть. Для данной компании...
А как вы
относитесь к концепции программирования по контракту, реализованном в
языке Eiffel Бертраном Мейером? Синтаксис языка смахивает на смесь Java
и Delphi, тем не менее методика программирования отличается и больше
тяготеет к использованию защитных механизмов Ада (на первый взгляд).
Eiffel не является индустриальным языком. И поэтому меня лично - не интересует
(просто не хватает времени интересоваться всеми университетскими разработками,
которые есть на белом свете)
On Thu, Nov 10, 2005 at 12:45:16AM +0300, iZEN wrote:
Есть книжка *"Объектно-ориентированное конструирование программных систем", *Бертран Мейер, изд. Русская редакция, 2005г. Кто читал, может прокомментировать и провести какие-либо параллели с текущим состоянием в ОО-программировании на Ада?
Я с Eiffel-ем не знаком и книжку не читал, но могу высказать
свое видение. Большую часть нагрузки контрактов в Аде
выполняет мощьная система типов. С ее помощью в Аде
можно выразить много из того, что обычно проверяется в
пост и пре условиях. Диапазон значений, точность, not null
для указателей, возможные поля в записях с вариантами.
И этот контроль будет выполнятся не только не только в точках
входа и выхода подпрограмм, но и по всему процессу вычисления.
Компилятор может использовать эти ограничения для оптимизации
вычислений.
Даже можно ипользовать статические выражения и заставить
компилятор проверять какие-то параметры во время компиляции.
Там где не хватает описательной возможности типов данных
можно использовать pragma Assert и проверять явно любые
условия при выполнении.
--
Maxim Reznik
Я с Eiffel-ем не знаком и книжку не читал, но могу высказать
свое видение. Большую часть нагрузки контрактов в Аде
выполняет мощьная система типов. С ее помощью в Аде
можно выразить много из того, что обычно проверяется в
пост и пре условиях. Диапазон значений, точность, not null
для указателей, возможные поля в записях с вариантами.
И этот контроль будет выполнятся не только не только в точках
входа и выхода подпрограмм, но и по всему процессу вычисления.
Компилятор может использовать эти ограничения для оптимизации
вычислений.
Точно! Там вся фишка в пре- и пост-условиях! Я ж это знал когда-то,
а наврал, что не знаком с Эйфелем Так есть же SPARK
Ada Subset - там все то же самое!
Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти