LINUX.ORG.RU

Преимущества функционального программирования

 , ,


3

7

Чем оно лучше/хуже императивного программирования в плане разработке ПО? Какие крупные комплексы ПО были написаны (созданы) с использование этой парадигмы начиная с ее зарождения?

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

★★★★★

Последнее исправление: cetjs2 (всего исправлений: 3)

никакие. уже выяснили, что всё пишут/писали на С/С++/дельфи/шарп/джава, ради разнообразия используя питон в качестве вспомогательного инструмента. ну ещё есть 1-о (одно) приложение, написанное на ЛИСП. на ФП не написано ровным счётом ничего крупного.

next_time ★★★★★
()

Какие крупные комплексы ПО были написаны (созданы) с использование этой парадигмы начиная с ее зарождения?

Emacs.

bluesman
()

Главное преимущество — повод посоздовать тредов на лоре, да и то лиспосрачи уже не те.

unlog1c ★★★
()

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

Tark ★★
()

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

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

Она существует как и императивное программирование. Уже почти 50 лет. Сколько еще ждать? =)

int13h ★★★★★
() автор топика

Лисп — мультипарадигменный язык, и функциональщина там просто меркнет в свете неимоверной крутости других доступных парадигм.

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

Ну и что? Сложность систем растет, придем когда-нибудь и к такой, которая без ФП вообще не программируется за приемлемые деньги. Собственно, деньги и есть причина засилья ООП. Столлман подтверждает.

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

аааа

биореактор отжог снова! дружочек, в джаве лямбды прикручены так коряво, что ниши, где их уместно применять, можно сосчитать на пальце одной руки.

anonymous
()

Чем оно лучше/хуже императивного программирования в плане разработке ПО?

Сложно говорить о преимуществах ФП в целом, так как языки разные, а во многих императивных языках есть ФП фичи.

Оно не лучше/хуже оно другое.

Какие крупные комплексы ПО были написаны (созданы) с использование этой парадигмы начиная с ее зарождения?

ejabberd, emacs. Еще у относительно многих компаний внутренние сервисы бегают на функциональных языках, в этой среде достаточно популярен ML. Особенно в среде всяких валютных операций, прогнозов и так далее.

В любом случае интерес к нему растет, в особенности в международном сообществе, на том же hackernews почти каждый день несколько ФП релейтед ссылок висит.

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

hackernews

Так это же пристанище аутсайдеров, типа ЛОРа.

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

Не станет ли она [система] лебединой песней этой парадигме? Ведь за период своего существования она должна была перейти из теоретико-академического сегмента (50-60 гг) в производственный сегмент(90-2000 гг), не? Мне хотелось бы разделить ваше мнение, но увы, как мне кажется, она останется лишь красивым теоретическим методом в будущем. Вспоминаю поговорку одного полковника «На%;й индукцию - давай продукцию». Хотя теория нужна =)

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

В Emacs императивщина во все поля.

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

Ведь за период своего существования она должна была перейти из теоретико-академического сегмента (50-60 гг) в производственный сегмент(90-2000 гг), не?

Не. Она уже в 1995 году перешла в производственный сегмент, когда C++ программисты из Ericsson зафейлили проект AXN-E (ATM свич), а через три года зарелизили AXD, использовав то же железо, но переписав софт на Erlang.

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

Лиспосрачи интересные. Иногда ищу через поиск тему потолще и читаю, загугливая неизвестные слова.

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

Сначала дай определение функциональному программированию.

Это же нарицательное название типа мамкиного борща.

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

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

Freyr69 ★★★
()

Единственный функциональный язык, который нужен, это Excel.

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

Шарп видел? Вот там фп применено как надо(LINQ). В чистом виде оно ненужно совершенно.

erlang

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

Я щитаю, что ФП-подход — это дрочево под компилятор, и ничего более, если кратко. Раздутый, распиаренный пшик. Если хомяк пишет фп, это выгодно хозяину этого хомяка, а вовсе не самому ему.

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

Я щитаю, что ФП-подход — это дрочево под компилятор,

Гораздо легче делается многопоточность, гораздо легче тестирование, проще прикручивать (де)сериализацию.

Компилятору как раз абсолютно пофиг. C++ компилируется в функциональный LLVM, а функциональный чистый Хаскелл в императивный ассемблер.

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

Ты, упорыш, действительно серьезно полагаешь, что твое шизофреническое мнение может представлять какую либо ценность для окружающих?

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

Компилятору как раз абсолютно пофиг

Я имею в виду оптимизацию

(let ((result (long-func))) (if false result))
Компилятор все снесет в этом случае, не вычисляя long-fu, если будет знать, что long-fu чистая. Анализировать код проще.

гораздо легче тестирование

Это из той же оперы.

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

Lisp - ФП? Что такого есть в лиспе из ФП? ФВП есть, еще что?

ФВП уже есть почти во всех мейнстрим языках. ФП ненужно?

Kuzy ★★★
()

Чем оно лучше/хуже императивного программирования в плане разработке ПО?

Тем, что некоторые алгоритмы/процессы удобно описывать функционально. Некоторые неудобно. Поэтому если ты везде суешь один стиль — ты идиот.

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

Умничать будете в собесе.

Как раз после того как это существо выперли из библиотеки занюханного провинциального НИИЧАВО, откуда он на весь LOR тявкал, он отчаянно пытался найти работу программистом. К нам вот приходил на собеседование, претендовал на роль Java-программиста. Junior, конечно же. Это был цирк! Попросил его написать метод, разворачивающий строку, классическая такая проверка на вшивость. Мелкое тощее горбатое существо с рожей и голосом профессионального алкаша бубнило и булькало чтото с полчаса, ничего родить не смогло, потом начало втирать, что вот зато в мегаязыке Хаскель строки сделаны односвязными списками и что это типа тру, а все остальное ламеризм. Еще чтото втирал что кулькакеры на Вакс использовали мегаформат для строк ASCIID, а ламеры не поняли и теперь везде позорный ASCIIZ (внимание: собеседование вообще про Java было). Угадайте - мы его взяли?

Говорят, оно все еще ищет работу. Хотите посмеяться, приглашайте его на собеседование. Баксов на $500, иначе решит, что прикалываются.

(C) [ЖЖ] Луговский

Bioreactor ★★★★★
()
Ответ на: комментарий от Apple-ch

Умничать будете на собеседовании.

Или в собесе.

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

И какая связь между тем фактом, что ФП-задроты все поголовно являются социальными опущенцами и отбросами общества, и тем, что в Java блямбам не место, тем более таким кривым?

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

Обоснование в процитированном тексте. Таких историй собеседований тысячи, любой PM может порассказывать про смешные встречи с борщехлебами.

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

Он, вероятно, про эквивалентность CPS и SSA пошутить неудачно попытался.

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

тыщу миллионов раз уже все обсудили. достаточно поиском воспользоваться

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

тем более таким кривым

И что в них такого кривого?

Nagwal ★★★★
()

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

Элементы фп(и таки не только лямбды, да) используются в куче вещей. А абсолютный фп, как в хаскеле(красиво! логично! невпихуемо!), оказался не у дел.

Из исключений могу припомнить только эрланг, который вин.

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