Примры реального прменния
От: kliff Россия http://www.esignal.ru
Дата: 25.10.05 20:18
Оценка:
Кто знает примеры реальныого применения ФП в коммерческих проектах?
Слышал про АвтоКАД и кусок на йаху кажется на лиспе написан
Re: Примры реального прменния
От: DrDred Россия  
Дата: 26.10.05 06:38
Оценка: 4 (1)
Здравствуйте, kliff, Вы писали:

K>Кто знает примеры реальныого применения ФП в коммерческих проектах?

K>Слышал про АвтоКАД и кусок на йаху кажется на лиспе написан

Ну например можно посмотреть здесь
http://www.erlang-projects.org/Public/success_stories
http://www.haskell.org/practice.html
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
--
WBR, Alexander
Re[2]: Примры реального прменния
От: kliff Россия http://www.esignal.ru
Дата: 26.10.05 09:14
Оценка:
Здравствуйте, DrDred, Вы писали:

DD>Ну например можно посмотреть здесь

DD>http://www.erlang-projects.org/Public/success_stories
Область достаточно специфичная.

DD>http://www.haskell.org/practice.html

Это больше исследования нежели коммерчерские проекты, хотя есть и исключения.

Меня интересует не использование в сепцифичных областях, а полноценная замена императивных языков. Я работаю на С++ и чувствую что делаю значительно больше работы чем можно было бы. Насколько я понимаю функц. языки по скорости исполнения уже в затылок дышат императивным, в то время как скорость разработка там очень высокая. В связи с этим и возник вопрос — кто-нибудь уже видел реальное колммерческое применение ФП?
Re: Примры реального прменния
От: Mamut Швеция http://dmitriid.com
Дата: 26.10.05 09:28
Оценка:
Здравствуйте, kliff, Вы писали:

K>Кто знает примеры реальныого применения ФП в коммерческих проектах?

K>Слышал про АвтоКАД и кусок на йаху кажется на лиспе написан

По Лиспу читать здесь: http://www.franz.com/success/


dmitriid.comGitHubLinkedIn
Re[3]: Примры реального прменния
От: DrDred Россия  
Дата: 26.10.05 09:33
Оценка:
Здравствуйте, kliff, Вы писали:

DD>>Ну например можно посмотреть здесь

DD>>http://www.erlang-projects.org/Public/success_stories
K>Область достаточно специфичная.

DD>>http://www.haskell.org/practice.html

K>Это больше исследования нежели коммерчерские проекты, хотя есть и исключения.

K>Меня интересует не использование в сепцифичных областях, а полноценная замена императивных языков. Я работаю на С++ и чувствую что делаю значительно больше работы чем можно было бы. Насколько я понимаю функц. языки по скорости исполнения уже в затылок дышат императивным, в то время как скорость разработка там очень высокая. В связи с этим и возник вопрос — кто-нибудь уже видел реальное колммерческое применение ФП?


Ну, думаю более опытные товарищи смогут дать больше ссылок по этой теме...
В процессе поиска наткнулся еще на такую вот ссылку http://www.galois.com/cufp/
Цитата оттуда

This year, we have the following confirmed speakers:

* Atrijus Tang; talking about PUGS, a Perl6 implementation, written in Haskell;
* Fabrice Le Fessant; talking about MLDonkey, a popular multi-platform, multi-network P2P client written in OCaml.
* Michael Sperber; talking about uses of Scheme in the banking industry.
* David Roundy; talking about darcs, a popular and flexible revision control system well-suited to highly distributed development, written in Haskell.
* Jim Grundy; talking his experiences with functional programming at Intel's Strategic CAD Labs.
* Robert Boone; talking about his experiences at Freescale.
* Jonathan Soebel; talking about lessons the FP community can learn from the OMG's Model Driven Architecture (MDA) and its related marketing efforts.
* Francesco Cesarini; of Erlang Training and Consulting Ltd., talking about his experiences using, teaching, and supporting the concurrent functional language Erlang.


Там же http://www.galois.com/cufp/CUFP-2004-Report.pdf , краткие мысли про место FP в текущей жизни...

Т.е. резюмируя, некоторые проекты есть, работы ведутся, но останавливает недостаточность библиотек, а также то, что весь мир вокруг — сплошь императивный, и взаимодействовать успешно с ним тяжело...
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
--
WBR, Alexander
Re[2]: Примры реального прменния
От: DrDred Россия  
Дата: 26.10.05 09:33
Оценка:
Здравствуйте, Mamut, Вы писали:

K>>Кто знает примеры реальныого применения ФП в коммерческих проектах?

K>>Слышал про АвтоКАД и кусок на йаху кажется на лиспе написан

M>По Лиспу читать здесь: http://www.franz.com/success/


