stdray: (Default)
[personal profile] stdray


В этой шутке есть доля шутки, хотя непонятно какая именно. То есть я смотрел, как [personal profile] metaclass под всеобщие аплодисменты пытался какие-то низкоуровневые вещи на Haskell делать, которые потом, по-моему, в момент были переписаны на Python. Или же Scala, которая, по идее, попадает в правый верхний угол этой диаграммки, стремительным ростом своей популярности какбэ подтверждает корректность рассуждений. Хотя ведь и на Haskell бывают откровения, но тут сложно судить, что в итоге больше повлияло: мощь Хаскеля или же скил автора презентации опердени. Я думаю, что второе. Но тут как: чем чаще будет появляться информация об успешных проектах с использованием Haskell, тем выше мотивация для преодоления страха (лени?) перед всякими монадами, аппликативными функторами, полиморфизмом высших порядков и прочими отличными терминами. Чтобы что-то реальное писать на Haskell надо обладать неплохим скилом (как минимум уметь писать подобное на чем-то другом) и быть ко всему готовым. Scala же не заставляет сходу менять привычки, то есть можно по началу писать как на Java с маттерн-матчингом и замыканими, а потом втянуться. Ну а если с большого расстояния посмотреть, то суждение таково, что "все енто ихнее функциональное программирование - баловство, лучше прочитать новую книжку по паттернам, рефакторингу и последним тенденция в agile". А еще дальше оказывается, что большинство даже слышали про ФП и в особо запущенных случая запрещают LINQ использовать, ибо нипонятно.

С программированием что-то странное происходит. То есть куда-то уходит понимание, что основные инструменты программиста - это его мозг и язык программирования, вместо этого какая-то каша. Выясняется, что код компилируется вижаул студией, а не компилятором, что запросы к sql серверу надо делать исключительно мышкой. То есть появляется новый слой абстракции костылей. Развиваются инструменты для использования инструмента: IDE, рефакторинги, скалфолдинг, ГРАФИЧЕСКИЕ КОНСТРУКТОРЫ. И какие-то улучшения в этим компонентах вызывают гораздо больше восторга и обсуждение, чем в самом языке. Я вот смотрю, как выползает на свет .net 4.5, так программистам на додиезе плевать вообщем-то на async/await, как и на внезапное замыкание на значение счетчика цикла, но вот НОВЫЙ РЕВОЛЮЦИОННЫЙ СТИЛЬ СТУДИИ - гвоздь программы, то есть реально войны ведут лучше ли станет программироват с серыми иконками. Языков много, срачи какой лучше, олимпиады всякие... А победит (то есть получит наибольшее распространение) язык обладающий самым продвинутым инструментарием по работе с ним. И это точно будет не ФП язык, поскольку функциональщики они такие: "ide нинужно", и все. Но это так, одна из версий, хотя и весьма реальная, на мой взгляд. В принципе, декларативность достигается, хоть и такими корявыми методами, так что все ровно.

(no subject)

Date: 2012-06-12 09:02 pm (UTC)
From: [identity profile] stdray.livejournal.com
Эти линии развития конкурируют на одном рынке. Наверное нам, как программистам интереснее, чтобы большее развитие получил второй вариант.

(no subject)

Date: 2012-06-13 09:09 am (UTC)
From: [identity profile] justy-tylor.livejournal.com
Какой из вторых вариантов? :)

Я за первый. Нужна возможность в минимум действий получить качественный продукт. Это первично. А уж кайф от предметки зависит, кому-то нравится САПР писать, а кому-то Дум на кофеварку портировать.

Если на первый план выходит кайф от использования инструментов - это может значить, что предметная область слишком скучна сама по себе. Но соответствие инструмента индивидуальному "кайфодоставляющему" мышлению программиста это значительный плюс, так что здесь подошли бы модули: category_theory_type_system, GoF_patterns_bloatware, colorless_icons, ... =)

(no subject)

Date: 2012-06-13 09:43 am (UTC)
From: [identity profile] stdray.livejournal.com
>Сегодняшние Haskell и Scala - средства получения кайфа функционально продвинутыми программистами.

А функциональная парадигма позволяет в минимум действий получить качественный продукт. Чем меньше времени, тем выше профит от иммутабельности и функциональной декомпозиции.

(no subject)

Date: 2012-06-13 10:10 am (UTC)
From: [identity profile] justy-tylor.livejournal.com
Там есть свои проблемы. По моей оценке, "чистота" хорошо работает там, где есть стабильный срез информации о состояниях мира, хорошо изолированный от этого самого мира. Внутренности СУБД - ок. Интерактивность, UI, exploratory - нет, нет, нет.

Плюс реализационное (для Haskell) - непредсказуемость ленивых вычислений. Нельзя использовать в тех контекстах, где важно не только _что_ будет посчитано, но и _когда_ и _какой_ценой_.
Edited Date: 2012-06-13 10:10 am (UTC)

December 2019

S M T W T F S
1234567
891011121314
15161718192021
222324252627 28
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags