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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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


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

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

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

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


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

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

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

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

<<<... | 2546—2537 | 2536—2527 | 2526—2517 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 373


№ 2536   04-02-2007 16:04 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2533« (Jack Of Shadows)
___________________________
В хаскеле к таким особым случаям добавлено и декларация функций, и инструмент для него - сопоставление (pattern matching), полностью дублирующий if, но при этом оптимизирующий написание кода. Делающий его более читабельным, более котротким.
Полностью согласен. Мои претензии относятся не к сопоставлению, которое как раз красиво вписывается в общую идеологию, а к наличию if. Это один из примеров, когда разработчики языка боятся поддержать цельность из боязни ущемить чьи-то привычки.


№ 2535   04-02-2007 15:47 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2533« (Jack Of Shadows)
___________________________

Зато в обероне аж 3 оператора цикла, в то время как в хаскеле ни одного.
Что вы там о чувстве меры говорили?  :))


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


№ 2534   04-02-2007 15:41 Ответить на это сообщение Ответить на это сообщение с цитированием
Осмелюсь высказать одно наблюдение.

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

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


№ 2533   04-02-2007 15:39 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2530« (AVC)
___________________________

CASE -- средство выбора из абсолютно равноправных альтернатив,
Ошибаетесь. В CASE порядок выбора так же важен как и в if.
Проведите небольшой эксперимент и убедитесь сами. Но это уже мы уходим от темы.


CASE -- важное средство оптимизации для особого случая, но вовсе не так универсален, как IF.


Совершенно верно. Несмотря на то что в языке уже есть единообразный и УНИВЕРСАЛЬНЫЙ инструмент if, в него все таки вводится ДУБЛИРУЮЩИЙ инструмент для особых случаев.
В хаскеле к таким особым случаям добавлено и декларация функций, и инструмент для него - сопоставление (pattern matching), полностью дублирующий if, но при этом оптимизирующий написание кода. Делающий его более читабельным, более котротким.

Сравните:


last [] = error "Empty List"
last [x] = x
last (x:xs) = last xs



и


last x = if empty x then error "Empty List"
        else if length x = 1 then x
        else last tail x



Ответ на »сообщение 2532« (Руслан Богатырев)


Из всех качеств в человеке она больше всего ценила... чувство меры.


Ну конечно Руслан. В обероне два варианта (if, case), в хаскеле 3 (if, guards, pattern matching)
Сильно хакелистам изменило чувство меры.

Зато в обероне аж 3 оператора цикла, в то время как в хаскеле ни одного.
Что вы там о чувстве меры говорили?  :))


№ 2532   04-02-2007 15:27 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2530« (AVC)
___________________________

Jack, ну Вы же прекрасно понимаете, что if и case реализованы по-разному практически во всех императивных языках.

Ну зачем же Вы так на Джека :) Он по-своему прав: если уж стремиться к минимализму до истощения, то надо в Обероне иметь только IF и LOOP. Никаких там CASE, WHILE, REPEAT, FOR и иже с ними.

Не буду еще раз вслед за Виртом цитировать Эйнштейна. Вспомню только один разговор с моей школьной учительницей, который мне запал в память на долгие годы. Из всех качеств в человеке она больше всего ценила... чувство меры. Спустя много лет я стал понимать всю мудрость ее слов.


№ 2531   04-02-2007 15:19 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2521« (Geniepro)
___________________________

Программы на Хаскелле подобны хайку - несколько строк, а сколько в них глубинного, потаённого смысла, который может обсуждаться веками...

Занятные аналогии. Только японская поэзия направлена на нравственно-эстетическое начало человека, а не на исполнение приземленных задач грешной действительности. И если "императивный" компьютер читает и выполняет такую "хайку" с глубинным и потаенным смыслом, то можно только посочувствовать тем, кто находится в счастливом неведении относительно того, что же компьютер, озаренный воображением, выдаст в итоге на выходе.


№ 2530   04-02-2007 15:16 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2528« (Jack Of Shadows)
___________________________

Так как насчет case и if ? :))

Jack, ну Вы же прекрасно понимаете, что if и case реализованы по-разному практически во всех императивных языках.
IF означает последовательный перебор альтернатив, это существенно когда важен порядок, в котором осуществляется выбор (приоритет).
CASE -- средство выбора из абсолютно равноправных альтернатив, к тому для него сравнение возможно только с константами; если константы лежат достаточно плотно, адрес перехода вычисляется на основе созданной компилятором таблицы.
CASE -- важное средство оптимизации для особого случая, но вовсе не так универсален, как IF.
 AVC


№ 2529   04-02-2007 15:03 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2526« (Илья Ермаков)
___________________________

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

В одной очень поучительной книге, которую можно рекомендовать как настольную книгу любому программисту (чтобы учиться на чужих ошибках и понимать, как не надо делать), а именно, в “The Design and Evolution of C++” (1994, на русск. языке – 2006 г.), написаной Бьерном Страуструпом, есть по этому поводу занятный сюжет.

На первой конференции по C++ в Санта-Фе (1987), как вспоминает Страуструп, “Том Каргилл сорвал аплодисменты, высказав забавное, но не очень реалистичное предложение: каждый, кто предлагает включить в C++ новое средство, должен сказать, какое из старых, равных по сложности новому, следует исключить”. Дальше Страуструп пишет: “Мне такой подход не нравится, но я все же не могу утверждать, что C++ стал бы лучше, не будь в нем множественного наследования, или что C++ образца 1985 г. лучше, чем C++ 1993 г. Веселье продолжил Джим Уолдо. Он продолжил мысль Тома, высказав следующую идею: обязать предлагающих новые средства пожертвовать... свою почку. Это, по мнению Джима, заставит каждого не один раз подумать, прежде чем вносить предложение, причем даже лишенные инстинкта самосохранения не смогут внести более двух предложений.”


№ 2528   04-02-2007 14:45 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2526« (Илья Ермаков)
___________________________
По поводу второго вопроса: по мне, к примеру, либо if, либо сопоставление с образцом, либо | - но что-то одно...
Совершенно разные задачи. Как их можно связывать при помощи "либо" ?

guards | - это case, то есть отличается от if большим количеством вариантов.

if хорош для inline выражений:
x = 10 + if y > 5 then 10 else 15

Сопоставление это для декларации функций.

Когда равноценных путей слишком много, возникает известная проблема буриданова осла.
Жаль что Вирт не видел этого осла, когда вводил в оберон case, хотя там уже был if :))


В Обероне разработчик вместе с синтаксисом сразу "всасывает" единый стиль,

Так как насчет case и if ? :))


Просто моему глазу показалось, что в языке есть темные закоулки и подводные камни, вызванные тем, что разработчики таки погнались за некоторыми "фичами".

Хаскель изначально создавался как чистый функциональный язык. Чистый не только в этом плане, но и в плане незахламленности фичами.
Я думая вам стоит поглубже познакомиться с этим языком, прежде чем вы сможете делать выводы о том захламлен ли он.
Тем более что интерес к нему у вас вроде бы есть.


№ 2527   04-02-2007 14:23 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2522« (Jack Of Shadows)
___________________________
>>>А то потом трудно будет спорить с Сергеем Перовским которому не нужен сборщик мусора :))
Так и так трудно будет спорить :)
Если бы я доказывал, что Вам не нужен сборщик мусора, было бы легко.

Представте, что я предлагал бы Вам воспользоваться инструментом, позволяющем в Лиспе не ставить закрывающихся скобок :)


<<<... | 2546—2537 | 2536—2527 | 2526—2517 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 373


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

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

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

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

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

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