Кто-нибудь использует в своей работе (не в хобби) функциональное программирование? Причём, именно на функциональном языке (так-то конструкции функционального программирования есть в том же питоне). И в какой области функциональное программирование даёт выигрыш перед ООП?
Почему спрашиваю — заинтересовался этой областью, стал смотреть, где я смогу это применить. И получается, что писать какой-нибудь проект целиком на функциональном языке для меня нет смысла, а вот использовать для обработки данных конструкции от ФП для меня самое то. У кого как?
Здравствуйте, 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 (и, вообще говоря, может
с ней интегрироваться).