А еще можно посмотреть на Emacs
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
--
WBR, Alexander
Re[3]: Примры реального прменния
От: DrDred Россия  
Дата: 26.10.05 09:46
Оценка:
Здравствуйте, kliff, Вы писали:

K>Меня интересует не использование в сепцифичных областях, а полноценная замена императивных языков. Я работаю на С++ и чувствую что делаю значительно больше работы чем можно было бы. Насколько я понимаю функц. языки по скорости исполнения уже в затылок дышат императивным, в то время как скорость разработка там очень высокая. В связи с этим и возник вопрос — кто-нибудь уже видел реальное колммерческое применение ФП?


Вот еще, выцеплено из рассылки по OCaml
http://sardes.inrialpes.fr/~aschmitt/cwn/2003.09.23.html

Some of the readers of this list may have noticed that I use
the term "commercial" a lot. The reason is that I use Ocaml
to create commercial software.

ExcelEverywhere is shrink-wrap software.
A single license cost $99-$149.
All income comes from licenses.
Consulting is not a big source of income.


Why Ocaml?
— When it compiles, it works
— If it doesn't work, ocamldebug with back step will find the
problem quickly
— Very few bugs in the implementation of Ocaml

Advantages
— Small run-time size and small memory foot-print
— Fast enough so that over-optimizations isn't needed.
Good practices like using sets instead of lists etc is enough
— Runs on Windows 98 and upwards (There are a lot of Windows 98
out there!)


Disadvantage
— 8-bits strings.
UNICODE is needed and the standard for .NET, Java, Ruby...
— Few libraries
— Even fewer libraries that easily can be used on Win32
In order to reduce Win32-related problems, only the standard
distribution and libraries completely written in Ocaml are used.
— Few libraries that can be used freely in non-open-source
commercial software

...

What does ExcelEverywhere do?

Good-looking calculating web page from Excel
140 functions supported. No Excel needed on server.
Use it for expense report, survey, order forms, reservation
forms, employment application, financial advisor,
ROI-calculator, engineering.

ExcelEverywhere currently exists in 4 flavors:

— ExcelEverywhere for HTML
Convert it to HTML with embedded JavaScript to handle the calculations.
— ExcelEverywhere for Java/JSP
Good-looking calculating JSP-page from Excel.
Separate JavaBean with full source.
— ExcelEverywhere for ASP & ASP.NET
Code-behind module in C# and VB.NET for backend-integration.
— ExcelEverywhere for Java phones
Custom calculators in your mobile phone.


Is ExcelEverywhere a commercial success?

Not yet. Since October 2002, 500 licenses have been sold. However,
marketing is a big cost. Today, developing the application
is the easy part, finding customers is much harder and costlier.

... << RSDN@Home 1.1.4 beta 6a rev. 436>>
--
WBR, Alexander
Re[3]: Примры реального прменния
От: Gaperton http://gaperton.livejournal.com
Дата: 26.10.05 11:47
Оценка: 46 (6)
Здравствуйте, kliff, Вы писали:

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


DD>>Ну например можно посмотреть здесь

DD>>http://www.erlang-projects.org/Public/success_stories
K>Область достаточно специфичная.
А Эрланг вообще язык довольно специфический. Но коммерческого софта на нем написано на данный момент больше, чем на любом другом функциональном языке.

Из того, что я знаю:
1) Все успешные телекомовские проекты Эрикссон за последние 7 лет созданы на Erlang. Среди них — лидер рынка AXD301, самый быстрый, масштабируемый, надежный и функциональный ATM soft-switch из всех, когда либо выпускавшихся Ericsson. Об этом проекте написано в отчете — это первый проект на Erlang.
2) Bluetail — делали масштабируемый отказоустойчивый кластер мэйл-серверов. Только Erlang. Учредитель — Джо Армстронг, один из авторов Erlang. Компания куплена Nortel-ом.
3) Nortel. Alteon SSL Accelerator. Ну очень коммерчески успешный продукт.
4) И, конечно же, Synapse — замечательная компания, продающая решения для GSM операторов. В данный момент, их решения куплены операторами по всему миру, в том числе и в России. Исключение состовляют Австралия и США. В компании 70 сотрудников. Вся разработка на Erlang. Только трое их этих 70 человек не пишут код. Один из соучредителей — исполнительный директор Пер Берквист, в прошлом — один из ведущих инженеров Ericsson, разработчик эрикссоновского стека WAP. Не так давно Берквист приезжал в Москву, и мы пили с ним пивко в "пяти оборотах", и как раз на эти темы беседовали. Приглашали, кстати, всех желающих, но пришли только я и мой друг АПВС.
5) Большое количество компаний применяют Erlang для внутреннних нужд. Среди них американские операторы сотовой связи — те, которым Берквист не смог продать свои решения , наш конкурент futuresource, и многие другие. Да вот — тут недавно на форуме человек признался, что они ведут разработку на Erlang в россии.

