Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  17:40[Войти] | [Зарегистрироваться]
Обсуждение темы:
Оберон-технология: особенности и перспективы


Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение. 

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 6256 сообщений

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

Отслеживать это обсуждение

Обсуждение из раздела
Школа ОБЕРОНА

<<<... | 2286—2277 | 2276—2267 | 2266—2257 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 399


№ 2276   24-01-2007 09:58 Ответить на это сообщение Ответить на это сообщение с цитированием
Структуры не могут эмулировать модули. В С++ структуры (они же классы) пытаются эмулировать модули - получается погано.

Типов модулей тоже не нужно. Мне бы (если бы текущий проект писался не на С++ а не Обероне) было бы нужно (и достаточно) чтобы был мехинизм генерации модуля по некому заданному шаблону + имени. Частичной генерации. Т.е. что-то генерируется само (и это для пишущего модуль - read only информация), а что-то программист может дописать сам.

Тут есть два пути - либо синтаксическая конструкция в языке, либо текстовый редактор умеющий это дело генерировать (правда при этом не будет ограничения на ro, ну да ладно) + сворачивать этот, зависящий только от имени модуля и имени(типа) шаблона, код в некое компактное представление на экране.


№ 2275   24-01-2007 09:57 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2274« (RBV)
___________________________

А вот принципиальную сторону дела можно изложить и здесь.
 AVC


№ 2274   24-01-2007 09:55 Ответить на это сообщение Ответить на это сообщение с цитированием
Да, с этим, наверное стоит туда...


№ 2273   24-01-2007 09:47 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2254« (info21)
___________________________

Ответ на »сообщение 2250« (Alexey Veselovsky)
___________________________

на Обероне либо не появились бы вообще, либо решаются достаточно просто. Да, арифметика указателей и сборщик мусора тут не при чем.

Любопытно, что именно там было. Если строгая типизация, то ясно.


Чуть попозже подробно отвечу что и к чему. Но сразу скажу - это и не строгая типизация тоже.

PS. Быть мне стоит написать это не сюда а в форум по BB? Все же это частности языковые, а не какие-то там абстрактные технологии... Да и у форума того есть преимущества - там есть "типизация" сообщений (по веткам обсуждений) а тут нет - все в одну кучу.


№ 2272   24-01-2007 09:34 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2267« (Снегурочка)

...микромодуль - это RECORD-структура...

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

То же самое касается обсуждения по объединению Оберона с Хаскелем - ну на фига козе баян???


№ 2271   24-01-2007 09:26 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2266« (Владимир Лось)

То, что вы в данном случае определяете как "состояние"...

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



№ 2270   24-01-2007 08:48 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2269« (Снегурочка)
___________________________

Памятуя, что Оберон можно рассматривать как ассемблер ООП (я бы назвала - ассемблер расширяемых типов), имеет смысл поизучать возможности различных композиций применительно к реальной потребности в generic-вещах.

Подобные вещи возможны и в классическом Обероне, и в Обероне-2, и в КП. Если брать за основу ООП, то из этой тройки язык КП ближе всех стоит к мэйнстрим-трактовке ООП (Java), а классический Оберон - к хоаровской трактовке ООП на основе record class. Если исходить из мэйнстрим-трактовки (class-centered подход с пожизненной фиксацией методов для всех объектов класса), то procedure type ("процедурная коммутация") и instance-centered подход классического Оберона (объекты одного класса с разными "персональными" методами) выглядят рудиментами и атавизмами. Но кто сказал, что мэйнстрим-трактовка идеальна и подходит для всего на свете?

"Аристократии" классов Вирт предпочитал "рабоче-крестьянскую" среду модулей. "Рудименты" и "атавизмы" из КП не убраны, значит, можно попробовать и там поискать выигрыш, который дает "ассемблер расширяемых типов". Ну а работа с метаинформацией в КП вроде бы вполне приличная.


№ 2269   24-01-2007 08:10 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2267« (Снегурочка)
___________________________

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

В принципе сама идея исходит из простых вещей: в Обероне "класс" в отличие от мэйнстрим-языков разбит на "тип" и "модуль". Модуль в Обероне самодостаточен. Тип - также. Но если внутри одного модуля в Обероне можно держать разные классы и пользоваться преимуществами такого использования (принцип No Paranoia), то почему нельзя вкладывать в модуль другие модули (микромодули), которые будут чем-то похожи на классы, но при этом совсем не обязаны отвечать жестким соглашениям ООП?

Таким образом, расширяемые RECORD-типы смогут не только имитировать в Обероне классы (что уже хорошо известно), но и имитировать модули. Памятуя, что Оберон можно рассматривать как ассемблер ООП (я бы назвала - ассемблер расширяемых типов), имеет смысл поизучать возможности различных композиций применительно к реальной потребности в generic-вещах.


№ 2268   24-01-2007 07:58 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2267« (Снегурочка)
___________________________
Интересная идея...


№ 2267   24-01-2007 07:55 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2264« (Снегурочка)
___________________________

Кстати, некоторые вещи "подобия" заложены в классическом Обероне:

Теоретически от этого можно отталкиваться для построения своих generic-модулей. Что такое модуль в понимании Оберона? Помимо того, что в языке это основное  средство инкапсуляции программных  сущностей (область видимости, область существования), которое использует механизм экспорта-импорта, модуль еще и контейнер сущностей: "конкретных" (констант, переменных, процедур) и "порождающих" (типов, "классов" - т.е. некоторых из расширяемых RECORD-типов).

Очевидно, что модуль можно попытаться проимитировать RECORD-структурой, у которой поля соответствуют сущностям внутри модуля: константы и переменные отобразятся на поля данных, процедуры - на процедурные поля (конкретизация на определенную процедуру будет при порождении-инициализации экземпляра
записи). Это своего рода микромодули, которые можно вкладывать в большой модуль, а также экспортировать и перенастраивать. С отображением же типов и "классов" в таких микромодулях по-хорошему, наверное, потребуется воспользоваться средствами метапрограммирования. Но даже без этого, опираясь только на "усеченные" микромодули (без порождающих сущностей) внутри полноценного Оберон-модуля, уже можно получить интересный практический эффект.

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


<<<... | 2286—2277 | 2276—2267 | 2266—2257 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 399


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

Отслеживать это обсуждение

Дополнительная навигация:
Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру
  
Время на сайте: GMT минус 5 часов

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

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования