LINUX.ORG.RU

Нужно ли ФП обычным смертным программистам?

 , ,


1

2

Я c++ джуниор, работаю в интересной компании. Я хочу развиваться как программист.

Что делать с ООП понятно: книжки по паттернам и наизусть свежие стандарты. Но что делать с ФП? Есть ряд вопросов.

  • 1. Нужно ли обычному программисту (не теоретику, а человеку для которого программирование - работа) понимать Функциональщину чтобы профессионально развиваться?
  • 2. Есть ли на этом дружелюбном ресурсе люди, которые как я не осилили монады, лямбда-исчисление и при этом стали хорошими программистами?
  • 3. Полезно ли вообще программисту читать книжки вроде SICP? (у которого нет главной жизненной цели - блистать умом на лоре).

Перемещено mono из talks


Ответ на: комментарий от Macil

Хочешь изучать хаскель — изучай. Только учти, хуже инфекции для мозгов ещё не придумали.

А какие симптомы и последствия? Насколько опасно? Или, например, лисп - сильно вреден для мозга?

JANB
() автор топика
Ответ на: комментарий от JANB

А какие симптомы и последствия?

Появляются иллюзии что все мейнстрим-языки писали укуренные мудаки. А все не-мейнстрим языки делятся в голове пациента на группы «недохаскель», «хаскель» и «Агда».

Последствия. Склонность к мазохизму, падение производительности, снижение агрессивности. Иногда, в очень острой форме.

Macil ★★★★★
()

Разве ООП исключает ФП? Они прекрасно комбинируются, даже в C++ начинают попадать элементы ФП. Еще один хороший пример такого синтеза - OCaml. Стать хорошим программистом не осилив монады, лямбда-исчисление можно, можно даже даже писать на ФЯ не зная что это такое.

З.Ы, на работе пишу на C++ и Erlang'e, сейчас вот приглядываемся к OCaml'у чтобы заменить им где возможно плюсы. В С++ довольно активно использую лямбды, монады как какая-то особая сущность в С++ вообще не нужны.

NegatiV
()

Нужно ли обычному программисту понимать Функциональщину чтобы профессионально развиваться?

Да. Даже если ты будешь всю жизнь писать на C++ — ты будешь писать на C++ лучше, чем если бы ты не владел ФП.

Есть ли на этом дружелюбном ресурсе люди, которые как я не осилили монады, лямбда-исчисление и при этом стали хорошими программистами?

Нет. И на любом другом — тоже.

Полезно ли вообще программисту читать книжки вроде SICP?

ИМХО, нет. SICP древнее ледников.

Miguel ★★★★★
()
Ответ на: комментарий от Macil

Появляются иллюзии что все мейнстрим-языки писали укуренные мудаки.

Есть такой момент. С возрастом проходит. Начинаешь понимать, что они просто были малограмотными. Кроме, конечно, тех, кто программировал ещё когда компьютеры были большими.

«недохаскель», «хаскель» и «Агда».

Ещё одна группа — «мой собственный язык».

Miguel ★★★★★
()
Ответ на: комментарий от Miguel

Появляются иллюзии что все мейнстрим-языки писали укуренные мудаки.

Есть такой момент. С возрастом проходит. Начинаешь понимать, что они просто были малограмотными.

А потом проходит и это :) Начинаешь понимать, у них были другие цели и другие ресурсы. Хотя да, малограмотные тоже были.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Начинаешь понимать, у них были другие цели и другие ресурсы.

Ну, про ресурсы я сказал.

А так, послушать, какую хрень несёт даже Одерски — уши вянут.

Miguel ★★★★★
()
Ответ на: комментарий от nerdogeek

Оказалось, что директор учебного центра Игорь Шумский когда-то тоже переквалифицировался из бухгалтера в айтишника, окончив подобные курсы. Но устроиться на работу не смог. Какое-то время работал во фрилансе, а затем решил сам заняться обучением IT-специалистов.

Нет слов

anonymous
()
Ответ на: комментарий от yoghurt

Матан учи

Зачем матан ТСу? Он быдлокодер, хочет стать просто кодером

anonymous
()
Ответ на: комментарий от yoghurt

Матан учи

Зачем матан ТСу? Он быдлокодер, хочет стать просто кодером

anonymous
()

Ну смотря что ты программируешь. Если ты какие-то заумные системы со хитровывернутым алгоритмом - то может и нужно ФП.

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

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от tailgunner

у них были другие цели и другие ресурсы

Про цели ты это здорово подметил. Не у всех цели были чисты. А у некоторых объем ресурсов граничил с идиотизмом.

Чего только стоило, например, засовывание Smalltalk под сукно или бессмысленная долбежка линеек Quick и Turbo, а позднее Visual и Builder с примкнувшей к ней Delphi.

Я уж молчу про такие ужасы как Go, Rust, Ceylon и 6-ю версию JS.

Macil ★★★★★
()
Ответ на: комментарий от Miguel

ИМХО, нет. SICP древнее ледников.

А что из основ CS, описанных там, поменялось за прошедшее время? SICP тем и приятен, что сфокусирован не на языке, а на концепциях.

Врочем, это именно введение в CS, т.е. университетскую дисциплину, а не в кодинг для пту.

unanimous ★★★★★
()
Ответ на: комментарий от anonymous

Местный плебс и не слышал о том, что считается достойными задачами:

Ха, это вообще задачи не для программистов.

holuiitipun
()

Я хочу развиваться как программист.
Полезно ли вообще программисту читать книжки вроде SICP

Если под развитием ты понимаешь рост зарплаты за написание энтерпрайзного софта на жабе или дотнете до самой пенсии и ни шагу в сторону, то нет, бесполезно.

А так иметь базовое представление о вещах, которые есть в твоей профессии, полезно всем.

anonymous
()
Ответ на: комментарий от unanimous

А что из основ CS, описанных там, поменялось за прошедшее время?

Развитые системы типов, например.

Miguel ★★★★★
()
Ответ на: комментарий от buddhist

Вопрос типа «нужно ли ученому знать математику»

Плохой, негодный из тебя классификатор вопросов. Было уже в одном борще-треде сравнение с сантехниками :) Нужно ли простому смертному сантехнику знать уравнение Навье-Стокса?

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 1)

программист

Есть два типа программистов.

Одни стали программистами, потому что интересно. Интересны компьютеры, интересно программирование и вообще горят красные глаза. Такой не будет спрашивать, стоит ли учить что-то, он возьмёт и посмотрит сам, ибо интересно.

Другие стали программистами за деньги. У них интересы ограничены только тем, что может дать прибавку к зарплате.

Так что учи джаву или пхп или что там у вас в компании надо и не парься пока фп не набрали такую же популярность.

anonymous
()
Ответ на: комментарий от anonymous

Омг, этот список (только длиннее :)) примерно был в наборе тем для дипломок на моей кафедре «Информ. технологий» на фоне буззвордов про «фуззилоджык», «генетические алгоритмы» и «компутер-эйдед-все вапще» (преподы честно пытались заинтересовать контингент теорией распознавания, оптимизацией целевых функций, экспертными системами (в части средств разработки), мат. основами компутерной графики (разработка САПРов), проектированием узлов ЦПУ - как бы стандарт специальности обязывал). Знаешь что победило? Председатель комиссии опух слушать десятый диплом про «Внедрение системы менеджмента качества ISO 9000 на ОАО „Мухосранский кирпичный завод“ (подставить в название населенный пункт защищающегося), а компутерная графика некоторых из них интересовала только в части „доп. часов практических занятий в 3D Studio Max вместо этих ваших матриц на 5.1 верченых“ :)) „Составление расписаний“ видел в одном дипломе... Только не помню, чего там вышло - его сосед с „Умным домом“ так просто забухал перед защитой (видать, умного дома под рукой не случилось).

slackwarrior ★★★★★
()
Ответ на: комментарий от Miguel

Дэн Пипони как-то писал язык с монадами для микроконтроллера

Факт «писания» ни о чем не говорит.

tailgunner ★★★★★
()
Ответ на: комментарий от slackwarrior

Нет, из тебя негодный классификатор вопросов. Я пока еще имею в виду нормальных программистов, а не пхп-макак.

buddhist ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

А я больше к железу и GUI - уверен, там этим, прости господи, монадам и прочим блямбдям - ну просто нет места

Ахаха.

tailgunner ★★★★★
()

Раньше программисты писали код с глобальными переменными, и от этого было много путаницы и ошибок. Тогда программисты придумали инкапсулировать состояние в модули и объекты. Так проблема была решена.

А потом пришли они...

anonymous
()
Ответ на: комментарий от buddhist

Нет, ты имеешь в виду двигателей науки (некорректное сравнение с «учеными» оттуда). Иначе б ты че-нибудь про инженеров задвинул.

slackwarrior ★★★★★
()
Ответ на: комментарий от anonymous

пока фп не набрали такую же популярность

лол. Вот именно с этим «пока» ему вообще не надо париться - ну разве что... «Пфп» какой-нибудь изобретут

slackwarrior ★★★★★
()
Ответ на: комментарий от AIv

А раньше «ученых» не было в самостоятельном смысле. Были философы в натуре «натурфилософы» («любители натуральной мудрости», а не умопостроительных суррогатов на основе ОБВМ). И таки да, они занимались чем угодно, кроме филосопливости про «ангелов на кончике иглы» - полировали линзы, наблюдали затмения и «нимфозорий», карты составляли, резали лягушек... и немного человеков - на посмотреть, как там все устроено. А их поздние потомки - ученые, поэтому и согласны.

slackwarrior ★★★★★
()
Ответ на: комментарий от slackwarrior

И таки да, они занимались чем угодно, кроме филосопливости про «ангелов на кончике иглы»

Таки нет. Большинство великих физиков (как мы их щас называем) того времени занимались в т.ч. и богословием.

