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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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


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

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

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

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


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

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

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

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

<<<... | 3446—3437 | 3436—3427 | 3426—3417 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 283


№ 3436   23-03-2007 19:23 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3435« (AVC)
___________________________
Не понял. Какое отношение имеет присваивание к отсутствию или наличию модульности ?

Чо касается SICP то вы опять путаете проблемы конкретной реализации с проблемами подхода.
SICP написан на схеме. А в схеме (как и в лиспе) специально убран ВООБЩЕ какой бы то ни было механизм модульности. Просто потому что лисп это прото-язык. И приваривать к нему намертво в стандарт такие ЧАСТНЫЕ механизмы как модульность (которая может быть реализована множеством разных способов) или ООП (которое тоже может быть совершенно разным от Smalltalk, до java и оберона) создатели языка считали (и правильно) ненужным.

В лиспе нет модульности, и поэтому в лиспе есть ЛЮБАЯ модульность которую вы сами реализуете.
Например я пользуюсь модульной системой asdf (наиболее популярная на сегодня).
В стандарт лиспа правда таки включили ОО (CLOS), но вот например в схеме ООП нет. Зато есть куча разных реализаций ООП, с теми или иными свойствами.
Вообще брать лисп (прото-язык) для какой либо аргументации по типу вот есть чего то или нет, неправомочно.
Берите обычный ФЯ, без магии метапрограммирования.
Например ocaml или хаскель.
Вот там и реализация стандартной модульная системы мощная. С ней и сравнивайте.



№ 3435   23-03-2007 19:12 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3434« (Илья Ермаков)
___________________________

Ответ на »сообщение 3433« (Jack Of Shadows)
___________________________

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


Естественно. Вопрос в том - поменять в статике или поменять в динамике.


А так ли это естественно?
Когда в SICP вводится присваивание, речь идет вовсе не о динамике, а о недостаточной модульности чистого ФП (а что такое "нечистое" ФП? :) ) в общем.
 AVC


№ 3434   23-03-2007 18:56 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3433« (Jack Of Shadows)
___________________________

Ответ на »сообщение 3432« (Илья Ермаков)
___________________________
Это значит что любую функцию можно поменять на другую, без последствий для вызывающих функций, поскольку нет побочных эффектов.

Естественно. Вопрос в том - поменять в статике или поменять в динамике.
Для перестройки "на лету" у ФП есть только один (старый, добрый, весьма мощный) способ - метапрограммирование, самомодифицирующийся код. Но это вотчина LISP, а никак не Haskell. В Haskell путь один - динамически регенерировать исходный код и перезагружать его...
Беря "железные" аналогии, ФП сегодня - это схемотехника отдельных блоков, но пока не инженерия модульных систем... Никто не спорит, что модульность и ФП - вещи совместимые. Я про это несколько раз писал... Нужен всего лишь механизм динамической коммутации модулей, а он может быть и декларативным. Но это еще нужно сделать, а ФП-исты в большей части равнодушны к инженерии, все больше "высокой математикой" балуются :-) Одни сферические кони в вакууме... :-)

По поводу "поменять на другую, поскольку нет побочных эффектов" - это общий принцип инженерии ПО, никак несвязанный конкретно с ФП. Принцип "черного ящика". Если реализация сокрыта и взаимодействие идет по интерфейсам, то побочных эффектов по определению нет, и "черный ящик" можно менять. В современной "императивной" программе тоже не должно быть побочных эффектов - все изменения состояния должны локализовываться конкретным блоком - процедурой, объектом, модулем. И выйти за пределы блока в модульном языке, между прочим, не позволит компилятор.


№ 3433   23-03-2007 18:30 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3432« (Илья Ермаков)
___________________________
Таковы возможности модульных архитектур.
Ну вот видите, а сами катите бочку на хаскель. :))
Таковы возможности функциональных архитектур. Потому что чистые функции это те же модули, с жесткими интерфейсами, результат работы которых зависит только от входных параметров.
Это значит что любую функцию можно поменять на другую, без последствий для вызывающих функций, поскольку нет побочных эффектов.


№ 3432   23-03-2007 18:12 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3431« (Jack Of Shadows)
___________________________

Ответ на »сообщение 3429« (Илья Ермаков)
А вот в оберон наоборот. Если вам вместо OlimpIn придется использовать более эффективный механизм чтения с файлов, то он просочится в вашу логику верхнего уровня.

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


