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

F#

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

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

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

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

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

[identity profile] theiced.livejournal.com 2010-03-04 10:12 pm (UTC)(link)
ну так интегрируешь же, было б желание ;]

я его как раз тогда по этому поводу и щупал. там же пейшут что он сейчас называется hs-dotnet и вполне себе активен. мва ха ха.