«Ньютон опубликовал (частично) результаты своих теологических исследований в конце жизни, однако начались они гораздо раньше, не позднее 1673 года[143]. Ньютон предложил свой вариант библейской хронологии, оставил работы по библейской герменевтике, написал комментарий на Апокалипсис. Он изучил древнееврейский язык, исследовал Библию по научной методике, привлекая для обоснования своей точки зрения астрономические расчёты, связанные с солнечными затмениями, лингвистический анализ и т. п.[136] По его расчетам, конец света наступит не ранее 2060 года[144].

Теологические рукописи Ньютона ныне хранятся в Иерусалиме, в Национальной Библиотеке[145].»

«Установив бытие всесовершенного Творца, Декарт уже без труда приходит к признанию относительной достоверности наших ощущений телесного мира»

И т.д. и т.п.

А Менделеев в определенных кругах был вообще известен как чемоданных дел мастер, причем ему за чемоданы очень хорошо платили;-)

AIv ★★★★★
()
Ответ на: комментарий от Bad_ptr

Ну нормально, кэп :) Практический смысл обучения других - разобраться самому, очевидно же.

slackwarrior ★★★★★
()
Ответ на: комментарий от AIv

Таки да. Попробовали бы они «не заниматься», для виду хотя бы. «Комиссия по лженаукеереси» наблюдала, чо. Эти их «штудии в зеркале религии» - это как в совке вступления в научных работах про «руководящую роль партии» (только у них вместо партии была «Матерь Церковь»). Невтон просто продукт своей эпохи - он не считал, например, алхимию лженаукой (собственно химии не было же - таким образом и пробовали, что работает (пусть и открыто методом тыка) - а что суть бредни и суеверия. «Философский камушок» искали многие... (У Невтона отдельно еще и ЧСВ было нехилое - срач с Лейбницем про «интегралы vs дифуры» или кто кого обокрал отдельно доставляет («Лейбниц умер - диспут окончен» (с))

«А Менделеев в определенных кругах был вообще известен как чемоданных дел мастер» (с) - это вообще из оперы «можно еще немножко шить» - наука наукой, а кушать каждый день охота.

slackwarrior ★★★★★
()

Я c++ джуниор

очень плохо, приплюснутые портят мышление.

1. Нужно ли обычному программисту (не теоретику, а человеку для которого программирование - работа) понимать Функциональщину чтобы профессионально развиваться?

Нужно. Функциональщина используется, некоторые профессионалы частично-целиком на функциональных языках разной степени испорчености пишут.

2. Есть ли на этом дружелюбном ресурсе люди, которые как я не осилили монады, лямбда-исчисление и при этом стали хорошими программистами?

Есть ли люди где-либо, которые стали хорошими бегунами без ноги?

3. Полезно ли вообще программисту читать книжки...

Полезно.

anonymous
()
Ответ на: комментарий от slackwarrior

Да нет же. Эти люди занимались богословием вполне искренне. Как и Менделеев просто любил делать чемоданы (хорошо получалось).

Мир не черно-белый.

AIv ★★★★★
()
Ответ на: комментарий от JANB

Я считаю, что программист - это тот, кто получает за кодинг деньги

Ошибка, можно опупенно круто программировать для себя и не получать деньги, а получать эндорфины и дофамины?

anonymous
()
Ответ на: комментарий от AIv

Если б у него хорошо получались костюмы - он бы немножко шил. И тоже получал бы свою долю удовольствия. Но и бабло не помешало бы. Не вижу тут никакого противоречия.

slackwarrior ★★★★★
()
Ответ на: комментарий от slackwarrior

Декарт в определенных кругах известен больше как философ. С-но все его достижения в ест-науках являются побочным продуктом занятий философией. Ну и как сказал нам незабыенный лектор Желнов на первой лекции по истории философии в аспирантуре «все хорошие физики были философами... а зачем нам плохие физики?»

AIv ★★★★★
()
Последнее исправление: AIv (всего исправлений: 1)
Ответ на: комментарий от AIv

С-но все его достижения в ест-науках являются побочным продуктом занятий философией.

Бабка надвое сказала же. Курица и яйтсо, известная философская проблема.

как сказал нам незабыенный лектор Желнов

Лол, ну раз «лектор сказал»... Это вообще характерно для всякого рода «историоргафов» - записывать в «свои» всех, до кого можно дотянуться. Например, есть еврейская шутка, что «все талантливые люди - немножко евреи».

slackwarrior ★★★★★
()
Ответ на: комментарий от AIv

Не. Постановка вопроса там немного иная «только евреи люди» - остальных можно кидать на бабло :)

slackwarrior ★★★★★
()

чтобы профессионально развиваться

define профессионально развиваться

Вообще, вся индустрия настолько погрязла в невежестве и Почему Если Работает Делать Лучше, что её никакое фп и bondage&discipline не спасут.

fmdw
()
Ответ на: комментарий от f1xmAn

Yes. Телефон слишком любит все исправлять:)

qnikst ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.