Дело в том, что не все говорят о том, что используют Erlang/OTP. И уж конечно, не станут рассказывать детали — ведь применение Erlang дает конкурентное преимущество. Взять, например, моих знакомых их futuresource. Обрадовались как дети, увидев меня в мэйл-листе — "о", коворят, "парень, да мы с тобой в одном бизнесе ". Но заметьте! Дружба дружбой, а табачок врозь. О подробностях применения Erlang у себя в компании молчат как рыбы об лед — конкуренты .

K>Меня интересует не использование в сепцифичных областях, а полноценная замена императивных языков. Я работаю на С++ и чувствую что делаю значительно больше работы чем можно было бы. Насколько я понимаю функц. языки по скорости исполнения уже в затылок дышат императивным, в то время как скорость разработка там очень высокая.


Если нужен один язык на все случаи как замена С++ — то такой язык есть. И он, к сожалению, один, без вариантов — это OCaml. Я, разумеется, говорю о платформах, достаточно зрелых для того, чтобы вести промышленную разработку.

LISP — кандидат номер один в случае, если вы готовы пожертвовать производительностью в 2 раза по сравнению с С++. Как это ни странно, LISP — очень быстрый язык, по этой характеристике он одинаков с Java.

Еще в этом смысле неплох Haskell, но к нему есть ряд претензий. Причина моих к нему претензий — ленивая семантика вызова по умолчанию и монадный ввод-вывод. Из чего следует посредственная (по сравнению с С++) производительность, и, главное — невозможно предсказать производительность того или иного участка кода. Далее — монадные фокусы сложны для понимания, при этом код выглядит совершенно императивно, и работает медленно. С инженерной точки зрения предпочтительно сочетание строгой семантики вызова по умолчанию + честных императивных расширений — нечего людям мозги полоскать.

Далее. Сейчас набирает популярность другой подход — применяется пара языков, С/С++ и один медленный но высокоуровневый язык. Идея состоит в том, чтобы применять каждый язык там, где он хорош. Erlang + C++, LISP + C++, LUA + C++, Ruby + C++, Python + C++, и так далее.

K>В связи с этим и возник вопрос — кто-нибудь уже видел реальное колммерческое применение ФП?

Выше все сказано. Что касается окамла — вот, например: http://www.rsdn.ru/Forum/Message.aspx?mid=1352731&amp;only=1
Автор: Gaperton
Дата: 29.08.05
Re: Примры реального прменния
От: Mamut Швеция http://dmitriid.com
Дата: 26.10.05 12:45
Оценка: 3 (1)
Еще пример:

http://espen.vestre.net/eclm05/ev-ams-2005.pdf


dmitriid.comGitHubLinkedIn
Re[3]: Примры реального прменния
От: z00n  
Дата: 26.10.05 14:33
Оценка: :)
Здравствуйте, DrDred, Вы писали:

K>>>Кто знает примеры реальныого применения ФП в коммерческих проектах?

...
DD>А еще можно посмотреть на Emacs
Попробуй в emacs-devel запостить что-то вроде: "... Насколько мне известно, в вашем коммерческом редакторе применяется один из диалектов лисп..."
Re[4]: Примры реального прменния
От: kliff Россия http://www.esignal.ru
Дата: 26.10.05 14:42
Оценка:
Здравствуйте, Gaperton, Вы писали:

Подробно расписано, спасибо. А что насчет Clean? У них на сайте много написано про высокую скорость, я так понял он не сильно уступает С в этом отношении. Сам продукт вроде ничего — библитеки есть неплохие. К тому же кроссплатформенность на уровне перекомпиляции.
Re[4]: Примры реального прменния
От: _NT_  
Дата: 26.10.05 14:50
Оценка:
Здравствуйте, Gaperton, Вы писали:


G>А Эрланг вообще язык довольно специфический. Но коммерческого софта на нем написано на данный момент больше, чем на любом другом функциональном языке.


G>5) Большое количество компаний применяют Erlang для внутреннних нужд. Среди них американские операторы сотовой связи — те, которым Берквист не смог продать свои решения , наш конкурент futuresource, и многие другие. Да вот — тут недавно на форуме человек признался, что они ведут разработку на Erlang в россии.


G>Дело в том, что не все говорят о том, что используют Erlang/OTP. И уж конечно, не станут рассказывать детали — ведь применение Erlang дает конкурентное преимущество. Взять, например, моих знакомых их futuresource. Обрадовались как дети, увидев меня в мэйл-листе — "о", коворят, "парень, да мы с тобой в одном бизнесе ". Но заметьте! Дружба дружбой, а табачок врозь. О подробностях применения Erlang у себя в компании молчат как рыбы об лед — конкуренты .


