Re[2]: Не в тему, но про J :)
От: Quintanar Россия  
Дата: 02.05.07 19:30
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Впоследствии разделились, и сделали каждый по языку. Причем, автор К наколбасил на нем серверное решение для обработки временных рядов (в основном — для биржевых/финансовых приложений — kdb). Это решение неплохо продается, и широко известно в узких кругах. Вот так. Компания CQG, где я раньше работал, думала одно время, не купить ли нам этот движок. Решили не покупать. Я тогда, помнится, был против покупки. Мы были шокированы языком К (у нас тогда никто не знал, кто его разработал — а дядька-то оказывается гуру, и что это вообще такое — К), и с недоверием относились к качеству решения, считая его априори глючной наколенной поделкой. А жаль, надо было разобраться как следует, и купить.


С недоверием — это, типа, на сайт даже не зашли? Вообще, странно, пару-тройку лет назад здесь была дискуссия по поводу К, ты же тогда же выступил в его пользу.
Re[4]: Так в чем же принципиальные отличия ФП от ИП?
От: VGn Россия http://vassilsanych.livejournal.com
Дата: 02.05.07 21:33
Оценка: +1
VD>Кстати, хочет задать один провакационный вопрос. Вот паттерны проектирвоания в ООП появились для облегчения проектирвоания больших и комплексных приложений. А что в этом плане придумано в ФП? Я вот сколько не гляжу, а все фишки ФП так или иначе крутятся вокруг макро-уровня. Собственно никто не спорит, что паттерн-матчинг ведь отличная, и красивая работа с фукнциями и замыканиями тоже очень удобно, но это все дает эффект только на довольно низктом (макро) уровне. А как насчет уровня приложения (и большого)?

Перепутал макро и микро. После реплейса всё становится понятно, а главное правильно. Полностью согласен.
Задолбался уже в сишарпе в тысячный раз команду писать вокруг одной строчки.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Re[3]: Так в чем же принципиальные отличия ФП от ИП?
От: VGn Россия http://vassilsanych.livejournal.com
Дата: 02.05.07 21:48
Оценка:
VD>Другими словами — ФП отлично на макроуровне, когда нужно написать некий алгоритм, но вот средств композиции вепрхнего уровне у него нет. Модули не канают по сравненению с классами. Отсюда и появление такого количества гибридов ОО/Ф-языков.

А зачем вообще противопоставление объектный-фунциональный?
Откуда оно взялось?
Объектный-императивный само собой.
Но имхо функция совершенно не канает, как макро-сущность в нематематических задачах.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Re[8]: Так в чем же принципиальные отличия ФП от ИП?
От: VGn Россия http://vassilsanych.livejournal.com
Дата: 02.05.07 21:53
Оценка:
Здравствуйте, lomeo, Вы писали:

L>Здравствуйте, VladD2, Вы писали:


L>>>А в терминах групп функций? Разумеется поименованных. Экземпляры есть.


VD>>Вот это и называется структурной декомпозицей. ООП как раз и придумывали потому как при некотором объеме задачи она становится мало пригодной.


L>Чем это отличается от классов?


VD>>Собщственно сейчас даже при разработке на ЯП не поддерживающих ООП напрямую все равно проектирование ведется обычно именно в ООП. Достаточно взглянуть на API Линукса и Виндовс.


L>Поясни. Ты имеешь в виду работу с хендлами? Посылку сообщений? Что то ещё?


Троллите товарищ?
Или это действительно спор о бесполезности ООП?
... << RSDN@Home 1.2.0 alpha rev. 677>>
Re[4]: Так в чем же принципиальные отличия ФП от ИП?
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.05.07 22:23
Оценка:
Здравствуйте, VGn, Вы писали:

VGn>А зачем вообще противопоставление объектный-фунциональный?


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

VGn>Откуда оно взялось?


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

VGn>Объектный-императивный само собой.

VGn>Но имхо функция совершенно не канает, как макро-сущность в нематематических задачах.

+1

А совмещение концепций дает отличный результат. Главное научиться делать правльный выбор в конкретных ситуациях.

