metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-03-04 07:15 pm

F#

Сижу пишу кодогенератор на F# чтобы сконвертировать старую БД с самодельным адово-израилевым ОО движком в PostgreSQL. Вообще задача там сконвертировать описание типов из xml в несколько исходников на SQL и дельфи и прикрутить их в прогу-конвертор.

F# производит впечатление, как бы это выразится, несколько эклектичного языка. Боб с горохом, окамл, дотнет и призрак Барбары Лисков, вбивающей гвозди в головы тем, кто плохо продумывает наследование. Функции, которые одновременно используются и в каррированной и обычной форме, причем сразу не поймешь, когда как, монады(ака sequence) вкрученные в язык, несколько операторов связывания для них, императивный стиль, мутабельные переменные, передача параметров по ссылкам и наследование вперемежку с иммутабельностью и ленивыми вычислениями.

Документация в интернетах бессвязная как ад. Без книжки некоторые вещи фиг найдешь, типа как объявить взаимно-рекурсивные типы.

Синтаксис хаскеля намного гуманнее, не так загажен лишними ключевыми словами и символами.

Цель вообще использования F# а не хаскеля в данном случае - это проверка, можно ли F# пользоваться не сломав себе мозг. Хаскель просто не интегрируешь в дотнет, а это уже интегрировано.

[identity profile] metaclass.livejournal.com 2010-03-05 10:28 am (UTC)(link)
То что она жива, не значит, что ее призрак не вбивает гвозди в головы нерадивым ОО-проектировщикам :)