Т.е. скоро и ваши HR'ы будут набирать людей имеющих опыт работы с Erlang?
Re[5]: Примры реального прменния
От: Gaperton http://gaperton.livejournal.com
Дата: 26.10.05 15:19
Оценка:
Здравствуйте, kliff, Вы писали:

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


K>Подробно расписано, спасибо. А что насчет Clean? У них на сайте много написано про высокую скорость, я так понял он не сильно уступает С в этом отношении.


Это правда. При правильном программировании он на равных с Microsoft C++ 6.0 — мы проверяли. Сделай поиск по форумам — увидишь.

K>Сам продукт вроде ничего — библитеки есть неплохие. К тому же кроссплатформенность на уровне перекомпиляции.

Масса претензий.
1) Маленькое и неактивное сообщество.
2) Не выходят maintanence releases.
3) Очень мало библиотек — по сравнению с Haskell и OCaml их нет вообще.
4) Отвратительное качество компилятора в плане количества ошибок — у меня он несколько раз падал в процессе написания простых программ.
5) Нет отладчика.

Сам язык мне при этом нравится. Но использовать его в промышленной разработке не рекомендовал бы.
О критериях можно почитать здесь.
http://www.softcraft.ru/paradigm/fp/whynotfp.shtml
Этим критериям на данный момент удовлетворяют: OCaml, LISP, Haskell, Erlang. Все.
Re[5]: Примры реального прменния
От: Gaperton http://gaperton.livejournal.com
Дата: 26.10.05 15:27
Оценка:
Здравствуйте, _NT_, Вы писали:

G>>Дело в том, что не все говорят о том, что используют Erlang/OTP. И уж конечно, не станут рассказывать детали — ведь применение Erlang дает конкурентное преимущество. Взять, например, моих знакомых их futuresource. Обрадовались как дети, увидев меня в мэйл-листе — "о", коворят, "парень, да мы с тобой в одном бизнесе ". Но заметьте! Дружба дружбой, а табачок врозь. О подробностях применения Erlang у себя в компании молчат как рыбы об лед — конкуренты .


_NT>Т.е. скоро и ваши HR'ы будут набирать людей имеющих опыт работы с Erlang?


Я работаю в нашей славной компании последнюю неделю. Так что — не будут
Re[6]: Примры реального прменния
От: _NT_  
Дата: 26.10.05 15:30
Оценка: +1
Здравствуйте, Gaperton, Вы писали:

_NT>>Т.е. скоро и ваши HR'ы будут набирать людей имеющих опыт работы с Erlang?


G>Я работаю в нашей славной компании последнюю неделю. Так что — не будут


Надеюсь на обновление твоего ЖЖ после уволнения
Re[7]: Примры реального прменния
От: Gaperton http://gaperton.livejournal.com
Дата: 26.10.05 15:46
Оценка:
Здравствуйте, _NT_, Вы писали:

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


_NT>>>Т.е. скоро и ваши HR'ы будут набирать людей имеющих опыт работы с Erlang?


G>>Я работаю в нашей славной компании последнюю неделю. Так что — не будут


_NT>Надеюсь на обновление твоего ЖЖ после уволнения


Хорошо, сделаем
Re[6]: Примры реального прменния
От: kliff Россия http://www.esignal.ru
Дата: 26.10.05 17:03
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Я работаю в нашей славной компании последнюю неделю. Так что — не будут


Случайно не к Берквисту поедешь?
Re[7]: Примры реального прменния
От: Gaperton http://gaperton.livejournal.com
Дата: 26.10.05 17:27
Оценка:
Здравствуйте, kliff, Вы писали:

G>>Я работаю в нашей славной компании последнюю неделю. Так что — не будут


K>Случайно не к Берквисту поедешь?


Не, я в Москве остаюсь. И вообще — область деятельности меняю. Теперь я ПМ, и заниматься буду микроэлектроникой. Но это уже оффтоп.
Re[4]: Примры реального прменния
От: DrDred Россия  
Дата: 27.10.05 05:12
Оценка:
Здравствуйте, z00n, Вы писали:

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


K>>>>Кто знает примеры реальныого применения ФП в коммерческих проектах?

Z>...
DD>>А еще можно посмотреть на Emacs
Z>Попробуй в emacs-devel запостить что-то вроде: "... Насколько мне известно, в вашем коммерческом редакторе применяется один из диалектов лисп..."

Мда, лажанулся по полной В моем мозгу, когда я писал этот пост, перещелкнуло "коммерческий" -> "использование в реальных проектах"...
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
--
WBR, Alexander
Re[2]: Еще немного Лиспа
От: Mamut Швеция http://dmitriid.com
Дата: 28.10.05 06:41
Оценка:
Allegro CL in NASA Pathfinder:

LISP at the Jet Propulsion Labs


dmitriid.comGitHubLinkedIn
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.