Но тут возникает глобальнейшая проблема!
Большинство современных языков программирования не позволяют одинаково хорошо програмировать в разных стилях. Присловутый С++ только декларирует мультипарадигмность. Большинство ФЯ ООП могут только эмулировать и то со скрипом. В Ява и Шарп ООП вмонтирован, так, что что-то другое уже и использовать то непривычно, хотя Шарп движется в правильном направлении (если говорить о 3.0).
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Так в чем же принципиальные отличия ФП от ИП?
От: VGn Россия http://vassilsanych.livejournal.com
Дата: 02.05.07 22:24
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Mamut, Вы писали:


M>>Ну почему же обязательно ООП?


VD>По определению.


M>>Хм. Что есть "проектирование на макро-уровне"?


VD>Этому вопросу посвящено не мало умных книг. Есть масса методик и подходов.


M>>Эрланг предлагает возможность упаковывать код в модули, приложения (OTP Applications) и библиотеки.


VD>Это механизмы абстрации С и Паскаля.


M>>Может, это Эрлангистам стоит говорить "нафига козе баян", говоря об ООП?


VD>Речь о том, что ФП не предлагает никаких средств проектирвоания отличных от структурного программирования известного со времен Алгола. Причем уже давно никто не спорит, что этих средств явно недостаточно для проектирования больших ситем.


VD>На мой взгляд напрашивается вывод — чистые ФЯ не имеют особого интереса на пракике. Нужны гибридные языки позволяющие возсопльзоваться премуществами всех подходов.


Хотя как вариант:
может, просто никто не подходил профессионально к этой задаче, потому что с использованием ФП на данный момент не решаются задачи бизнес-уровня.
А задачи бизнес-уровня замечательно решаются при нынешнем подходе и в ФП на макро уровне необходимости нет.
Опять же: методологии переписывать, UML новой версии — много работы.
Замкнутый круг.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Re[12]: Так в чем же принципиальные отличия ФП от ИП?
От: deniok Россия  
Дата: 02.05.07 22:35
Оценка:
Здравствуйте, VGn, Вы писали:


VGn>Хотя как вариант:

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

А кто такой бизнес-уровень?
Это не он?
Re[5]: Так в чем же принципиальные отличия ФП от ИП?
От: VGn Россия http://vassilsanych.livejournal.com
Дата: 02.05.07 22:39
Оценка:
VD>Но тут возникает глобальнейшая проблема!
VD>Большинство современных языков программирования не позволяют одинаково хорошо програмировать в разных стилях. Присловутый С++ только декларирует мультипарадигмность. Большинство ФЯ ООП могут только эмулировать и то со скрипом. В Ява и Шарп ООП вмонтирован, так, что что-то другое уже и использовать то непривычно, хотя Шарп движется в правильном направлении (если говорить о 3.0).

Интересно, есть языки, в которых функциональные блоки используются в императивном коде по примеру паскалевских асемблерных вставок?
Было бы симпатичным решением, учитывая вышесказанное о макро и микро и плачи по поводу суперотимизирующих компиляторов.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Re[13]: Так в чем же принципиальные отличия ФП от ИП?
От: VGn Россия http://vassilsanych.livejournal.com
Дата: 02.05.07 22:50
Оценка:
D>А кто такой бизнес-уровень?
D>Это не он?

Типа того.
В скилах, как и отмечалось — Good understanding of C++ and OO design.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Re[13]: Так в чем же принципиальные отличия ФП от ИП?
От: VGn Россия http://vassilsanych.livejournal.com
Дата: 02.05.07 22:55
Оценка:
A>Эти проблемы есть у любой компонентной архитектуры с возможностью гибкой настройки (JobSystemJBOSS, JobSystemJMS и проблему отсутсвия какого-то компонента компилятор решить не сможет, максимум проверит корректность типов, что могут делать и аннотации + annotation processor как часть компилятора)

