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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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


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

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

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

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


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

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

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

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

<<<... | 2836—2827 | 2826—2817 | 2816—2807 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 344


№ 2826   17-02-2007 09:50 Ответить на это сообщение Ответить на это сообщение с цитированием
Надо сказать, что в существующей документации к BlackBox эти вопросы отражены довольно не внятно. Похоже Илье Ермакову надо писать очередную статью типа "Особенности ООП в Обероне/КП"


№ 2825   17-02-2007 09:40 Ответить на это сообщение Ответить на это сообщение с цитированием
По поводу ООП в Обероне\КП. Обсуждение отсутствия конструкторов в КП оказалось неожиданно очень полезным (для меня). Раньше мне было непонятны "игры с фабриками", теперь все стало на свои места. Если говорить о собственно отсутствии конструкторов, то по моему вырисовывается такая картина:
1. Влюбом случае конкретные поля объекта нужно инициализирвоать руками, в соответствии с прикладной задачей, т.е. никто не "заставит" правильно их иницализировать.
2. Собственно КП как раз заставит, так как там приходится везде ставить ASSERT, отладчика то нет, в смысле пошагового, в смысле система отладки предполагает массированное использование ASSERT (во всяком случае родной код BlackBox ими нашпигован).
А если учесть еще и фабричные функции, то получается, что конструктор как средство надежности  поглощается другой совокупностью средств, которая, как мне кажется, в плане удобства и надежности дает гораздо больше.


№ 2824   17-02-2007 07:48 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2823« (AVC)
___________________________
>>>что бы развито использовать ООП, его нужно использовать по определенным правилам, иначе надежности не будет...

>>>Разве это относится к Оберону, а не к самому ООП?

"использовать по определенным правилам" относится ко всему :)
Речь шла о том, что к правилам использования ООП, его реализация в Обероне добавляет свои. Неявная реализация класса требует от программиста самому (и правильно!) реализовывать ряд механизмов. На некоторых задачах это не сложно. При сложных задачах с очень большим объемом именно ОО программирования вероятность ошибок будет расти катастрофически.

При всем уважении к Вирту ("Вы знаете, как я уважаю Остапа Ибрагимовича") его скептическое отношение к ООП определяется характером привычных ему задач.
Я уже говорил, что Оберон заточен не под решение сложных задач, а под построение сложных программных систем. Это разные (хотя и пересекающиеся) области.
Хотелось бы понять преимущества и недостатки модульного и объектного программирования в "зоне пересечения интересов" - там, где для решения сложной задачи потребуется создать сложную программную систему. Какие качества окажутся важнее, мне не ясно.
Например модель функционирования города (фирмы, страны) представляет собой такую задачу. Реализация в чистом ООП будет очень тяжелым делом, но я понимаю, с какого конца начинать и быстро напишу базовые классы. Я не понимаю, как подойти к такой задаче с позиций модульного программирования. Но это не значит, что этот подход невозможен и что он в конце концов не окажется проще.


№ 2823   17-02-2007 06:40 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2819« (01)
___________________________

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


Разве это относится к Оберону, а не к самому ООП?
 AVC


№ 2822   17-02-2007 06:37 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2800« (Руслан Богатырев)
___________________________

У меня подчас складывается ощущение, как будто мы на рынке и перед нами стоит задача во что бы то ни стало продать товар под названием "Оберон". Кому и зачем? Я вообще считаю, что сторонники Оберона (и я в том числе) напрасно тратят время на бессмысленное убеждение в достоинствах Оберона и КП. Надо просто тихо использовать то, что нравится. А самим разобраться в нюансах можно и не на публике. Пользы будет больше. Как конкретным людям, так и для развития Оберонов.

В целом, у меня складывается такое же мнение.
Но от "внешней" критики отказываться тоже не хочется.
Например, Сергей Перовский и Антон Григорьев прямо говорят, что именно их не устраивает в Обероне.
 AVC


№ 2821   17-02-2007 06:17 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2805« (info21)
___________________________

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

Можно об этом подробнее?
Я не в курсе.
 AVC


№ 2820   17-02-2007 06:13 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2818« (Антон Григорьев)
___________________________

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

>>>Тогда я вообще не понял, об чем речь.

Да речь всё о том же. Хоть AVC и пишет, что "выяснилось, что в них (конструкторах - А.Г.) нет особой нужды", меня пока убедить в этом не удалось. Потому что, во-первых, конструкторы синтаксически обязывают инициализировать объект только через них, а во-вторых, не запрещают наследование кода в других модулях.


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


№ 2819   17-02-2007 05:51 Ответить на это сообщение Ответить на это сообщение с цитированием
вообщем последнее время при чтении ветки складывается такое пессимистическое впечатление:
первоначально было выстроено несколько громких тезисов относительно Оберона(у разных авторов) применительно к обучению программированию:
1 простота языка для изучения:
тут можно выделить несколько уровней

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

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

про уровень вузов с профильной информатикой ничего сказать немогу, незнаю чего им нужно...

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

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

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

3 не избыточность
ну тут все просто
для Оберона может и выполняется, а для КП уже не совсем

4 универсальность
написать на Обероне то можно все, но теперь уже ищем условия когда же его лучше применять(не применять)

5 компактность
пожалуй единственное, что не вызывает сомнений))

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


№ 2818   17-02-2007 04:37 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2813« (info21)
___________________________

Тогда я вообще не понял, об чем речь.

Да речь всё о том же. Хоть AVC и пишет, что "выяснилось, что в них (конструкторах - А.Г.) нет особой нужды", меня пока убедить в этом не удалось. Потому что, во-первых, конструкторы синтаксически обязывают инициализировать объект только через них, а во-вторых, не запрещают наследование кода в других модулях.

Что же касается того, что "конструкторы тоже можно не писать", я могу ответить следующее. В Обероне через псевдомодуль SYSTEM можно использовать адресную арифметику. Но дело это относительно муторное, поэтому никто этим без реальной нужды и хорошего понимания заниматься не будет. Так же и в языках с конструкторами: можно писать без них, но это оказывается сложнее, хотя бы потому, что и от вызова конструктора всё равно никуда не деться, и инициализировать объект всё равно придётся. Так что лень будет подталкивать к самому правильному решению - совместить.

Вообще, хочу пояснить, зачем я задаю подобные вопросы. Мне нужно для своего личного использования делать какие-то выводы о том, чем хорош и чем плох тот или иной язык и/или подход. Так что меня интересуют не споры, а просто знакомство с чужим мнением. Мнение сторонников Оберона по поводу конструкторов было здесь изложено достаточно подробно, вряд ли вы сможете что-то добавить, я тоже более-менее всё сказал, а флудить, бесконечно повторяя одни и те же аргументы, я не хочу. Так что если ни у кого не осталось вопросов ко мне, готов прекратить обсуждение этой темы. То, что здесь было написано, дало мне возможность взглянуть на проблему с другой стороны, и за это всем большое спасибо - я действительно узнал много интересного, буду потихоньку осознавать :)


№ 2817   Удалено модератором


<<<... | 2836—2827 | 2826—2817 | 2816—2807 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 344


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

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

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

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

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

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