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 12:34 pm (UTC)
From: [identity profile] metaclass.livejournal.com
IDE которое бы позволяло делать функциональные программы "черезточечьку" было бы кстати.
А то мне емакс настравать и его шорткаты учить влом.
Хотя поиск по сигнатурам типов и подстроке названия прямо в редакторе.

(no subject)

Date: 2012-06-12 12:44 pm (UTC)
From: [identity profile] stdray.livejournal.com
>делать функциональные программы "черезточечьку"

Это наподобие чего?

Я пробовал имакс осилить, пока не вышло. Еще натыкался на забывный текст вроде "первоначальная настройка emacs для чайников", где в комментариях автору высказывали, что всякие сборки емакса и подобные рецепты совсем некошерны, то есть надо обязательно самому это уродливое нечто приводить к человеческому виду.

(no subject)

Date: 2012-06-12 01:09 pm (UTC)
From: [identity profile] katresv.livejournal.com
С программированием что-то странное происходит. То есть куда-то уходит понимание, что основные инструменты программиста - это его мозг и язык программирования, вместо этого какая-то каша.
Я не согласна с этим утверждением. Просто отрасль перешла на поток. Если вспомним отцов-основателей, то им всегда мечталось "собирать программы из модулей" - сделать аналог конвейера. На конвейере нет математиков, научных лабораторий. На конвейере основные критерии - дешево и быстро достичь результата. Каждый выбирает сам - остаться на конвейере, или подняться до конструкторского бюро, сейчас возможность учиться доступна как никогда, можно не вставая с дивана.

так программистам на додиезе плевать вообщем-то на async/await, как и на внезапное замыкание на значение счетчика цикла, но вот НОВЫЙ РЕВОЛЮЦИОННЫЙ СТИЛЬ СТУДИИ - гвоздь программы, то есть реально войны ведут лучше ли станет программироват с серыми иконками.
Не наткнулась еще ни на единую кодерскую дискуссию, где бы обсуждали иконки и стиль студии. Всем наплевать на стиль.

поскольку функциональщики они такие: "ide нинужно", и все
Оно не то что бы не нужно. Оно скучно. Зачем тратить время на то, что ни на кого не произведет впечатления и не принесет денег?

Еще вариант - начинать обучать программированию сразу с функциональной парадигмы.
У кодеров есть образовательная база и неплохая. Кнут, Кормен, и прочая. Местный вуз плох - добро пожаловать на coursera.org.

(no subject)

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

Вот и надо дать нормальный инструмент, ползволяющий делать безопастные модули и аккуратно их собирать. Вместо этого какое-то топтание на месте: новые дизигнеры, новые скалфолдинги, новые рефакторинги, но обобщить это все в T4 как-то попыток нет. То есть конструкт Лего и есть Дупло, а строить из разных деталей неудобно.

>Не наткнулась еще ни на единую кодерскую дискуссию, где бы обсуждали иконки и стиль студии. Всем наплевать на стиль.

А я натыкался на рсдн, на хабре и в чатике. Просто каждый строит в интернетах свои мирок так, чтобы неугодные вещи туда не проникали, но мне иногда вот попадается.

>Зачем тратить время на то, что ни на кого не произведет впечатления и не принесет денег?

Вот JetBrains в свое время решили, что стоит, и пришли у успеху. Я знаю, какое после Visual Studio оставляет ощущение Eclipse, потому не могу недооценивать важность хорошей IDE.

>У кодеров есть образовательная база и неплохая. Кнут, Кормен, и прочая. Местный вуз плох - добро пожаловать на coursera.org.