Это уже имхо проблема высоких уровней абстракции. Точнее их отсутствия.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Re[14]: Так в чем же принципиальные отличия ФП от ИП?
От: deniok Россия  
Дата: 02.05.07 23:00
Оценка:
Здравствуйте, VGn, Вы писали:

D>>А кто такой бизнес-уровень?

D>>Это не он?

VGn>Типа того.

VGn>В скилах, как и отмечалось — Good understanding of C++ and OO design.

Угу. Между коммуникабельностью и знакомстовом с Excell.
Re[12]: Так в чем же принципиальные отличия ФП от ИП?
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.05.07 23:07
Оценка:
Здравствуйте, VGn, Вы писали:

Большая просба так не оврквотить.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Так в чем же принципиальные отличия ФП от ИП?
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.05.07 23:07
Оценка: -1
Здравствуйте, VGn, Вы писали:

VGn>Хотя как вариант:

VGn>может, просто никто не подходил профессионально к этой задаче, потому что с использованием ФП на данный момент не решаются задачи бизнес-уровня.

Решаются, но еденицами. Тот же Пол Грэхем делал Интернет-магазины.

VGn>А задачи бизнес-уровня замечательно решаются при нынешнем подходе и в ФП на макро уровне необходимости нет.

VGn>Опять же: методологии переписывать, UML новой версии — много работы.
VGn>Замкнутый круг.

Мне кажется все еще банальнее. Все упирается в три фактора:
1. Человеческая лень.
2. Человеческая глупость.
3. Человеческая трусость.

Люди ленятся изучить новое.
Люди настолько глупы чтобы отстаивать совершенно абсурдные и глупые суждения и мысли.
Люди боятся использовать новое, так как могут потерять гипотетические приемущества старого.

Например, я сталкнулся с нешуточным сопротивлением просто потому, что язык не поддерживается мега-корпорацией вроде МС или Сана. И этих людей можно понять.
Так же я сто раз нарывался на высассанные из пальца утверждения.
С ФП все усложняется практически полным отсуствие учебных материалов приемлемого качества. То что есть нассчитано или на людей с серьезным мат. образованием, или вообще никуда не годятся. Вещей класса "The C programming language" я не видел во все.

В общем, есть два лагера представители которых практически ничего не знают о другом лагере. Есть много фанатизма и откровенной некомпетенции. Причем ни у кого нет даже малейшего желания устранять эти проблемы.
Те не многие кто хорошо разбирается в особенностях обоих лагерей и достаточно адекватен, чтобы не вподать в религиозные оргии одного из лагерей просрто не могут ничего исправить, так как нарываются на серьезное сопротивление по перечисленным причинам. Потыркавшись мноие из них просто бросают это знятие.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Так в чем же принципиальные отличия ФП от ИП?
От: VGn Россия http://vassilsanych.livejournal.com
Дата: 02.05.07 23:10
Оценка:
VGn>>Типа того.
VGn>>В скилах, как и отмечалось — Good understanding of C++ and OO design.

D>Угу. Между коммуникабельностью и знакомстовом с Excell.


Ещё там кого-то чему-то надо учить и кому-то в чём-то помогать.
Очевидно задачи довольно мелкие.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Re[13]: Так в чем же принципиальные отличия ФП от ИП?
От: VGn Россия http://vassilsanych.livejournal.com
Дата: 02.05.07 23:20
Оценка:
VD>В общем, есть два лагера представители которых практически ничего не знают о другом лагере. Есть много фанатизма и откровенной некомпетенции. Причем ни у кого нет даже малейшего желания устранять эти проблемы.
VD>Те не многие кто хорошо разбирается в особенностях обоих лагерей и достаточно адекватен, чтобы не вподать в религиозные оргии одного из лагерей просрто не могут ничего исправить, так как нарываются на серьезное сопротивление по перечисленным причинам. Потыркавшись мноие из них просто бросают это знятие.

