В этой шутке есть доля шутки, хотя непонятно какая именно. То есть я смотрел, как
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)А то мне емакс настравать и его шорткаты учить влом.
Хотя поиск по сигнатурам типов и подстроке названия прямо в редакторе.
(no subject)
Date: 2012-06-12 12:44 pm (UTC)Это наподобие чего?
Я пробовал имакс осилить, пока не вышло. Еще натыкался на забывный текст вроде "первоначальная настройка emacs для чайников", где в комментариях автору высказывали, что всякие сборки емакса и подобные рецепты совсем некошерны, то есть надо обязательно самому это уродливое нечто приводить к человеческому виду.
(no subject)
Date: 2012-06-12 01:09 pm (UTC)Я не согласна с этим утверждением. Просто отрасль перешла на поток. Если вспомним отцов-основателей, то им всегда мечталось "собирать программы из модулей" - сделать аналог конвейера. На конвейере нет математиков, научных лабораторий. На конвейере основные критерии - дешево и быстро достичь результата. Каждый выбирает сам - остаться на конвейере, или подняться до конструкторского бюро, сейчас возможность учиться доступна как никогда, можно не вставая с дивана.
так программистам на додиезе плевать вообщем-то на async/await, как и на внезапное замыкание на значение счетчика цикла, но вот НОВЫЙ РЕВОЛЮЦИОННЫЙ СТИЛЬ СТУДИИ - гвоздь программы, то есть реально войны ведут лучше ли станет программироват с серыми иконками.
Не наткнулась еще ни на единую кодерскую дискуссию, где бы обсуждали иконки и стиль студии. Всем наплевать на стиль.
поскольку функциональщики они такие: "ide нинужно", и все
Оно не то что бы не нужно. Оно скучно. Зачем тратить время на то, что ни на кого не произведет впечатления и не принесет денег?
Еще вариант - начинать обучать программированию сразу с функциональной парадигмы.
У кодеров есть образовательная база и неплохая. Кнут, Кормен, и прочая. Местный вуз плох - добро пожаловать на coursera.org.
(no subject)
Date: 2012-06-12 02:18 pm (UTC)Вот и надо дать нормальный инструмент, ползволяющий делать безопастные модули и аккуратно их собирать. Вместо этого какое-то топтание на месте: новые дизигнеры, новые скалфолдинги, новые рефакторинги, но обобщить это все в T4 как-то попыток нет. То есть конструкт Лего и есть Дупло, а строить из разных деталей неудобно.
>Не наткнулась еще ни на единую кодерскую дискуссию, где бы обсуждали иконки и стиль студии. Всем наплевать на стиль.
А я натыкался на рсдн, на хабре и в чатике. Просто каждый строит в интернетах свои мирок так, чтобы неугодные вещи туда не проникали, но мне иногда вот попадается.
>Зачем тратить время на то, что ни на кого не произведет впечатления и не принесет денег?
Вот JetBrains в свое время решили, что стоит, и пришли у успеху. Я знаю, какое после Visual Studio оставляет ощущение Eclipse, потому не могу недооценивать важность хорошей IDE.
>У кодеров есть образовательная база и неплохая. Кнут, Кормен, и прочая. Местный вуз плох - добро пожаловать на coursera.org.
Вот в ВУЗах не очень любят на этом акцент делать. А чтобы самому учить, надо иметь какую-то мотивацию. Я в свое время наткнулся на один из первых выпусков ПФП (http://fprog.ru/), потому в принципе без сомнений стал разбираться. А если просто со сторны посмотреть, то виден неоправданный "матан".
А то что для самообразования сейчас есть все возможности - это факт. Так много интересного доступно, что с сожалением проходится выбирать для изучения лишь небольшую часть.
(no subject)
Date: 2012-06-12 02:47 pm (UTC)Я думаю, просто пока не определились с неким средневзвешенным "удобно для большинства", но подвижки-то есть, согласитесь, слишком разношерстное видение этого "удобно".
А я натыкался на рсдн, на хабре и в чатике. Просто каждый строит в интернетах свои мирок так, чтобы неугодные вещи туда не проникали, но мне иногда вот попадается.
Соглашусь, но я имела в виду реал. В реале многих ваших коллег волнует стиль студии?
Вот JetBrains в свое время решили, что стоит, и пришли у успеху. Я знаю, какое после Visual Studio оставляет ощущение Eclipse, потому не могу недооценивать важность хорошей IDE.
Согласитесь, что хорошая IDE появляется, 1. когда язык де-факто широко распространен 2. когда вкладываются значительные средства в создание и продвижение языка.
Вот в ВУЗах не очень любят на этом акцент делать. А чтобы самому учить, надо иметь какую-то мотивацию. Я в свое время наткнулся на один из первых выпусков ПФП, потому в принципе без сомнений стал разбираться. А если просто со сторны посмотреть, то виден неоправданный "матан".
По-хорошему, в вуз следует идти, имея неслабую мотивацию. В моем политехническом препы так и говорили - вы должны научиться работать с литературой самостоятельно. Лекция - это всегда результат некоего плана, спущенного сверху на количество часов и т.п. Т.е. далеко не то, что преп хочет дать (а многие и ничего не хотят давать и где-то я их понимаю). Самостоятельно ставить цели, самостоятельно определять средства достижения и т.п. Инженера они понимали очень высоко. но дипломы выдавали всем кому не лень :)
(no subject)
Date: 2012-06-12 03:14 pm (UTC)Конечно есть, так или иначе движение в сторону большей декларативности. Просто где-то это делается более прозрачно и посдедовательно, а где-то через хитрые конструкции с последующими сомнительными аналогиями (http://habrahabr.ru/post/142591/).
>В реале многих ваших коллег волнует стиль студии?
Нет) Хотя вроде сначала были недовольны синим цветом текущей студии.
>Согласитесь, что хорошая IDE появляется, 1. когда язык де-факто широко распространен 2. когда вкладываются значительные средства в создание и продвижение языка.
Да. Полурятность способствует появлению IDE, IDE способствует еще больше популярности.
>По-хорошему, в вуз следует идти, имея неслабую мотивацию.
>Лекция - это всегда результат некоего плана, спущенного сверху на количество часов
>Самостоятельно ставить цели, самостоятельно определять средства достижения и т.п
Вот здесь и проблема. То есть откуда возмется мотивация и появится цель. Зависимоть оплаты от качества кода и уровня специалиста не всегда имеет место.
(no subject)
Date: 2012-06-12 02:23 pm (UTC)В идеале это команда программистов и команда дизайнеров, сколько дизайнеров знает ФП-языки, чтобы
в свободное время этим заниматься? Haskell компании, это небольшие группы программистов (Well-Typed например
или Tupil), стартап, они наскребли единомышленников и готовы делать real-world код им не до ide, тем более нужна помощь тех,
кто сумеет прилизать всё и допилить.
(no subject)
Date: 2012-06-12 02:34 pm (UTC)(no subject)
Date: 2012-06-12 04:54 pm (UTC)Популярные в восьмидесятые C и Turbo-Pascal (но не учебный Pascal Вирта) были решениями для создания продуктов.
Сегодняшние Java и C# - средства получения кайфа шаблонными архитекторами.
Сегодняшние Haskell и Scala - средства получения кайфа функционально продвинутыми программистами.
Да, на Scala может быть быстрее написать продукт/сервис, чем на стареньком C. Но это уже не является основной движущей силой и основным критерием выбора.
(no subject)
Date: 2012-06-12 09:02 pm (UTC)(no subject)
Date: 2012-06-13 09:09 am (UTC)Я за первый. Нужна возможность в минимум действий получить качественный продукт. Это первично. А уж кайф от предметки зависит, кому-то нравится САПР писать, а кому-то Дум на кофеварку портировать.
Если на первый план выходит кайф от использования инструментов - это может значить, что предметная область слишком скучна сама по себе. Но соответствие инструмента индивидуальному "кайфодоставляющему" мышлению программиста это значительный плюс, так что здесь подошли бы модули: category_theory_type_system, GoF_patterns_bloatware, colorless_icons, ... =)
(no subject)
Date: 2012-06-13 09:43 am (UTC)А функциональная парадигма позволяет в минимум действий получить качественный продукт. Чем меньше времени, тем выше профит от иммутабельности и функциональной декомпозиции.
(no subject)
Date: 2012-06-13 10:10 am (UTC)Плюс реализационное (для Haskell) - непредсказуемость ленивых вычислений. Нельзя использовать в тех контекстах, где важно не только _что_ будет посчитано, но и _когда_ и _какой_ценой_.
(no subject)
Date: 2012-06-13 05:41 am (UTC)Так что - ИДЕ нет, потому что она не нужна самому комунити. Мы выбираем пластмассовых динозавров и непопулярность. Не надо удивляться что нет новой крови - она просто никому не нужна.
(no subject)
Date: 2012-06-13 08:47 am (UTC)Мнение по поводу IDE более-мение емко сформулировано например тут : http://tonsky.livejournal.com/231610.html
В любом случае, надо еще разобраться, что должна уметь делать IDE для языка. Поддержка F# в студии не умеет вообще ничего, но я испытываю недостаток только в отсутствии имплементации интерфейсов. То есть большая разница с C#, где без поддержки IDE очень сложно.
Про Хаскель ты не вообще не прав. Они выбрали ТОТАЛЬНУЮ популярность, просто еще не все поняли, что хотят ТОТАЛЬНОГО контроля на сайд-эффектами и доминирования над ооп- и императивно- разрабами ) Хотя, если судить по коллмчеству вопросов на stackoverflow, поняли таки.
Но, блин, приступы илитизма с последующим выходов ЧСВ за пределы стратосферы тоже случаются. Из последнего: http://www.rsdn.ru/forum/nemerle/4766634.1.aspx , огораживание во все поля. И лулзы и как-то грустно.
(no subject)
Date: 2012-06-13 07:03 am (UTC)(no subject)
Date: 2012-06-13 08:50 am (UTC)(no subject)
Date: 2012-06-13 08:52 am (UTC)(no subject)
Date: 2012-06-20 06:26 pm (UTC)(no subject)
Date: 2012-06-20 07:37 pm (UTC)