Вот в ВУЗах не очень любят на этом акцент делать. А чтобы самому учить, надо иметь какую-то мотивацию. Я в свое время наткнулся на один из первых выпусков ПФП (http://fprog.ru/), потому в принципе без сомнений стал разбираться. А если просто со сторны посмотреть, то виден неоправданный "матан".

А то что для самообразования сейчас есть все возможности - это факт. Так много интересного доступно, что с сожалением проходится выбирать для изучения лишь небольшую часть.
Edited Date: 2012-06-12 02:20 pm (UTC)

(no subject)

Date: 2012-06-12 02:47 pm (UTC)
From: [identity profile] katresv.livejournal.com
Вот и надо дать нормальный инструмент, ползволяющий делать безопастные модули и аккуратно их собирать. Вместо этого какое-то топтание на месте: новые дизигнеры, новые скалфолдинги, новые рефакторинги, но обобщить это все в T4 как-то попыток нет. То есть конструкт Лего и есть Дупло, а строить из разных деталей неудобно.
Я думаю, просто пока не определились с неким средневзвешенным "удобно для большинства", но подвижки-то есть, согласитесь, слишком разношерстное видение этого "удобно".

А я натыкался на рсдн, на хабре и в чатике. Просто каждый строит в интернетах свои мирок так, чтобы неугодные вещи туда не проникали, но мне иногда вот попадается.
Соглашусь, но я имела в виду реал. В реале многих ваших коллег волнует стиль студии?

Вот JetBrains в свое время решили, что стоит, и пришли у успеху. Я знаю, какое после Visual Studio оставляет ощущение Eclipse, потому не могу недооценивать важность хорошей IDE.
Согласитесь, что хорошая IDE появляется, 1. когда язык де-факто широко распространен 2. когда вкладываются значительные средства в создание и продвижение языка.

Вот в ВУЗах не очень любят на этом акцент делать. А чтобы самому учить, надо иметь какую-то мотивацию. Я в свое время наткнулся на один из первых выпусков ПФП, потому в принципе без сомнений стал разбираться. А если просто со сторны посмотреть, то виден неоправданный "матан".

По-хорошему, в вуз следует идти, имея неслабую мотивацию. В моем политехническом препы так и говорили - вы должны научиться работать с литературой самостоятельно. Лекция - это всегда результат некоего плана, спущенного сверху на количество часов и т.п. Т.е. далеко не то, что преп хочет дать (а многие и ничего не хотят давать и где-то я их понимаю). Самостоятельно ставить цели, самостоятельно определять средства достижения и т.п. Инженера они понимали очень высоко. но дипломы выдавали всем кому не лень :)

(no subject)

Date: 2012-06-12 03:14 pm (UTC)
From: [identity profile] stdray.livejournal.com
>с неким средневзвешенным "удобно для большинства", но подвижки-то есть, согласитесь

Конечно есть, так или иначе движение в сторону большей декларативности. Просто где-то это делается более прозрачно и посдедовательно, а где-то через хитрые конструкции с последующими сомнительными аналогиями (http://habrahabr.ru/post/142591/).

>В реале многих ваших коллег волнует стиль студии?

Нет) Хотя вроде сначала были недовольны синим цветом текущей студии.

>Согласитесь, что хорошая IDE появляется, 1. когда язык де-факто широко распространен 2. когда вкладываются значительные средства в создание и продвижение языка.

Да. Полурятность способствует появлению IDE, IDE способствует еще больше популярности.


>По-хорошему, в вуз следует идти, имея неслабую мотивацию.
>Лекция - это всегда результат некоего плана, спущенного сверху на количество часов
>Самостоятельно ставить цели, самостоятельно определять средства достижения и т.п


Вот здесь и проблема. То есть откуда возмется мотивация и появится цель. Зависимоть оплаты от качества кода и уровня специалиста не всегда имеет место.
Edited Date: 2012-06-12 03:16 pm (UTC)

(no subject)

Date: 2012-06-12 02:23 pm (UTC)
From: [identity profile] unavella.livejournal.com
ide -- очень трудно написать одному, при этом нужно быть не только программистом, но ещё и дизайнером.
В идеале это команда программистов и команда дизайнеров, сколько дизайнеров знает ФП-языки, чтобы
в свободное время этим заниматься? Haskell компании, это небольшие группы программистов (Well-Typed например
или Tupil), стартап, они наскребли единомышленников и готовы делать real-world код им не до ide, тем более нужна помощь тех,
кто сумеет прилизать всё и допилить.

(no subject)

