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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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


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

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

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

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


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

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

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

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

<<<... | 2166—2157 | 2156—2147 | 2146—2137 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 411


№ 2156   23-01-2007 07:06 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2151« (Снегурочка)
___________________________

Кстати, о гибридизации и пуризме: апологетом мультипарадигматичности (даже не выговоришь!) является никто иной, как Бьерн Страуструп. Думаю, многим хорошо известно его интервью 6-летней давности.
http://www.softcraft.ru/paradigm/common/siw.shtml


№ 2155   23-01-2007 07:02 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2154« (Jean)
___________________________

Это, примерно, как "черный" и "нечерный".

А ООП - черное или нечерное?


№ 2154   23-01-2007 06:58 Ответить на это сообщение Ответить на это сообщение с цитированием
>>>На мой взгляд, крайне упрощенное деление
Ну, уж какое есть :). Понятия "императивный" и "декларативный" являются практически противоположными по своему смыслу и поэтому покрывают все множество вариантов. Это, примерно, как "черный" и "нечерный".
Кстати, я посмотрел - в Инете у этой версии много сторонников. Все, что не императивное, объединять под общей вывеской "декларативной парадигмы" (ДП). А уж веток у ДП может быть сколько угодно: ФП, ЛП, языки типа SQL, HTML/XML (без языков сценария, разумеется) и т.д.

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


№ 2153   23-01-2007 06:44 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2150« (Jean)
___________________________

1) Императивный, когда описывается последовательность действий алгоритма для решения задачи;

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

В этом смысле между ФП и ЛП принципиальной разницы нет.
Между ними есть разница в специфике решаемых задач, для которых каждая из этих парадигм выигрышна или проигрышна. Эти задачи мной косвенно очерчены.


№ 2152   23-01-2007 06:41 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2144« (Сергей Осколков)
___________________________


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


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

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

Еще один момент.
В знаменитой книжке Буча утверждается, что объекты обладают "состоянием", "поведением" и "идентичностью".
ИМХО, "идентичность" как раз легче всего выражается посредством переменных.
Переменная может поменять значение, оставаясь при этом собой.
Кажется, иногда это плюс. :)
 AVC


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

Однако деление это не строгое.

Разумеется, никакой строгости в моей реплике о парадигмах нет и в помине. Поэтому ко всем словам типа "чистый язык", "математическая основа" надо относиться с соответствующей долей скепсиса. "Чистый" - означает не перегруженный сущностями других парадигм (не "мультипарадигматический"),а "математическая основа" - фундамент, на котором базируется парадигма. Любая классификация (декларативный-недекларативный и т.п.) должна иметь какую-то практическую цель, в данном случае речь о комплексе Oberon-Smalltalk-Haskell-Prolog-Lisp.

Цель моей реплики - всплывшая в ходе обсуждения здравая идея интеграции разнородных языков: Оберона и Хаскеля. Вся остальная "классификация" служит этой цели, а заодно косвенно обозначает границы применимости того же ФП (было бы интересно увидеть опровержение моей мысли о том, что ФП хуже подходит для задач системного программирования, чем Си или Оберон и что Хаскель уступает им в роли промежуточного языка для кодогенерации).

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

Гибридизация ведет к сиюминутному успеху (ближняя и средняя перспектива), но в дальней перспективе - к закату, поскольку любая гремучая смесь с течением времени (и переосмыслением роли и места идей и подходов) взрывается. Вот почему гибридным языкам, чтобы выжить, надо постоянно "совершенствоваться", скрещивать ужа с ежом. Вот почему гибридные языки чаще всего развиваются/продвигаются крупными компаниями и несмотря на статус международных стандартов, толкаются именно ими исходя из интересов конкурентной борьбы. C++ (получил путевку в жизнь и доминирование в индустрии благодаря прежде всего Microsoft), Delphi (Borland), Java (Sun, IBM), C# (Microsoft).

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

Как известно, есть две популярных языковых платформы, которые вроде бы дают основание для подобной интеграции: .NET (Microsoft) и Eclipse (IBM). На первой доминирующе-синтетическим языком является C#, на другом - Java.

Но интеграция на этих платформах весьма специфична и накладывает свои ограничения. Думаю, имело бы смысл подвергнуть обсуждению-анализу то, насколько они могут подойти для целей "интегрального пуризма" и не стоило бы подумать о своем Grand Challenge - создании платформы взаимодействия конкретных вышеперечисленных ортогональных языков, а не просто о паре Оберон/КП-Хаскель?


№ 2150   23-01-2007 06:12 Ответить на это сообщение Ответить на это сообщение с цитированием
>>>Я бы поставил на один уровень ИП, ФП и ЛП.
А я бы объединил ФП и ЛП в один класс - ДЕКЛАРАТИВНОЕ ПРОГРАММИРОВАНИЕ (ДП).
В конце концов есть только два принципиально различных подхода к представлению алгоритма:
1) Императивный, когда описывается последовательность действий алгоритма для решения задачи;
2) Декларативный, когда описываются только множества, отношения, функции, правила вывода и другие сущности самой задачи, а создание нужной последовательности действий возлагается на транслятор языка;
В этом смысле между ФП и ЛП принципиальной разницы нет.


№ 2149   23-01-2007 06:05 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2147« (info21)
___________________________

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

Слегка соврал. Виноват. Логика там описывает состояние переменных. Но все-таки математической "основой" ИП теория конечных автоматов не является, а является формализм Дейкстры.


№ 2148   23-01-2007 05:44 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2141« (Снегнурочка)
___________________________
Спасибо за конструктив!
Однако деление это не строгое. Не в том смысле, что есть языки, реализующие элементы различных подходов. А в том смысле, что ООП может быть реализован на базе ИП и ФП. Идеи ООП относятся к другому "уровню" программирования.
(Тут нас ждут серьезные терминологические трудности, что за "уровень" я ввел?)
Соответственно, если ИП базируется на классической модели конечного автомата, то ООП использует модель ансамбля конечных автоматов.
Я бы поставил на один уровень ИП, ФП и ЛП.
ООП и модульное программирование (и может быть родовое) на другой.



№ 2147   23-01-2007 05:02 Ответить на это сообщение Ответить на это сообщение с цитированием
Чистый представитель: Oberon
...
Математическая основа: конечные автоматы


Слова "математическая основа" в подобном контексте не могут употребляться буквально. Однако об их точном смысле почти никто не задумывается, откуда всякие недоразумения или несуразности, вроде утверждений об особой математической обоснованности ФЯ и т.п.

Грубо говоря, математика никакой "основы" в буквальном смысле дать не может. Математика обязана взять то, что есть (конкретные артефакты), и изучать их, т.е. систематизировать, выяснить структуру, построить аксиоматику и т.п. Это может увеличить ясность и помочь делать более элегантные артефакты данного класса.

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

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

А чнстыми ИЯ являются разве что старые фортраны (IV, 77).


<<<... | 2166—2157 | 2156—2147 | 2146—2137 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 411


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

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

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

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

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

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