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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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

На базарной площади довольно часто можно слышать высказывания об Обероне. Мне кажется, что на базарной площади пора появиться ветке об этой системе и языке, что-то вроде "Мысли об Обероне". Что это такое, перспективы этой системы, что полезного можно извлечь из него для программирования на Дельфи (например) и др.

Ivan

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

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

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


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


Ссылки по теме "Оберон" и "Компонентный паскаль"



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


Смотрите также обсуждения:
Free Pascal, Oberon, BlackBox
  • Разработка препроцессора gpre для delphi\freepascal.
  • Component Pascal и среда разработки BlackBox
  • FreePascal: реальная альтернатива или OpenSource — блажь?

  • <<<... | 4021—4012 | 4011—4002 | 4001—3992 | ...>>>
    Всего сообщений в теме: 4531; страниц: 454; текущая страница: 53


    № 4011   21-12-2005 01:09 Ответить на это сообщение Ответить на это сообщение с цитированием
    Просто для информации. В mailing list Bluebottle (не путайте с Blackbox) время от времени идут жалобы на нестабильность системы. Вчера прошло сообщение о нестабильности в "Heap and CG". Ответ разработчиков цитирую "current state
    as intolerable. Analysing the problem and finding a solution has a high priority in the next few months."
    В общем, как я понимаю, ошибки в ядре и если их исправление потребует нескольких месяцев, то рассматривать Bluebottle как продукт плка рановато.


    № 4010   21-12-2005 01:06 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4007« (Trurl)
    ___________________________

    Переменная может иметь нюансы своей трактовки в разных языках программирования. Но вы не только привели разные языки, но еще и языки с разными парадигмами.
    Я не вполнне понимаю, что такое "языки с разными парадигмами". Но возьмем два языка, которые Вы относите к одной парадигме: Modula-2 и Clu.
    В одном a[i] – переменная, в другом –нет.


    Форма записи -- это синтаксис. Я не помню нюансов работы с переменными в CLU, поэтому лучше уж приведите их свойства (влияющие на данное мной определение). Тогда будет понятно, что вы имели в виду.

    Почему бы, точно так же, не дать определения модуля и класса (не претендуя на всеобщность)?

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

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

    В-третьих, я приводил отнюдь не бесспорную классификацию модулей: языковой, операционный, архитектурный. Она не вызвала никаких нареканий? Странно. Вот с этим бы договориться, а дальше немного легче будет...



    № 4009   21-12-2005 01:01 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4002« (info21)
    ___________________________
    Речь идет не об архитектуре языка, а об архитектуре системы. Я отметил, что архитектура Blackbox-а (фреймворка, среды разработки и исполнения) скопирована с архитектуры системы Oberon V2. Подтверждений этому множество - например, настройка с помощью модуля Config, структура загрузчика, схема каталогов, импорт текстов V2/V4 а не S3  и так далее. Что же касается примеров плохих решений принятых там где нельзя было использовать опыт V2 - их тоже много. Один из примеров - введение имени подсистемы в оператор MODULE, то есть сходный модуль Cmds подсистемы Forms в операторе MODULE имеет имя FormsCmds, то есть внешнее имя модуля не совпадает с внутренним. Еще один пример плохого проектирования Blackbox, это сохранение собственного формата исходных модулей и документации, что непозволяет пользоваться стандартными средствами разработки имеющимися в host-системе, например средствами контроля версий. Список можно продолжать достаточно долго.


    № 4008   21-12-2005 00:48 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4000« (AVC)
    ___________________________

    Например, число Фибоначчи есть сумма двух предыдущих чисел Фибоначчи... Согласен, что круга в определении быть не должно.Но вот рекурсия, имхо, вполне может быть.

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

    Предположим, что я не знаю, что такое числа Фибоначчи, и пользуюсь подобным определением.
    Начинаем с 1: какие были два предыдущих числа Фибоначчи? В определении этого нет, и потому оно не работает. И почему еще надо начинать с 1? Это ниоткуда не вытекает.

    Вывод: при задании рекурсивного определения надо следить, чтобы не произошло "зацикливание" или не получилась неопределенность.

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

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

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

    Что означает слово "тавтология" в русском языке?

    1. Повторение одних и тех же или близких по значению слов без уточнения или изменения смысла.
    2. Логическая ошибка в определении понятия, состоящая в том, что определяемый предмет определяется через самого себя (в логике).

    Думаю, здесь возражений не будет.


    № 4007   21-12-2005 00:29 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 3974« (Руслан Богатырев)
    ___________________________
    Переменная может иметь нюансы своей трактовки в разных языках программирования. Но вы не только привели разные языки, но еще и языки с разными парадигмами.
    Я не вполнне понимаю, что такое "языки с разными парадигмами". Но возьмем два языка, которые Вы относите к одной парадигме: Modula-2 и Clu.
    В одном a[i] – переменная, в другом –нет.

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



    № 4006   21-12-2005 00:14 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4004« (info21)
    ___________________________
    Надо бы проводить различение между конструкционными средствами языка и логикой предметной области.
    Ну слава богу, я уж сколько это донести до публики стараюсь. Наверное, был косноязычен или не слишком убедителен в доказательствах... Ну, теперь, может хоть к академику прислушаются... :о)

    Кстати, на счёт датировки начала массового признания и применения ООП.
    Согласен с Русланом Богатырёвым. Это – середина 90-х.
    На мой взгляд это вызвано было как раз не изменением мышления программистской массы и её подходов к РЕШЕНИЯМ задач, а было вынужденной мерой. Просто без элементарных знаний ООП люди не смогли бы более-менее использовать... графические библиотеки и оболочки, хлынувшие на рынок в тот момент.
    Уже давно подмечено, что преимущества ООП наиболее ярко и наглядно проявились именно при построении графического интерфейса пользователя. Я в то время успел попользоваться: ZINC, TurboVision, SuperVision, ObjectVision... Потом Дельфи пришла. А ведь есть ещё целый мир Иксов... И в каждом из них в 99% необходимо применение языка, поддерживающего ООП. Тут просто "шаблонами" кода не обойдёшься. Эффективное использование всякого фреймвока предполагает знания принципов его построения.
    Кстати, оттуда же из "всеобщности" "наглядной агитации" с применением иллюстративного и примерного материала из графических приложений тянутся и многие стереотипы спорящих на счёт ООП. Опять-таки большая часть людей "танцует" от возможностей и идеологии средств реализации, а не от задач, подгоняя под привычные рамки видимое и слышимое...


    № 4005   20-12-2005 21:57 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4003« (info21)
    ___________________________
    Да я уже успокоился, после 3000 :)


    № 4004   20-12-2005 21:21 Ответить на это сообщение Ответить на это сообщение с цитированием
    По поводу отделения наследования и полиморфизма и т.п. Есть в рассуждениях ASU некое смешивание понятий:

    Надо бы проводить различение между конструкционными средствами языка и логикой предметной области.
    (Прошу не требовать определения термина "конструкционный", только что придуманного ad hoc, а по метОде ASU додуматься до смысла самостоятельно.)

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

    (Щас кто-нить пристанет, что значит "намного". Заранее посылаю...)

    Аналогично наследование и полиморфизм в тех же Оберонах -- это прежде всего конструкционное средство, хотя и навеянное Природой внешних вещей. Но не средство непосредственного моделирования воздухоплавающих объектов -- за пределами простейших задач, опять же.

    Подобному смешению способствуют примеры и рассуждения с геометрическими объектами (в том числе у ASU), которые (рассуждения) не слишком поясняют, зачем, собственно, нужно наследование.

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

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

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

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

    Поэтому ситуации, где требуется разделить наследование и полиморфизм, -- это речь о вещах совсем другого логического уровня, чем "конструкционный" уровень ЯП. ..............................


    № 4003   20-12-2005 20:25 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4001« (Иван Горячев)
    ___________________________

    Ответ на »сообщение 3999« (AVC)
    ___________________________


    Что, Иван Николаевич, опередил коварный AVC? :-)
    Ничего, такими темпами "словогенерации" уж и до пяти тысяч недолго... 8))


    № 4002   20-12-2005 20:07 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 3991« (info21)
    ___________________________

    Ответ на »сообщение 3965« (Sergei)
    ___________________________

    В Blackbox была один в один имитирована архитектура Oberon V2...


    Раз уж Вы сравнивали:

    Тут уже обсуждалось, что некоторые вещи в Блэкбоксе существенно используют методы, которых в классическом Обероне нет. Тогда "один в один", вроде, не получается.
    Не прокомментируете кратко хотя бы?


    <<<... | 4021—4012 | 4011—4002 | 4001—3992 | ...>>>
    Всего сообщений в теме: 4531; страниц: 454; текущая страница: 53




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

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

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

    Перейти на конкретную страницу по номеру
      
    Время на сайте: 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» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

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