Оберон-технология: особенности и перспективы |
Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение.
Всего в теме 6256 сообщений
Добавить свое сообщение
Отслеживать это обсуждение Обсуждение из раздела Школа ОБЕРОНА
№ 2546 04-02-2007 18:03 | |
Ответ на »сообщение 2539« (Geniepro)
___________________________
Почему Вы считаете, что Хаскелл является менее практичным языком, чем, скажем, Оберон?
Если я отвечу: "Потому что он витает в облаках на императивной архитектуре", Вам ведь это почти наверняка не покажется убедительным. Хаскель, в отличие от Оберона, далек от железа (по реализации) и далек от народа (по пониманию). Но Оберон, в свою очередь, далек от народа по причине своей "позабытости-позаброшенности" (напоминает мудрого старца в горном ауле, а не энергичного топ-менеджера в солидной компании).
Сейчас (повторю, сейчас) Хаскель - это удел узкого круга специалистов. При этом его намеренно толкают в массы: как в industry и research, так и в education. И все довольны - научные деятели могут ездить на конференции и глубокомысленно обсуждать глубины мысли Haskell. Опять-таки культивируемая мода - штука занятная. Преподаватели могут подавать свое haskell-блюдо неразумным студентам с полным осознанием огромной важности самого факта проникновения высокой математики в умы своих слушателей. В индустрии же Хаскель - очередное средство отвлечения от проблем кризиса программирования: где искать выход из тупика? Конечно в новом, еще не опробованном, на чем можно неплохо подзаработать. Вот когда накушаются по самое нельзя, можно давать и другую цель.
И самое главное: как индустрия может допустить остановки конвейера по производству миллионов все более и более мощных ПК? Там кто-то из подворотни робко вякает, что для многих задач нужны лишь малые проценты производительности от сегодняшних? Что лучше использовать компактные инструменты и грамотно строить с их помощью системы, чем потом расхлебывать проблемы наращиванием ресурсов? Они что, с ума спятили? Если нет задач, чтобы были не по зубам нынешним компьютерам, значит, надо придумать и навязать миру новые! А как же! Кушать-то хочется. И не токма хлеб с маслом.
№ 2545 04-02-2007 17:29 | |
Ответ на »сообщение 2541« (Geniepro)
___________________________
Почему так не сделали... Наверное, вспомнили как Вирту пришлось FOR вернуть в Оберон-2... :о))
Еще раз повторю. Да не возвращал Вирт FOR в Oberon-2. Oberon-2 - полная заслуга Мессенбека (заслуга как в кавычках, так и без). Вирт просто поставил свою фамилию под описанием.
№ 2544 04-02-2007 17:26 | |
Ответ на »сообщение 2542« (AVC)
___________________________
Во избежание непонимания добавлю еше немного.
ОТ, как ее сформулировал Илья Ермаков, -- сугубая конкретика, она вся состоит из технических моментов в первую очередь (а не стилистических предпочтений Вирта, как иногда это излагается).
Но решать эти проблемы хочется именно принципиально, а не просто навтыкав отдельные фичи в отдельные языки.
№ 2543 04-02-2007 17:23 | |
Ответ на »сообщение 2540« (AVC)
___________________________
Ветка посвящена ОТ. Илья Ермаков дал ей вполне приемлимое рабочее определение.
Да в общем, ОТ, на мой взгляд, много менее ценна, нежели "философия" Оберон-мышления. Но готовы ли мы это здесь глубоко обсуждать?
Что же такое специфического есть в ОТ?
1. Модули против классов? (возьмите, например, Аду против Java).
2. Расширяющее программирование против ООП? (та же Ада против Java).
3. Автоматическая сборка мусора? (это не супердостоинство ОТ, а рабочая вещь, в других языках реализованная даже лучше; не самая бесспорно замечательная штука в Обероне).
4. Компонентность? (разве что; но чем плохи компоненты в Eiffel).
5. Строгость и надежность разработки? (тут можно поспорить, опять-таки привлекая Eiffel).
6. Метапрограммирование? (оно есть, но разве это важное достоинство ОТ?)
7. Компактность языка? (возьмите Си, Forth, Occam)
Все вместе взятое? (здесь уж, извините, справедливости ради придется Обероны делить на диалекты, где КП будет с этих позиций далеко не в выигрыше).
Я же, например, ищу сравнительно простой способ использовать ОТ во встроенных приложениях (хотя бы в урезанном виде), присматриваюсь к OO2C, а когда пишу на Обероне для ПК, то зачастую это Оберон-2 от XDS.
Понятная практическая мотивация. Но обратите внимание: ОТ вроде бы должна роднить Обероны и позволять практикам применять тот язык-диалект или инструментарий (ориентированный на ОТ), который больше всего подходит для конкретного проекта. На деле же Обероны разрознены. Лебедь, рак и щука...
Так может, в этом направлении народную мысль двинуть? Или всех так безоговорочно устраивает КП/BlackBox? Если да, то что мы тут все делаем? Убеждаем себя, что надо им заниматься, или даже пытаемся "неверных" обратить в истинную веру?
№ 2542 04-02-2007 17:19 | |
Ответ на »сообщение 2540« (AVC)
___________________________
Я не перечислил проблемы.
Они относятся прежде всего к таким областям, как
- обобщенное программирование (дженериков таки нет)
- многопоточность (в классическом О1 вообще нет, в АО уже встроена в язык, как и поддержка исключений и т.д.; я вижу в этом некоторое несоответствие первоначальным принципам)
- сборка мусора (например, проблемы GC, указанные Сергеем Губановым)
- компонентность (проблемы с выгрузкой модулей)
- и др. :)
№ 2541 04-02-2007 17:12 | |
Ответ на »сообщение 2536« (Илья Ермаков)
___________________________
Мои претензии относятся не к сопоставлению, которое как раз красиво вписывается в общую идеологию, а к наличию if. Это один из примеров, когда разработчики языка боятся поддержать цельность из боязни ущемить чьи-то привычки.
В принципе, насчёт if, тут, конечно, можно было бы как в Clean поступить - определить стандартную функцию от трёх аргументов типа:
iif True t _ = t
iif False _ f = f
Почему так не сделали... Наверное, вспомнили как Вирту пришлось FOR вернуть в Оберон-2... :о))
№ 2540 04-02-2007 17:06 | |
Ответ на »сообщение 2534« (Руслан Богатырев)
___________________________
Похоже, в этой ветке гораздо больший интерес привлекает обсуждение различных аспектов программирования (как особой формы интеллектуальной деятельности) сквозь призму Оберонов. Возможно, и стоит двигаться в этом направлении, если техническая, либо исследовательская часть Оберонов малоинтересны или же приводят к переливанию из пустого в порожнее.
Это принципиальный вопрос для нашей ветки: какое разумно выбрать соотношение "философии" и "конкретики" ("техники").
Хотя бы по той причине, что программисты, выбирающие Оберон, в какой-то мере обязательно "философы" и... "искейписты". :)
Существует категория программистов, занятых исключительно вопросом "как" (армейский принцип :) ).
Например, множество форумов, посвященных Си++, переполнено описанием различных "трюков" и "хаков". Большое число опубликованных трюков повышает ранг программиста в страуструповой стае (элитный пример -- Александреску). И это правильно: человек искал решение проблемы, как сделать нечто, когда "нельзя, но очень хочется", и нашел его в рамках заданного языка.
Это одна крайность.
Боюсь, что мы здесь, напротив, вознамерились бродить 40 лет по пустыне.
Это другая крайность, также весьма нежелательная.
Не хотелось бы застрять в этой фазе.
Хочу сформулировать свое видение назначения данной ветки.
Нам нужны и философия, и конкретика, а главное -- чувство меры. :)
Слишком много философии -- мало дела.
Слишком мало философии -- много дров.
Ветка посвящена ОТ. Илья Ермаков дал ей вполне приемлимое рабочее определение.
Вот и надо заниматься изучением (а иногда и исследованием) составных частей.
Проблем здесь много, каждому из нас поодиночке справиться с ними трудно.
Поэтому и нужна эта ветка.
Отличие ее от орловского форума в том, что она не привязана к КП.
Я знаю, что и там не ограничиваются КП/ББ, но упор делается именно на них (как на рабочий инструмент).
Я же, например, ищу сравнительно простой способ использовать ОТ во встроенных приложениях (хотя бы в урезанном виде), присматриваюсь к OO2C, а когда пишу на Обероне для ПК, то зачастую это Оберон-2 от XDS.
При этом к КП отношусь очень хорошо, видно, что это продвижение в сторону компонентного программирования.
На обсуждаемый здесь Оберон я смотрю как на аристотелевскую "сущность первого порядка" (боюсь переврать классика, но более удачной аналогии подобрать не смог).
Например, есть отдельные индивиды: Вася, Петя, Коля. Но каждый из них "человек". А вот то, что они относятся к "млекопитающим" (правда, как-то не очень лично :) ), -- это уже чрезмерное обобщение.
Есть конкретные языки: Оберон, Оберон-2, Компонентный Паскаль, Активный Оберон, Зоннон. Но каждый из них "Оберон", а не просто "модульный язык".
Вот мне и хотелось бы, чтобы в данной ветке мы обсуждали конкретные и принципиальные проблемы Оберона как "сущности первого порядка", в некоторой абстракции от слишком индивидуальных особенностей каждого из оберонов в отдельности.
№ 2539 04-02-2007 16:45 | |
Ответ на »сообщение 2535« (Руслан Богатырев)
___________________________
Что же до Хаскеля - мое сугубо личное мнение: вещь хорошая, но не заслуживающая того избыточного внимания со стороны практиков (не исследователей), которое ей здесь в Королевстве уделяется.
Почему Вы считаете, что Хаскелл является менее практичным языком, чем, скажем, Оберон?
№ 2538 04-02-2007 16:21 | |
Ответ на »сообщение 2521« (Geniepro)
___________________________
>>> Швейк ... наводящий ужас на женщин и детей (?)
"Снайпер без права на ошибку" называется сапёр :)
Что-то с предметной областью у хаскелистов ...
Скорее они напоминают штабных офицеров с красиво заточенными карандашами.
"Гладко было на бумаге, да забыли про овраги, а по ним ходить".
№ 2537 04-02-2007 16:10 | |
Ответ на »сообщение 2533« (Jack Of Shadows)
___________________________
Ответ на »сообщение 2530« (AVC)
___________________________
>>CASE -- средство выбора из абсолютно равноправных альтернатив
Ошибаетесь. В CASE порядок выбора так же важен как и в if.
Приведите пример, готов учиться.
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|