Автор Тема: [Haskell] Промышленный взгляд  (Прочитано 3311 раз)

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
[Haskell] Промышленный взгляд
« : Сентябрь 20, 2013, 12:19:06 pm »
Haskell в продакте: Отчёт менеджера проекта

Цитата: amarao
...
Продакт в коммерческом проекте — это не в маленькая песочница «для себя», не в академический эксперимент в области Computer Science. Это бесконечная борьба за «линию партии», когда вокруг ад, ужас и погибель, а оно всё равно должно рабоать. Int64 в XML-RPC кодируется строкой (потому что int'ы в XML-RPC signed int32), openssl при чтении нескольких сертификатов из файла читает только первый из них, в bool надо писать либо «1», либо «0», но иногда — «2», ибо только так придумали закодировать третий режим — и т.д. и т.п. В этих условиях требования к языку постепенно перерастают в требования к его экосистеме, инфраструктуре, готовности адаптироваться к реальному миру.

Я буду писать о Haskell с позиций product owner'а, менджера проекта, системного администратора, но никак не программиста. Так что не ожидайте от меня задушевных восторгов о том, как изящно через монадки можно сделать семигрупоид и как здорово выводить типы через типы с помощью типов.

 С точки зрения менеджера проекта язык программирования оценивается по нескольким метрикам, совершенно отличными от программистских. Для программиста язык и его особенности — едва ли не самая важная вещь, так как именно с ним он проводит большую часть времени. Для остальных членов команды куда важнее происходящее за пределами исходного текста. Сначала это поиск библиотек и подходящих технологий, потом задачи сопровождения, мониторинга, внедрения и отладки.
...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [Haskell] Промышленный взгляд
« Ответ #1 : Сентябрь 20, 2013, 12:49:07 pm »
Любимая цитата из текста:
Цитировать
Питон, как и любой другой динамически типизированный язык — это сплошная мина замедленного действия.
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [Haskell] Промышленный взгляд
« Ответ #2 : Сентябрь 20, 2013, 12:52:04 pm »
Цитировать
факт: пол-часа на сборку проекта. На весьма нехилом железе с кучей ядер и сверхбыстрой СХД снизу.
Привет С++! :-D
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: [Haskell] Промышленный взгляд
« Ответ #3 : Сентябрь 20, 2013, 01:01:41 pm »
А мне эта цитата понравилась:
Цитировать
Это бесконечная борьба за «линию партии», когда вокруг ад, ужас и погибель, а оно всё равно должно работать.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [Haskell] Промышленный взгляд
« Ответ #4 : Сентябрь 20, 2013, 01:09:24 pm »
А мне эта цитата понравилась:
Цитировать
Это бесконечная борьба за «линию партии», когда вокруг ад, ужас и погибель, а оно всё равно должно работать.
Ну, это стандартно в реальных проектах же. Оно должно заработать, даже если оно не может работать даже теоретически :-)
Y = λf.(λx.f (x x)) (λx.f (x x))

DddIzer

  • Гость
Re: [Haskell] Промышленный взгляд
« Ответ #5 : Сентябрь 20, 2013, 01:13:25 pm »
Haskell в продакте: Отчёт менеджера проекта
.....

ИМХО, как то не очень (убедительно и  предметно)....

DddIzer

  • Гость
Re: [Haskell] Промышленный взгляд
« Ответ #6 : Сентябрь 20, 2013, 01:18:53 pm »
и еще , довольно вульгарный стиль изложения... я понимаю еще когда здесь в таком стиле "пиндосит" Логопет (от него другого и не ждешь), но писать  подобным образом публикацию даже в харбр - не уважать себя.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: [Haskell] Промышленный взгляд
« Ответ #7 : Сентябрь 20, 2013, 01:27:50 pm »
Цитировать
факт: пол-часа на сборку проекта. На весьма нехилом железе с кучей ядер и сверхбыстрой СХД снизу.

Привет С++! :-D

Это у них была полная сборка проекта. У разработчиков быстрее компилировалось (не всё перекомпилировалось, и оптимизацию отключали).
Но действительно, GHC весьма нешустро компилирует, до оберонов или до дельф далеко...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: [Haskell] Промышленный взгляд
« Ответ #8 : Сентябрь 20, 2013, 01:30:54 pm »
и еще , довольно вульгарный стиль изложения... я понимаю еще когда здесь в таком стиле "пиндосит" Логопет (от него другого и не ждешь), но писать  подобным образом публикацию даже в харбр - не уважать себя.

Не заметил явных вульгаризмов. Да на хабре так все кому не лень пишут, по-моему...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

DddIzer

  • Гость
Re: [Haskell] Промышленный взгляд
« Ответ #9 : Сентябрь 20, 2013, 01:36:44 pm »
и еще , довольно вульгарный стиль изложения... я понимаю еще когда здесь в таком стиле "пиндосит" Логопет (от него другого и не ждешь), но писать  подобным образом публикацию даже в харбр - не уважать себя.

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

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: [Haskell] Промышленный взгляд
« Ответ #10 : Сентябрь 20, 2013, 01:49:20 pm »
Одно могу сказать - что в конторе в которой работает этот "менеджер" неплохие программеры..  коль скоро удалось перевести проект на Хаскель (тут, конечно, интересна подоплека этого решения), а вот о менеджерах этого я сказать не могу.

Ну а на чём им ещё было решать свои низкоуровневые задачи?
Си/С++ не устроил из-за низкой надёжности.
JVM-языки -- из-за JVM.
Питон -- так же как и Си + JVM -- ненадёжность + виртуальная машина (хотя вроде есть же компилятор CPython), да ещё и многопоточности в питоне нет.
Всякие D они не стали рассматривать из-за их нестабильности.

Единственный конкурент -- Окамл, на котором, кстати, и был написан Xen, который они использовали в своём продукте. Непонятно, почему его не выбрали...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: [Haskell] Промышленный взгляд
« Ответ #11 : Сентябрь 20, 2013, 01:58:35 pm »
Про обероны они, возможно и не слышали, а почему не выбрали паскаль или аду -- тоже непонятно...

Просто были у них два программахера, хотевших кодить на хаскелле, вот и выбрали хаскель )))
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

DddIzer

  • Гость
Re: [Haskell] Промышленный взгляд
« Ответ #12 : Сентябрь 20, 2013, 02:00:41 pm »
Ну а на чём им ещё было решать свои низкоуровневые задачи?
а я (из статьи) ничего и не узнал про их проект...

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [Haskell] Промышленный взгляд
« Ответ #13 : Сентябрь 20, 2013, 02:01:47 pm »
Цитировать
факт: пол-часа на сборку проекта. На весьма нехилом железе с кучей ядер и сверхбыстрой СХД снизу.

Привет С++! :-D

Это у них была полная сборка проекта. У разработчиков быстрее компилировалось (не всё перекомпилировалось, и оптимизацию отключали).
Но действительно, GHC весьма нешустро компилирует, до оберонов или до дельф далеко...
Дык, вывод типов что в плюсах что в хаскеле - та самая штука которая сильно замедляет процесс компиляции. Поэтому тот же boost так ме-едленно компилится. И тут выпиливание препроцессора и переход на "модули" ну никак не поможет.
Y = λf.(λx.f (x x)) (λx.f (x x))

DddIzer

  • Гость
Re: [Haskell] Промышленный взгляд
« Ответ #14 : Сентябрь 20, 2013, 02:03:41 pm »
Просто были у них два программахера, хотевших кодить на хаскелле, вот и выбрали хаскель )))
если это верно + проект маленький, то верно с большой вероятностью мое предположение о фуфельности их менеджмента.