UProLa

Неокріпші думки

Функціональщини на українській немає

with one comment

Нещодавно взнав наступний факт: функціональне програмування слабо, або навіть, взагалі не освітлено україномовними інтернет ресурсами. Наприклад, спроби прочитати українською про монади, продовження, катаформізми, композиції функцій, immutability, абстрактні типи даних та безліч інших технік функціонального програмування ні до чого не призведуть. Невже ця картинка відлякує більшість?
Типічний програміст на Haskell

Дещо краща ситуація з динамічним Lisp-ом, зовсім гівняна з статичними Haskell, ML (O’Caml, SML, F#), Scala, Nemerle. Звісно, на російській останнім часом почали з’являтись хороші статті\переклади (багато в чому завдяки хабру і fprog.ru) і можна починати саме з них.

Спочатку я вважав, що причиною є сильна інертність українського інтернет ком’юніті. Проте більш правдивою є наявність опору. Типовий український програміст почувши вираз “функціональне програмування” одразу будує стереотип (у кожного свій, у мене це була вище наведена картинка =)). Завдяки Python з’являються спроби використовувати higher-order functions map, fold, filter і генераторні списки, проте духу фукціональщини в цьому коді буде мало.

Практично ніхто не знає, що O`Caml компілятор впевненими кроками наближається до gcc по ефективності. Якщо раніше саме ефективність була основним стопером ФП, тоді тепер обмежувачем є консерватизм вирощених на імперативі спеціалістів (і вчителів, що набагато більш важливо). Для мене вирішальним фактором стало те, що в Visual Studio 2010 стандартно входить компілятор F#. Невже всесвітньо відомий гігант хоче отримати respect у математичної тусовки цим рішенням? Ні, просто тепер це ще один адекватний спосіб заробити більше бабла. І саме на це йде ставка. (Звісно, твердження всього лиш ІМХО. Мова досі місцями важкочитаєма, а підтримка IDE на кілька порядків відстає по зручності ніж C#, тому причини малої значимості F# в контексті технології .NET очевидні. Ах, і ще, ефшарп опенсорний і Microsoft Research дуже постаралась, щоб він запускався під лінукс Моно)

Але найгірше те, що на англійській мові більшість статтей є або туторіалами для найменьшеньких або матаністичним жахом. Тому наш україномовний читач через певний час закидує ФП, адже не бачить шляху для розвитку. “Так, погратись можна, але серйозного нічого не напишеш” – типове рішення.

Не впевнений, але думаю що більшість моїх знайомих асоціюють з ФП тільки аплікацію, згортку і лямбди і за їх допомогою створюють “мультипарадигменні” програми на Пітоні. Мало того, ці самі згортки і лямбди використовують рідку, звідки знову випливає “логічний” результат – “ФП можна використовувати, але у дуже рідкісних випадках, майже ніколи”.

І найгірше те, що я писати “просвітницькі” статті не можу – сам мало знаю, не кажучи вже й про досвід. Виходить, знову, як в дитинстві, потрібно наступати на граблі і вчитись велосипедами. Жаль що часу вільного практично не стало…

Written by danbst

Вересень 4, 2011 at 15:53

Оприлюднено в Програмування

Одна відповідь

Subscribe to comments with RSS.

  1. Судячи по затишному хабрику, ФП зараз взагалі тренд із трендів (от тільки справедливо сказано, що більшість чули дзвін, та не знають, де він). Жаль, що я теж не так багато знаю в ФП

    Dmytro Sirenko

    Вересень 9, 2011 at 23:46


Залишити відповідь

Заповніть поля нижче або авторизуйтесь клікнувши по іконці

Лого WordPress.com

Ви коментуєте, використовуючи свій обліковий запис WordPress.com. Log Out / Змінити )

Twitter picture

Ви коментуєте, використовуючи свій обліковий запис Twitter. Log Out / Змінити )

Facebook photo

Ви коментуєте, використовуючи свій обліковий запис Facebook. Log Out / Змінити )

Google+ photo

Ви коментуєте, використовуючи свій обліковий запис Google+. Log Out / Змінити )

З’єднання з %s

%d блогерам подобається це: