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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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


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

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

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

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


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

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

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

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

<<<... | 5846—5837 | 5836—5827 | 5826—5817 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 43


№ 5836   28-10-2007 07:42 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5834« (Axcel)
___________________________

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

По поводу массивов. Конечно, Вы правы. С другой стороны, а много ли типовых алгоритмов именно над массивами? Ну, сортировка. А что еще?

Ну, если выражаться "функционально" то, помоему, весь набор: map, reduse, filter. Во всяком случае везде, где определяющим моментом алгоритма является проход по массиву. Собственно, проход по массиву и есть инвариант.


А велика ли потребность в map/reduce?
Разве обычные for или while не решают задачу прохода по массиву?
 AVC


№ 5835   28-10-2007 07:08 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5833« (AVC)
___________________________
С другой стороны, а много ли типовых алгоритмов именно над массивами? Ну, сортировка. А что еще?
Поиск и поэлементная обработка.
Только попрошу присутствующих вспомнить, что один из толстых томов Кнута так и называется: "Сортировка и поиск".
С поэлементной обработкой кажется совсем просто, какие варианты? Но и тут возникает множество алгоритмов, если обрабатывается не по одному элементу.


№ 5834   28-10-2007 07:01 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5833« (AVC)
___________________________

По поводу массивов. Конечно, Вы правы. С другой стороны, а много ли типовых алгоритмов именно над массивами? Ну, сортировка. А что еще?


Ну, если выражаться "функционально" то, помоему, весь набор: map, reduse, filter. Во всяком случае везде, где определяющим моментом алгоритма является проход по массиву. Собственно, проход по массиву и есть инвариант.


№ 5833   28-10-2007 06:46 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5829« (Axcel)
___________________________

Ответ на »сообщение 5824« (AVC)
___________________________
>>>Вроде бы, согласен.
>>>Но иногда думаю так: а чем, в принципе, обычное ООП не устраивает? Базовый класс (тип записи) определяет класс типов, для которых тот или иной "алгоритм является инвариантным".

Да, конечно, но остаются "не обслуженными" массивы базовых типов (array of integer, array of shortinteger, array of real и т.д.). А ведь это массовые типы, следовательно выигрыш от использования алгоритмов - инвариантов для них наиболее ощутим.


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

По поводу массивов. Конечно, Вы правы. С другой стороны, а много ли типовых алгоритмов именно над массивами? Ну, сортировка. А что еще?
 AVC


№ 5832   28-10-2007 06:44 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5825« (Антон Григорьев)
___________________________
массив элементов любого типа, для которых определены операции
Так "любого типа" или "для которых определены"?
callback-функции и являются тем самым определением операции сравнения без которой сортировка невозможна.
Или речь идет обо всех стандартных типах?


№ 5831   28-10-2007 06:38 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5828« (Сергей Перовский)
___________________________

Ответ на »сообщение 5818« (AVC)
___________________________
Наши рюкзаки рюкзакатее -- в большем числе ситуаций
Добро пожаловать на Эверест с рюкзаком, наиболее подходящим в "большинстве ситуаций" :)


А Вы полагаете, что, спустившись с Эвереста и направляясь к Енисею, у Вас будет время заехать домой, отдохнуть, подучиться, сменить рюкзак? :)
 AVC


№ 5830   28-10-2007 06:37 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5821« (Илья Ермаков)
___________________________
К примеру, надёжность, высокоуровневость, компактность, эффективность.
Из всех этих показателей реально померить удается только компактность.
Все остальное оценивается так же субъективно.
Мы остались на уровне нравится/ненравится.


№ 5829   28-10-2007 06:33 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5824« (AVC)
___________________________
Вроде бы, согласен.
Но иногда думаю так: а чем, в принципе, обычное ООП не устраивает? Базовый класс (тип записи) определяет класс типов, для которых тот или иной "алгоритм является инвариантным".


Да, конечно, но остаются "не обслуженными" массивы базовых типов (array of integer, array of shortinteger, array of real и т.д.). А ведь это массовые типы, следовательно выигрыш от использования алгоритмов - инвариантов для них наиболее ощутим.


№ 5828   28-10-2007 06:32 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5818« (AVC)
___________________________
Наши рюкзаки рюкзакатее -- в большем числе ситуаций
Добро пожаловать на Эверест с рюкзаком, наиболее подходящим в "большинстве ситуаций" :)


№ 5827   28-10-2007 06:11 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5825« (Антон Григорьев)
___________________________

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

Насколько я понимаю, речь идет об операциях над базовыми типами, не записями?
Базовых типов немного (BOOLEAN, CHAR, INTEGER, REAL), вполне можно в модуль "Список" добавить и "Список целых" и т.п.

Что касается callback функций, то, если не считать встроенных типов, Вы их все равно пишете.

bool operator <(...)


Получается что-то вроде смеси статической и "утиной" типизации. :)
 AVC


<<<... | 5846—5837 | 5836—5827 | 5826—5817 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 43


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

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

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

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

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

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