Мне это видится немного подругому:
лагерь бизнеса вообще не знает о других возможностях.
лагерь науки вообще не знает о реальных бизнес-задачах (скучать они начинают раньше чем дойдут до интересного)
Поэтому эти 2 лагеря практически не пересекаются.
А религиозные войны в форумах — это имхо случайные пересечения скучающих личностей с целью просто повоевать на какую-либо тему. Или крики веб-программистов, которые не смыслят ни в том, ни в другом.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Re[15]: Так в чем же принципиальные отличия ФП от ИП?
От: VGn Россия http://vassilsanych.livejournal.com
Дата: 02.05.07 23:24
Оценка:
D>>>Это не он?

VGn>>Типа того.


Немного ошибся (с первого раза не очень внимательно посмотрел).
Я имел в виду системы по типу системы, разрабатываемой тысячей разработчиков + сотня архитекторов + сотня аналитиков + толпы манагеров и другого сброда. С соответствующей архитектурой.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Re[4]: Так в чем же принципиальные отличия ФП от ИП?
От: граммофон  
Дата: 02.05.07 23:31
Оценка:
Здравствуйте, VGn, Вы писали:

VGn>Но имхо функция совершенно не канает, как макро-сущность в нематематических задачах.


О как. Это почему?
Или я, видимо, не совсем верно понял что понимается под функцией.
Как вижу я, функция — это как раз-таки сущность самого верхнего уровня; любой софт характеризуется в первую очередь своей функциональностью. То есть максимально абстрактное определение будет туплом из функций (f: X -> Y, ...) между входными данными и ожидаемым результатом. Потом f = f_1 * f_2 * .. * f_n и так далее.
Структуры данных вообще ортогональны функциональной декомпозиции и прямого влияния на результат не оказывают. А непосредственно ФП подходит к проектированию не созданием универсальных структур данных, а созданием универсальных функций. И вместо того, чтобы делать расширяемые данные, делают расширяемые отображение данных в необходимую форму.
прежде чем понять рекурсию, необходимо понять рекурсию.
Re[16]: Так в чем же принципиальные отличия ФП от ИП?
От: deniok Россия  
Дата: 02.05.07 23:35
Оценка:
Здравствуйте, VGn, Вы писали:

VGn>>>Типа того.

VGn>>>В скилах, как и отмечалось — Good understanding of C++ and OO design.

D>>Угу. Между коммуникабельностью и знакомстовом с Excell.


VGn>Ещё там кого-то чему-то надо учить и кому-то в чём-то помогать.

VGn>Очевидно задачи довольно мелкие.

Ага. Мелкая задача управления финансами Credit Suisse Там сидят высоколобые математики, генерящие идеи и модели и надо эти модели уметь быстренько воплощать в код. Вот этот DSL для них, похоже, и делается.
Re[15]: Так в чем же принципиальные отличия ФП от ИП?
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.05.07 23:39
Оценка: +1
Здравствуйте, deniok, Вы писали:

D>Угу. Между коммуникабельностью и знакомстовом с Excell.


А ты думаешь, что это не важно? По-твоему, важно только кнопки нажимать уметь?

Кому ты нужен в большом проекте если не умешь в Ёкселе табличку слабать с отчеом и не в силах договриться с товарищами и начальством о том, что и как ты будешь делать?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Так в чем же принципиальные отличия ФП от ИП?
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.05.07 23:39
Оценка:
Здравствуйте, VGn, Вы писали:

VGn>Интересно, есть языки, в которых функциональные блоки используются в императивном коде по примеру паскалевских асемблерных вставок?


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

По сути, писать фукнционально можно на любом ЯП.

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

Все что унжно для поддержки ИП — это изменяемые переменные.

Так что нет проблем в создании гибридных языков. И таких языков уже не мало.
Проблема только в сознании людей и догмах. Тут найдется не мало фанатиков которые будут плеваться при певрвом упоминании модификации состояния. А простой довод, что любой вод-вывод (как консольный, так и графический) — это императивное действие сразу вызвает взрыв флуда и флэйма. Тебе сразу начинают объяснять, что ты неумешь смореть на мир. Что, мол, достаточно ввести левую переменную "мир" и все проблемы проходят. Мол каждый вод-вывод создает новый мир .
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.