Date: 2012-06-12 02:34 pm (UTC)
From: [identity profile] stdray.livejournal.com
Я прекрасно понимаю, что создание IDE очень сложный процесс, и что для функциональных языков потребность в IDE значительно ниже, чем для ООП языков. Но наличие такого продукта представляется мне некоторым критерием зрелости языка. Если например JetBrains внезапно сделает IDE для Haskell, значит, что, во-первых, колличество программистов перевалило за определенный рубеж, а во-вторых, что они при помощи Haskell деньги зарабатывают, а не просто развлекаются.

(no subject)

Date: 2012-06-12 04:54 pm (UTC)
From: [identity profile] justy-tylor.livejournal.com
Это разные линии развития.

Популярные в восьмидесятые C и Turbo-Pascal (но не учебный Pascal Вирта) были решениями для создания продуктов.
Сегодняшние Java и C# - средства получения кайфа шаблонными архитекторами.
Сегодняшние Haskell и Scala - средства получения кайфа функционально продвинутыми программистами.

Да, на Scala может быть быстрее написать продукт/сервис, чем на стареньком C. Но это уже не является основной движущей силой и основным критерием выбора.

(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)

(no subject)

Date: 2012-06-13 05:41 am (UTC)
From: [identity profile] nikolay tolmachev (from livejournal.com)
Да просто дело в том, что ФП-разрабы чувствуют себя элитой. Там мейнстрим кипит, люди освобождают память, а фпшников это не касается, они смотрят на ооп-разрабов как на умственно отсталых. И отсутствие ИДЕ - это просто часть схемы элитизации комьюнити, инструмент искусственного повышения порога вхождения. Страшно же - а вдруг придут новые разработчики, свежее поколение, которые работают быстрее, учатся лучше, а вместо того чтобы трясти седой шевелюрой на хачкель-конференциях - разрабатывают полезные приложения. Это будет провал ВИП-ложи.
Так что - ИДЕ нет, потому что она не нужна самому комунити. Мы выбираем пластмассовых динозавров и непопулярность. Не надо удивляться что нет новой крови - она просто никому не нужна.

(no subject)

Date: 2012-06-13 08:47 am (UTC)
From: [identity profile] stdray.livejournal.com
Как правило, к новичкам хорошо относятся, тут ты не прав. Просто обобщаешь на всех ЗАШКВОР аудитории известных ресурсов.
Мнение по поводу IDE более-мение емко сформулировано например тут : http://tonsky.livejournal.com/231610.html
В любом случае, надо еще разобраться, что должна уметь делать IDE для языка. Поддержка F# в студии не умеет вообще ничего, но я испытываю недостаток только в отсутствии имплементации интерфейсов. То есть большая разница с C#, где без поддержки IDE очень сложно.
Про Хаскель ты не вообще не прав. Они выбрали ТОТАЛЬНУЮ популярность, просто еще не все поняли, что хотят ТОТАЛЬНОГО контроля на сайд-эффектами и доминирования над ооп- и императивно- разрабами ) Хотя, если судить по коллмчеству вопросов на stackoverflow, поняли таки.

Но, блин, приступы илитизма с последующим выходов ЧСВ за пределы стратосферы тоже случаются. Из последнего: http://www.rsdn.ru/forum/nemerle/4766634.1.aspx , огораживание во все поля. И лулзы и как-то грустно.
Edited Date: 2012-06-13 08:55 am (UTC)

(no subject)

Date: 2012-06-13 07:03 am (UTC)
From: [identity profile] hls-1141.livejournal.com
Серые иконки, ахуеть вообще

(no subject)

Date: 2012-06-13 08:50 am (UTC)
From: [identity profile] stdray.livejournal.com
Ты хоть понимаешь, что ты поехавший?

(no subject)

Date: 2012-06-13 08:52 am (UTC)

(no subject)

Date: 2012-06-20 06:26 pm (UTC)
From: [identity profile] 66george.livejournal.com
Предупреждаю, что я о математике в ЖЖ почти не пишу, а человек я мрачный:) Когда будет готов учебник, выложу везде.

(no subject)

Date: 2012-06-20 07:37 pm (UTC)
From: [identity profile] stdray.livejournal.com
Меня это вполне устраивает)

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