На базарной площади довольно часто можно слышать высказывания об
Обероне. Мне кажется, что на базарной площади пора появиться ветке об
этой системе и языке, что-то вроде "Мысли об Обероне". Что это такое, перспективы
этой системы, что
полезного можно извлечь из него для программирования на Дельфи
(например) и др.
Ivan
Всего в теме 4531 сообщение
Ссылки по теме "Оберон" и "Компонентный паскаль"
Отслеживать это обсуждение
- Free Pascal, Oberon, BlackBox
- Разработка препроцессора gpre для delphi\freepascal.
- Component Pascal и среда разработки BlackBox
- FreePascal: реальная альтернатива или OpenSource — блажь?
№ 4161 25-12-2005 17:33 | |
Ответ на »сообщение 4160« (sdf)
___________________________
>>(2) в Паскале у перечислимого типа есть-таки функциональность! (хотя очень бедная: перечислимый тип упорядочен, поэтому к нему применимы функции pred и succ).
а в модуле у вирта они есть? неа! а чо так?
Не знаю. Наверное, вполне достаточно было стандартных процедур Модулы INC и DEC.
А вот в Оберон перечислимые типы не попали, так же как диапазоны, множества (кроме множества целых от 0 до MAX(SET); последнее обычно равно 31) и записи с вариантами.
Среди прочих причин, потому что приводили к слишком большому числу типов и экспортируемых идентификаторов.
Кроме того, перечислимые типы, в том виде, в каком они были в Паскале и Модуле, нельзя было расширить (=добавить к этому типу новые элементы). В то время как просто добавить еще одну целочисленную константу нетрудно.
В общем, от перечислений было больше головной боли, чем пользы. :)
№ 4160 25-12-2005 16:03 | |
Ответ на »сообщение 4158« (AVC)
___________________________
(2) в Паскале у перечислимого типа есть-таки функциональность! (хотя очень бедная: перечислимый тип упорядочен, поэтому к нему применимы функции pred и succ).
а в модуле у вирта они есть? неа! а чо так?
№ 4159 25-12-2005 15:57 | |
Ответ на »сообщение 4158« (AVC)
___________________________
Смущают две вещи:
(1) перечислимый тип все-таки определяется пользователем;
а атд хто определяет? не пользователь?
(2) в Паскале у перечислимого типа есть-таки функциональность! (хотя очень бедная: перечислимый тип упорядочен, поэтому к нему применимы функции pred и succ).
я сам определяю тип enumeration без операций. могу? могу. имею право.
и чо тода нужно для атд? кода тип данных становится атд?
№ 4158 25-12-2005 15:35 | |
Ответ на »сообщение 4157« (sdf)
___________________________
а теперича подумаем могет ли мой enumeration где ваще нет операций считатся атд. могет или нет?
Если исходить из того, что АТД -- это математическая модель (с операторами), то нет.
Просто по определению. :)
Смущают две вещи:
(1) перечислимый тип все-таки определяется пользователем;
(2) в Паскале у перечислимого типа есть-таки функциональность! (хотя очень бедная: перечислимый тип упорядочен, поэтому к нему применимы функции pred и succ).
Все же я думаю, что этого недостаточно, и перечислимый тип АТД не является.
В Обероне перечислимый тип отсутствует, вместо него - просто набор не связанных явно констант.
№ 4157 25-12-2005 14:43 | |
Ответ на »сообщение 4155« (AVC)
___________________________
Вы приводите (даже, как мне показалось, с некоторым торжеством ;)) в качестве примера перечислимый тип данных.
Но является ли перечислимый тип абстрактным типом данных?
А ведь Владимир говорил именно об АТД.
он мог легко это сказать сразу. но не сделал. уперся. я про атд ничо не говорил. ваш анализ мне нравится. не туфта. а теперича подумаем могет ли мой enumeration где ваще нет операций считатся атд. могет или нет?
№ 4156 25-12-2005 14:39 | |
Ответ на »сообщение 4132« (info21)
___________________________
Ответ на »сообщение 4125« (AVC)
___________________________
А в Обероне нельзя достичь этого эффекта при помощи композиции объектов? ...
Интересно, насколько применим такой подход за пределами визуализаторов?
Можно. Применим широко.
Тут bandwidth узкий. Если будет желание встретиться, перетерли бы все это конкретно.
Желание, несомненно, есть!
Правда, со временем сейчас проблемы.
Так что возможность возникнет, видимо, только в следующем году. :(
Впрочем, он не за горами. :)
А мысль хорошая. Зачастую легче выяснить проблемы и недоразумения за час "живого" общения, чем за месяц переписки в форуме.
№ 4155 25-12-2005 14:20 | |
Ответ на »сообщение 4154« (sdf)
___________________________
hugi сказал што "тип данных определяет именно данные, а не функциональность". вы не согласились. пришлось мне привесть пример. покажите чесному народу где в enumeration как я привел функциональность в интерфейсах. ну а не могете показать значит выходит што тип данных определяет данные. функциональность могет итти внагрузку тока если.
Случилось именно то, чего я боялся.
Возникла терминологическая путаница.
Под типом данных не всегда понимают одно и то же.
Чтобы показать, что я не высосал это из пальца, приведу отрывок из книги Ахо, Ульиана и Хопкрофта "Структуры данных и алгоритмы":
Хотя термины тип данных (или просто тип), структура данных и абстракт-
абстрактный тип данных звучат похоже, но имеют они различный смысл. В языках про-
программирования тип данных переменной обозначает множество значений, которые
может принимать эта переменная. Например, переменная булевого (логического) ти-
типа может принимать только два значения: значение true (истина) и значение false
(ложь) и никакие другие. Набор базовых типов данных отличается в различных язы-
языках: в языке Pascal это типы целых (integer) и действительных (real) чисел, булев
(boolean) тип и символьный (char) тип. Правила конструирования составных типов
данных (на основе базовых типов) также различаются в разных языках программи-
программирования: как мы уже упоминали, Pascal легко и быстро строит такие типы.
Абстрактный тип данных — это математическая модель плюс различные опера-
операторы, определенные в рамках этой модели. Как уже указывалось, мы можем раз-
разрабатывать алгоритм в терминах АТД, но для реализации алгоритма в конкретном
языке программирования необходимо найти способ представления АТД в терминах
типов данных и операторов, поддерживаемых данным языком программирования.
Для представления АТД используются структуры данных, которые представляют
собой набор переменных, возможно, различных типов данных, объединенных оп-
определенным образом.
Сейчас у нас смешались понятия типа данных и абстрактного типа данных.
Поэтому ммеет смысл вспомнить, как возникла эта путаница.
В сообщении %ms4084 Владимир Лось сказал следующее:
То есть в описании конкретной функции не важно К КАКОМУ АТД принадлежит обрабатываемый объект. Главное, что бы в этом типе была затребованная функциональность.
В сообщении »сообщение 4109« hugi усомнился в том, что (абстрактный) тип данных связан именно с функциональностью.
Насколько я понимаю концепцию АТД, тип данных определяет именно данные, а не функциональность. Функциональность определяется производимыми над переменными этого типа операциями.
IMHO, достаточно ясно, что Владимир Лось говорил об АТД, а hugi -- о типах данных (не АТД).
То есть просто возникло недоразумение, которое быстро выяснилось.
Теперь это недоразумение возникло снова.
Вы приводите (даже, как мне показалось, с некоторым торжеством ;)) в качестве примера перечислимый тип данных.
Но является ли перечислимый тип абстрактным типом данных?
А ведь Владимир говорил именно об АТД.
№ 4154 25-12-2005 11:18 | |
Ответ на »сообщение 4153« (Владимир Лось)
___________________________
А вам оно надо?
оно нам нана? нам? нам неа не нана! другим нана!
hugi сказал што "тип данных определяет именно данные, а не функциональность". вы не согласились. пришлось мне привесть пример. покажите чесному народу где в enumeration как я привел функциональность в интерфейсах. ну а не могете показать значит выходит што тип данных определяет данные. функциональность могет итти внагрузку тока если.
ЗЫ меня всегда умиляли брызгальщики слюной, всюду на форумах активно рвущих глотки за ООП-подход, кидающиеся терминами, обясняющие понятия, но не умеющие мало-мальски применить всё это для элементарных анализа и работы.
какое совпадение! меня тоже умиляли. особено на ентом форуме.
№ 4153 25-12-2005 08:19 | |
Ответ на »сообщение 4152« (sdf)
___________________________
так как насчот enumeration? ужо жаждался
А вам оно надо?
Давайте решим так (что бы поддержать ваше самомнение), решайте на выбор (или всё вместе):
- я ну прям не в силах умишком дойти...
- я просто ляпнул с не фиг делать...
- я не обладаю сколь-нибудь необходимым опытом и навыками, что бы выразить обобщённое понятие "ТипПеречисление" в спецификациях класса...
На том и успокоимся. Тем более, что сделать такую работу изначально я вас попросил. Лады, я снимаю свою просьбу...
ЗЫ меня всегда умиляли брызгальщики слюной, всюду на форумах активно рвущих глотки за ООП-подход, кидающиеся терминами, обясняющие понятия, но не умеющие мало-мальски применить всё это для элементарных анализа и работы.
№ 4152 25-12-2005 08:03 | |
Ответ на »сообщение 4151« (Владимир Лось)
___________________________
Тю! да тут клиника в полный рост...
Извините.
так как насчот enumeration? ужо жаждался
Отслеживать это обсуждение
Дополнительная навигация: |
|