№ 3431   23-03-2007 17:57 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3429« (Илья Ермаков)
___________________________
Какие шаманства Илья ? GeniPro ошибся в своей оценке (может потому что не пробовал ByteSTring)
По интерфейсу он точно такой же как и обычный String, то есть программа не меняется совершенно.
Меняется только низкоуровневой код чтения с файла.

Это как раз показывает насколько ФП позволяет абстрагироваться от низкоуровневых проблем и решить их на месте, не загрязняя верхние уровни абстракции.

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



№ 3430   23-03-2007 17:23 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3427« (Сергей Перовский)
___________________________
Это такой прикол или у Вас материалы есть?
В Альтаир 8800 не 8086 стоял...
А так я вам все адреса, пароли и явки и дал! :о)


№ 3429   23-03-2007 17:06 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3415« (Geniepro)
___________________________


При этом программа на КП заняла около четверти гигабайта оперативной памяти, тогда как хаскеллевская - в сто раз меньше. Очевидно, программа Ильи полностью зачитала входной файл в память, что приводит к весьма плохим последствиям при обработке файла с размером, раза в два меньшим объёма ОЗУ копьютера, - начинается ужаснейшая подкачка виртуальной памяти операционной системы, что снижает скорость работы программы в сотни, если не тысячи раз. Тогда как программа на Хаскелле преспокойно обрабатывает файл любого размера, заняв всего 3 мегабайта в ОЗУ...

Это особенность OlimpIn... Его я использовал для большей простоты/наглядности. Этот модуль при открытии файла целиком поднимает его в память. Если читать через Files/Stores, то такого не будет.

{Quote]Если переделать программы с использованием типа ByteString, то скорость её работы должна будет подняться в несколько раз и она догонит по быстродействию программу на КП. Правда, при этом мы рискуем усложнить программу, сделать её менее наглядной...
В том-то и беда - у меня есть простор для оптимизации без серьезного усложнения кода, у
Вас - нет... ФП - это как машина с автоматической коробкой скоростей. На гладкой трассе все нормально, на сложных дорогах начинаются пробуксовки... При этом Вы не имеете возможности явно взять управление в руки, у Вас есть только набор "шаманств", которыми вы можете намекнуть автоматике выполнять процесс так или иначе... Надеясь, что автоматика верно поймет намек...
При этом, подчеркну - что Оберон в сравнении с ФП - это не ручная коробка передач (не Фортаны с Сями и иже там с ними), а дорогая, профессиональная коробка, которая позволяет как отдать управление автоматике в гладкие моменты, так и принять его на себя в трудных ситуациях... Но принять на достаточно высоком уровне, не опускаясь до перещелкивания каждой шестеренки, как в тех же цях...


№ 3428   23-03-2007 15:27 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3425« (Н)
___________________________

... как, ВСЕГДА проигрывая на всех ОФИЦИАЛЬНЫХ конкурсах и тендерах, МС удавалось оказываться с заказами (от той же IBM)...

Ну известно же, что менеджер IBM, подписавший *тот самый* контракт с МС, прежде чем поставить подпись, спросил: "А! Так это сын Мелинды Гейтс?" которая имела какое-то сотрудничество с IBM по юридической линии.


№ 3427   23-03-2007 14:52 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3424« (Н)
___________________________
>>>Билли со товарищи подрядилсь интерпретатор писать, а бабки проели.
Это такой прикол или у Вас материалы есть?
При всей нелюбви к политике и продуктам MS, придется признать что Basic4K для 8086 написан лично БГ с помощью эмулятора, написанного Аленом. Ведь у них было только описание команд - самого процессора они в глаза не видели. Соответственно и ассемблера не было.
Это к дискуссии об американской тупости.
Вопрос не в способностях, а в целевых установках. Европейская наука начиналась как хобби состоятельных людей. И никоим образом не рассматривалась как источник дохода. Это был способ увековечить имя, а это требывало тщательности и ответственности. Не дай бог сделаться посмешищем. Мы еще несем в себе эту культуру: научный результат и доброе имя важнее прибыли.
Я не хочу делить по географическому признаку, в США безусловно есть представители старой научной школы.
Просто именно в США больше всего комерциализированной науки и технологии, где качество легко приносится в жертву необходимости первыми успеть на рынок.


<<<... | 3446—3437 | 3436—3427 | 3426—3417 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 283


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

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

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

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

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

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