LINUX.ORG.RU

История изменений

Исправление vertexua, (текущая версия) :

Вчера себе пару панелек для i3 переписал с Python на OCaml.

Позитив: быстро компилируется, никакой клинической зацикленности на ФП ради ФП. Хочешь как холоп писать императивщину и бросать исключения - легко, более того, походу это дефолт. Это такой себе С/Go от ФП, без перегибов. Хочешь стрелять в ногу? Легко - держи зенитный комплекс. Вообще все сигнатуры модулей простые и понятные. Бинарники по эффективности похожи на средненаписаный С/С++ код, никакого внезапного 10-ти кратного оверхеда.

Минусы: часть вышеописанного. В ФП языке стрелять exceptions по дефолту? Отступы насколько я понял имеют смысл. Установка пакетов через opam по две минуты, и я не знаю почему, если язык так быстро компилируется. Я получил пару ошибок «Syntax error» без объяснений указывающих на последний символ файла. Оказывается я в 5ой строчке «in» пропустил.

Вердикт, при нужной сноровке и чуть практике хорошая замена типизированому Python. (Нетипизированый - прошлый век, его с огнем выжгли у себя все корпорации на уровне policy)

Это очень не Haskell. В OCaml ноль академичности, обычная ежедневная практика. Просто Unix язык, как С, может только без проблем с управлением памятью. Со всеми другими косяками если ты хочешь сильных гарантий.

Исправление vertexua, :

Вчера себе пару панелек для i3 переписал с Python на OCaml.

Позитив: быстро компилируется, никакой клинической зацикленности на ФП ради ФП. Хочешь как холоп писать императивщину и бросать исключения - легко, более того, походу это дефолт. Это такой себе С/Go от ФП, без перегибов. Хочешь стрелять в ногу? Легко - держи зенитный комплекс. Вообще все сигнатуры модулей простые и понятные. Бинарники по эффективности похожи на средненаписаный С/С++ код, никакого внезапного 10-ти кратного оферхеда.

Минусы: часть вышеописанного. В ФП языке стрелять exceptions по дефолту? Отступы насколько я понял имеют смысл. Установка пакетов через opam по две минуты, и я не знаю почему, если язык так быстро компилируется. Я получил пару ошибок «Syntax error» без объяснений указывающих на последний символ файла. Оказывается я в 5ой строчке «in» пропустил.

Вердикт, при нужной сноровке и чуть практике хорошая замена типизированому Python. (Нетипизированый - прошлый век, его с огнем выжгли у себя все корпорации на уровне policy)

Это очень не Haskell. В OCaml ноль академичности, обычная ежедневная практика. Просто Unix язык, как С, может только без проблем с управлением памятью. Со всеми другими косяками если ты хочешь сильных гарантий.

Исходная версия vertexua, :

Вчера себе пару панелек для i3 переписал с Python на OCaml.

Позитив: быстро компилируется, никакой клинической зацикленности на ФП ради ФП. Хочешь как холоп писать императивщину и бросать исключения - легко, более того, походу это дефолт. Это такой себе С/Go от ФП, без перегибов. Хочешь стрелять в ногу? Легко - держи зенитный комплекс. Вообще все сигнатуры модулей простые и понятные. Бинарники по эффективности похожи на средненаписаный С/С++ код, никакого внезапного 10-ти кратного оферхеда.

Минусы: часть вышеописанного. В ФП языке стрелять exceptions по дефолту? Отступы насколько я понял имеют смысл. Установка пакетов через opam по две минуты, и я не знаю почему, если язык так быстро компилируется. Я получил пару ошибок «Syntax error» без объяснений указывающих на последний символ файла. Оказывается я в 5ой строчке «in» пропустил.

Вердикт, при нужной сноровке и чуть практике хорошая замена типизированому Python. (Нетипизированый - прошлый век, его с огнем выжгли у себя все корпорации на уровне policy)