Кто-нибудь использует в своей работе (не в хобби) функциональное программирование? Причём, именно на функциональном языке (так-то конструкции функционального программирования есть в том же питоне). И в какой области функциональное программирование даёт выигрыш перед ООП?
Почему спрашиваю — заинтересовался этой областью, стал смотреть, где я смогу это применить. И получается, что писать какой-нибудь проект целиком на функциональном языке для меня нет смысла, а вот использовать для обработки данных конструкции от ФП для меня самое то. У кого как?
Здравствуйте, savia, Вы писали:
S>Здравствуйте, monax, Вы писали:
M>>Кто-нибудь использует в своей работе (не в хобби) функциональное программирование?
S>Активно используем Erlang/OTP для создания отказоустойчивой системы в области гражданской авиации. S>Функциональный подход неотделим от этой платформы.
А почему взяли эрланг, а не ту же Аду, которая для отказоустойчивых систем?
Re[3]: функциональное программирование. кто и где?
Здравствуйте, monax, Вы писали:
M>А почему взяли эрланг, а не ту же Аду, которая для отказоустойчивых систем?
Как компромисс между отказоустойчивостью (точнее, специализацией платформы для ее обеспечения )
и скоростью разработки (в тех условиях, которые были на момент принятия решения).
Здравствуйте, monax, Вы писали:
M>Кто-нибудь использует в своей работе (не в хобби) функциональное программирование?
Мелкие утилитки на Хаскелле делаю.
На F# пытался сделать тулзу для категорийного менеджмента, но пока возился с GUI (редактора форм нет) и разбирался с sqlite, проект свернули, решили -- пусть оракловцы делают, когда внедрять нам своё решение (что-то там для управления торговлей на оракл + 1С) будут.
Здравствуйте, monax, Вы писали:
M>Кто-нибудь использует в своей работе (не в хобби) функциональное программирование? Причём, именно на функциональном языке (так-то конструкции функционального программирования есть в том же питоне). И в какой области функциональное программирование даёт выигрыш перед ООП?
M>Почему спрашиваю — заинтересовался этой областью, стал смотреть, где я смогу это применить. И получается, что писать какой-нибудь проект целиком на функциональном языке для меня нет смысла, а вот использовать для обработки данных конструкции от ФП для меня самое то. У кого как?
Пишу на Хаскель прототипы и утилиты. В основной код Хаскель не идёт, потому что использую его только я.
Re[2]: функциональное программирование. кто и где?
Здравствуйте, savia, Вы писали:
S>Активно используем Erlang/OTP для создания отказоустойчивой системы в области гражданской авиации.
А можно подробности, если не секрет? Можно без имен. Хотелось бы узнать о функциональности и масштабах. А так же как пришли к такому, какие раньше варианты использовали и чем они не устроили. Думаю будет всем интересно узнать.
Re[2]: функциональное программирование. кто и где?
Здравствуйте, savia, Вы писали:
S>Здравствуйте, monax, Вы писали:
M>>Кто-нибудь использует в своей работе (не в хобби) функциональное программирование?
S>Активно используем Erlang/OTP для создания отказоустойчивой системы в области гражданской авиации. S>Функциональный подход неотделим от этой платформы.
. Вы разрабатываете бортовые навигационные системы? Железо разрабатываете сами или просто программируете? Какая платформа, что за ОС, как себя Erlang чувствует в embedded?
Re[3]: функциональное программирование. кто и где?
. Вы разрабатываете бортовые навигационные системы? Железо разрабатываете сами или просто программируете? Какая платформа, что за ОС, как себя Erlang чувствует в embedded?
Здравствуйте, monax, Вы писали:
M>Кто-нибудь использует в своей работе (не в хобби) функциональное программирование? Причём, именно на функциональном языке (так-то конструкции функционального программирования есть в том же питоне).
Я в работе регулярно пользуюсь анализатором логов и компилятором, которые написал на Окамле. Плюс небольшие утилиты на нем же. Сгенеренный компилятором байткод используется уже в конечных продуктах.
Здравствуйте, monax, Вы писали:
M>Кто-нибудь использует в своей работе (не в хобби) функциональное программирование?
У меня написан и продан в кучу городов продукт электронный документооборот уровня города ( Паспортный стол ). Сервер в нем на Erlang, слиент написан на TCL/TK.
Были написаны отдельные задачи для промышленной телеметрии на Erlang и сейчас делаю реализацию полностью на нем, кроме драйверов.
Re[2]: функциональное программирование. кто и где?
Здравствуйте, gandalfgrey, Вы писали:
G>Здравствуйте, monax, Вы писали:
M>>Кто-нибудь использует в своей работе (не в хобби) функциональное программирование?
G>У меня написан и продан в кучу городов продукт электронный документооборот уровня города ( Паспортный стол ). Сервер в нем на Erlang, слиент написан на TCL/TK. G>Были написаны отдельные задачи для промышленной телеметрии на Erlang и сейчас делаю реализацию полностью на нем, кроме драйверов.
О, какие люди
А про "реализацию" — речь про телеметрию же?
Продукты штучные или можно что-то купить?
И про твой опыт с Erlang интересно — о нём есть где-нибудь инфа кроме RSDN? (было бы круто в ПФП статейку, конечно)
Re[3]: функциональное программирование. кто и где?
F>Хотелось бы узнать о функциональности и масштабах. А так же как пришли к такому, какие раньше варианты использовали и чем они не устроили.
F>Нашел вот это
. Вы разрабатываете бортовые навигационные системы? Железо разрабатываете сами или просто программируете? Какая платформа, что за ОС, как себя Erlang чувствует в embedded?
Оно самое (BTW, актуально). Нет, мы разрабатываем наземные часта навигационных систем, включая и железо. Термин embedded к ним не вполне применим, но Эрланг чувствует себя отлично, спасибо
Функциональность — обработка нескольких потоков бинарных данных и формирование выходного, резервирование и другие, вторичные, вещи. Архитектура хорошо ложится на message-passing, возможности,
предоставляемые binaries тоже сыграли свою роль. Раньше использовали традиционный для отрасли подход, чистый C. Что в нем может не устраивать, обсуждали в холиворах бессчетное число раз, не буду
начинать. Могу, правда, добавить, что некоторые вычислительные процедуры реализованы на С++.
Здравствуйте, Курилка, Вы писали:
К>О, какие люди
"Это я, это я — вылез из небытия !" (с) 8)))
К>А про "реализацию" — речь про телеметрию же?
Ну да. И требования как раз подходят для Ерланга /ОТП — масштабируемость, 15 минут простоя в квартал. Ну, и простота поддержки и модификации, конечно.
К>Продукты штучные или можно что-то купить?
Паспортный стол — мелкотиражный, но требует существенной наладческой работы — подготовка базы города, адаптация ОпенОфисных шаблонов под местные условия и т.д. Короче говоря, работы от 3 дней до пары недель для каждого заказчика
С сервером телеметрии несколько иначе — там производится обследование заказчика, выбор решения, построение конфигурации — а это уже месяцы в сложных случаях. К>И про твой опыт с Erlang интересно — о нём есть где-нибудь инфа кроме RSDN? (было бы круто в ПФП статейку, конечно)
С телеметрией — даже не знаю, там куча подписок, да и 1-ые отделы кой-каких предприятий не спят ( имею в виду оборонку ). Про документооборот что-то выкладывалось, но это чисто рекламные материалы. Статейку не напишу, но внятное описание подготовлю через пару недель.
Здравствуйте, monax, Вы писали:
M>Кто-нибудь использует в своей работе (не в хобби) функциональное программирование? Причём, именно на функциональном языке (так-то конструкции функционального программирования есть в том же питоне). И в какой области функциональное программирование даёт выигрыш перед ООП?
M>Почему спрашиваю — заинтересовался этой областью, стал смотреть, где я смогу это применить. И получается, что писать какой-нибудь проект целиком на функциональном языке для меня нет смысла, а вот использовать для обработки данных конструкции от ФП для меня самое то. У кого как?
Здравствуйте, savia, Вы писали:
S>мы разрабатываем наземные часта навигационных систем, включая и железо.
Не примите за наезд. Я вот человек крестьянский... Тоже раньше занимался навигацией. Автономной. Есть банка. Она перемещается в пространстве. В ней куча датчиков (акселерометры, магнетометры и пр.). С них снимаются показания в реальном времени. Сняли одно — алгоритмически обработали, дали на выход набор данных (углы, координаты и т.п.). Сняли второе — обработали, на выход. И т.д. Алгоритм обработки очень сложный и в реализации, и математически. Зачем там Erlang прикручивать, мне не понятно.
Можете немного конкретизировать (по моему примеру) в простых терминах своё использование Erlang'а?
Re[5]: функциональное программирование. кто и где?
Здравствуйте, dikun, Вы писали:
> Зачем там Erlang прикручивать, мне не понятно.
К бортовой банке с инерциалкой прикручивать Эрланг, конечно, некуда. А у нас банки наземные, никуда не летят,
но они распределены по аэропорту и отдают данные по цифровым каналам. Все это собирается и обрабатывается во много
потоков. А углы вырабатывает ответная аппаратура на борту. Она больше похожа на INS (и, вообще говоря, может
с ней интегрироваться).
Re: функциональное программирование. кто и где?
От:
Аноним
Дата:
09.12.10 17:09
Оценка:
Здравствуйте, monax, Вы писали:
M>Кто-нибудь использует в своей работе (не в хобби) функциональное программирование?
Работаю в одном стартапе (США), основной язык — Хаскель. Используем его и для обработки данных, и для веба.
Re[6]: функциональное программирование. кто и где?
S>А у нас банки наземные, никуда не летят, S>но они распределены по аэропорту и отдают данные по цифровым каналам.
ОК. Банки наземные. Никуда не летят. И в чём тогда назначение этих банок, кроме того, что они отдают данные?
Erlang нужен именно для обработки этих данных с наземных банок?
Re[6]: функциональное программирование. кто и где?
Здравствуйте, savia, Вы писали:
S>К бортовой банке с инерциалкой прикручивать Эрланг, конечно, некуда. А у нас банки наземные, никуда не летят, S>но они распределены по аэропорту и отдают данные по цифровым каналам. Все это собирается и обрабатывается во много S>потоков. А углы вырабатывает ответная аппаратура на борту. Она больше похожа на INS (и, вообще говоря, может S>с ней интегрироваться).
Хотел еще уточнить, ваш последний комментарий ввел в заблуждение. Сначала я думал, что вы разрабатываете ATC. А оказывается, что ILS?
Re[7]: функциональное программирование. кто и где?
Здравствуйте, frontsquat, Вы писали:
F>Хотел еще уточнить, ваш последний комментарий ввел в заблуждение. Сначала я думал, что вы разрабатываете ATC. А оказывается, что ILS?
Здравствуйте, dikun, Вы писали:
D>ОК. Банки наземные. Никуда не летят. И в чём тогда назначение этих банок, кроме того, что они отдают данные? D>Erlang нужен именно для обработки этих данных с наземных банок?
Какие-то отдают (в основном, это спутниковые приемники), какие-то принимают. Да, Эрланг нужен именно для этого,
а также для обеспечения резервирования и прочего, включая даже инструменты удаленного контроля aka GUI.
Re[8]: функциональное программирование. кто и где?
Здравствуйте, savia, Вы писали:
S>Здравствуйте, dikun, Вы писали:
D>>ОК. Банки наземные. Никуда не летят. И в чём тогда назначение этих банок, кроме того, что они отдают данные? D>>Erlang нужен именно для обработки этих данных с наземных банок?
S>Какие-то отдают (в основном, это спутниковые приемники), какие-то принимают. Да, Эрланг нужен именно для этого, S>а также для обеспечения резервирования и прочего, включая даже инструменты удаленного контроля aka GUI.
для гуя используете tk? или веб-морду?
Re[8]: функциональное программирование. кто и где?
Здравствуйте, monax, Вы писали:
M>Кто-нибудь использует в своей работе (не в хобби) функциональное программирование? Причём, именно на функциональном языке (так-то конструкции функционального программирования есть в том же питоне). И в какой области функциональное программирование даёт выигрыш перед ООП?
Erlang. Мониторинг, управление в реальном времени (единицы секунд).
Выигрыш не собственно в ФП, а в наборе возможностей, которые сложно реализуются иначе: например, замена кода без остановки приложения или даже части.
The God is real, unless declared integer.
Re[2]: функциональное программирование. кто и где?
Здравствуйте, netch80, Вы писали:
N>Здравствуйте, monax, Вы писали:
M>>Кто-нибудь использует в своей работе (не в хобби) функциональное программирование? Причём, именно на функциональном языке (так-то конструкции функционального программирования есть в том же питоне). И в какой области функциональное программирование даёт выигрыш перед ООП?
N>Erlang. Мониторинг, управление в реальном времени (единицы секунд).
А управление и мониторинг чего? Или это подпадает под NDA?
Re[3]: функциональное программирование. кто и где?
Здравствуйте, Курилка, Вы писали:
M>>>Кто-нибудь использует в своей работе (не в хобби) функциональное программирование? Причём, именно на функциональном языке (так-то конструкции функционального программирования есть в том же питоне). И в какой области функциональное программирование даёт выигрыш перед ООП?
N>>Erlang. Мониторинг, управление в реальном времени (единицы секунд).
К>А управление и мониторинг чего? Или это подпадает под NDA?
Вычислительных кластеров и прочих HPC установок
The God is real, unless declared integer.
Re[9]: функциональное программирование. кто и где?
Здравствуйте, savia, Вы писали:
S>Здравствуйте, Курилка, Вы писали:
К>>для гуя используете tk? или веб-морду?
S>Для гуя используется Qt cо встроенным C Node. Для новых разработок того же типа, наверное, будет wxWidgets.
Т.е. с C перейдёте на гуй на эрланге?
Re[11]: функциональное программирование. кто и где?
Здравствуйте, Курилка, Вы писали:
S>>Для гуя используется Qt cо встроенным C Node. Для новых разработок того же типа, наверное, будет wxWidgets.
К>Т.е. с C перейдёте на гуй на эрланге?
Вероятно. Надо его покрутить и помучить более серьезным образом.
Re[12]: функциональное программирование. кто и где?
Здравствуйте, savia, Вы писали:
S>Здравствуйте, Курилка, Вы писали:
S>>>Для гуя используется Qt cо встроенным C Node. Для новых разработок того же типа, наверное, будет wxWidgets.
К>>Т.е. с C перейдёте на гуй на эрланге?
S>Вероятно. Надо его покрутить и помучить более серьезным образом.
Интересно было бы услышать о итоговых впечатлениях, я вот пока реалистичнее вижу "веб-морду" в качестве erlang-GUI, но былоб услышать опровержение.
А вообще о промышленной эксплуатации эрланга в ПФП не найдётся времени/желания засветиться?
Здравствуйте, monax, Вы писали:
M>Кто-нибудь использует в своей работе (не в хобби) функциональное программирование? Причём, именно на функциональном языке (так-то конструкции функционального программирования есть в том же питоне). И в какой области функциональное программирование даёт выигрыш перед ООП?
M>Почему спрашиваю — заинтересовался этой областью, стал смотреть, где я смогу это применить. И получается, что писать какой-нибудь проект целиком на функциональном языке для меня нет смысла, а вот использовать для обработки данных конструкции от ФП для меня самое то. У кого как?
участвую в разработке WebSharper — F# практически везде.
Re[13]: функциональное программирование. кто и где?
Здравствуйте, Курилка, Вы писали:
К>Интересно было бы услышать о итоговых впечатлениях, я вот пока реалистичнее вижу "веб-морду" в качестве erlang-GUI, но былоб услышать опровержение.
GUI обновляется в реальном времени и довольно загруженный, в перспективе вплоть до 3D, с Qt как-то спокойнее.
К>А вообще о промышленной эксплуатации эрланга в ПФП не найдётся времени/желания засветиться?
В области теоретических изысканий нам пока доложить нечего, а алгоритмическую часть запрещает NDA. Будет ли уважаемому All
интересно лишь общее описание архитектуры?
Re[14]: функциональное программирование. кто и где?
Здравствуйте, savia, Вы писали:
S>Здравствуйте, Курилка, Вы писали:
К>>Интересно было бы услышать о итоговых впечатлениях, я вот пока реалистичнее вижу "веб-морду" в качестве erlang-GUI, но былоб услышать опровержение.
S>GUI обновляется в реальном времени и довольно загруженный, в перспективе вплоть до 3D, с Qt как-то спокойнее.
ну сейчас веб уже что только не может (если, конечно, отображать не на 286-м каком), но нативное оно, конечно, нативное
К>>А вообще о промышленной эксплуатации эрланга в ПФП не найдётся времени/желания засветиться?
S>В области теоретических изысканий нам пока доложить нечего, а алгоритмическую часть запрещает NDA. Будет ли уважаемому All S>интересно лишь общее описание архитектуры?
а) журнал называется "Практика функционального программирования", правда в среднем теории многовато выходит пока на мой взгляд
б) архитектура имхо интересна в первую очередь, т.е. было бы замечательно, если бы можно было явно увидеть, что дал эрланг для вашего решения, ну и какие-то общие подходы к построению систем (закрывая части подпадающие под NDA некими общими фразами)
Re[3]: функциональное программирование. кто и где?
Здравствуйте, Курилка, Вы писали:
К>Если не секрет, а основной код на чём?
Где-то C++, где-то C#.
Интрепретатор, а соот-но возможность проверять работоспособность по мере разработки, — жирный плюс. Пересобирать всё и/или писать небольшие тестовые проекты не радует.
Re[2]: функциональное программирование. кто и где?
Здравствуйте, desco, Вы писали:
D>участвую в разработке WebSharper — F# практически везде.
Сорри за офтоп, но чем реально отличается WebSharper Professional от WebSharper Standard? Можно где-то увидеть таблицу различий, что было допилено, какие новые фичи появились?