Функциональное программирование |
Функциональное программирование всегда привлекало меня в противопоставлении к императивному.
Я очень часто обсуждаю различные аспекты функционального программирования на различных ветках на Базарной площади.
Но хотелось бы собрать всех заинтересованный этой темой в одной ветке.
Я думаю что настало время открыть такую тему. И вот почему.
Исторически функциональное программирование появилось практически вместе с императивным.
Вторым языком после фортрана был лисп.
Но увы, функциональное программирование надолго было уделом исследовательских институтов или специализированных приложений (Искусственный Интеллект)
Конечно не надо считать весь мир дураками из за того что развитие пошло по пути языков Алгол семейства.
Для этого были вполне обьективные причины. Функциональные языки слишком близки к человеку и слишком далеки от машины.
Они сьедают в десятки раз больше рессурсов чем императивные языки.
Вспомните претензии, предявляемые к java - первому императивному языку с виртуальной машиной и сборщиком мусора, толкаемому большими корпорациями в mainstream.
Жутко тормозит, и жрет всю память какая есть. А ведь функциональные языки (далее ФЯ) все без иключения имеют сборщик мусора, виртуальную машину.
Многие из них (семейство лисп) еще и динамические, что только усугубляет положение.
Вполне естественно что появившись более полусотни лет назад они надолго опередилли свое время.
Для широкого распространения ФЯ нужны гигабайты дешевой памяти и гигагерцы дешевых процессоров.
Прошло более 50 лет, прежде чем такие требования к железу стали реальностью.
Это время наступило. СЕЙЧАС.
Добро пожаловать в новую эру программирования.
Jack Of Shadows
Всего в теме 5502 сообщения
Добавить свое сообщение
Отслеживать это обсуждение
- Средства разработки. Языки программирования.
- Delphi 4 or Delphi 5
- Что приобрести в качестве средства разработки?
- Delphi6
- Delphi vs PowerBuilder
- Сравнение компиляторов
- Вот и вышла Delphi 7... Вы рады?
№ 1192 07-09-2006 14:30 | |
Ответ на »сообщение 1183« ()
___________________________
да не надо на них смотреть вскл я про то зпт что библиотеки ваять это дело не разработчиков языка и госстроя зпт а сообщества программистов тчк
Не скажите. Верно выбранные "ядро" и задел таких библиотек могут определить судьбу языка или системы программирования...
ежели лисп и иже с ним игрушка и поле самоутверждения и гимнастики для яйцеголовых зпт то и не рассчитывайте на инфраструктуру нарастающую мясом середнячков при помощи стандартизующих их серый и массовый труд инструментов тире автоматов ide и методов ооп
Неирасчитываем тут ведь ещё и мозги к означенным инструментам должны быть в комплекте... :о)
№ 1191 07-09-2006 14:28 | |
Ответ на »сообщение 1180« (Артем)
___________________________
А вы думаете, чтобы в .net избавиться от unmanaged-кода надо книжки по структурам данным и алгоритмам читать? :) А как же вызов специфического API или взаимодействие с унаследованным кодом (написанным, например, на C)?
Вы задаёте правомерно на моё общее утверждение общий же вопрос. Надо смотреть по конкретике. Но я вам приведу из упомянутого проекта аргумент. На делфи я работал всё с той же графикой, представляемой VCL объектами. Никакой специфической "низкоупровневой" библиотеки мне не понадобилось.
В текущей работе (системы реального времени для НКАУ) приходится сталкиваться с ужасающе дилетантским и безграмотным подходом в реализации "критических участков". Никакой "специфики" там обычно не требуется - просто изобретай или бери готовый (если знаешь какие и откуда) алгоритмы и аккуратно применяй их. Правда у наших систем есть свои специфика и "нюансы": у нас обычно вес код "unmanaged"... :о)))))) Это, кстати, очень хорошая "лакмусовая бумажка" на то, кто, как и чему научился в ВУЗе и какие книжки читал... Иногда такие "перлы" попадаются, что не верится, что человек не в пьяном угаре код писал... :о)
№ 1190 07-09-2006 14:20 | |
Ответ на »сообщение 1179« (Lisp Hobbyist)
___________________________
Отвечу честно --- в процентах не знаю. :-) Те или иные макросы в своих проектах используют, я думаю, большинство лисперов, но где проходит грань между парой макросов "для себя" и действительно серьезным DSL?
По границе, когда проект перерастает в корпоративную разработку. В принципе, критерием зрелости фирмы может являться процент повторно используемого корпоративного кода в продуктах и проектах предприятия. Чем он выше, - тем выше проработанность решений, продуманность и обобщённость их решений.
лично мне очень мало известно о внутрикорпоративных разработках в области DSL --- их не афишируют, считая (вполне справедливо) конкурентным преимуществом.
Могу ваз заверить, что в 99% случаев их ПРОСТО НЕТ. По крайней мере в украинских фирмах (а, скорее всего и в русских) это всё тот же пресловутый копи-пэйт метод... Детальной проработкой, выделением общностей, частностей и различий в сущностях своих предметных областей фирмы серьёзно НЕ занимаются. :о(
№ 1189 07-09-2006 12:38 | |
Ответ на »сообщение 1176« (bb)
___________________________
Достаточно поверхносто знаю Рефал, но думаю, он вполне может справиться с такой ролью расширяемого языка.
К сожалению, с моим не менее поверхностным его знанием, я совершенно не представляю, как эти расширения в него добавить.
Но если подумать, то какие расширения языку требуются? В синтаксисе, семантике, прагматике?
С точки зрения системы все расширения Лиспа выглядят просто как комбинация базовых примитивов, то есть, ничего не меняется. Но пользователь, фактически, получает новый язык, синтаксис и семантику которого ему предстоит осваивать. Или же вопрос был "зачем"? На этот вопрос, ИМХО, можно ответить только вопросом: а зачем вообще проводить анализ предметной области, выделять какие-то процедуры или тем более классы? Ответ, ИМХО, тот же --- для более точной и емкой передачи понятий предметной области.
чем не нравятся те же Occam или Oberon?
Для меня DSL подразумевают определение новых предметно-ориентированных конструкций, которые "гладко" вписываются в язык. Соответственно, Оберон, с моей (моей!) точки зрения, должной "гладкостью" не обладает.
№ 1188 07-09-2006 11:15 | |
Ответ на »сообщение 1187« ()
___________________________
Боярин, поведайте, уж не на Лиспе ль ваш драйвер был написан?
№ 1187 07-09-2006 11:02 | |
вспоминаю картину Сурикова с разгневанной боряней Морозовой
и царь петр говорит двтч боряня ты не права вскл
я драйвер телетайпа откопал
Сообщение не подписано
№ 1186 Удалено модератором | |
№ 1185 07-09-2006 09:14 | |
Ответ на »сообщение 1182« (Артем)
___________________________
>>> Сразу говорю, чтобы никто не обижался - дальше будет идти полушутливый стеб.
А до этого, значит, всё серьёзно было?
№ 1184 07-09-2006 09:14 | |
Ответ на »сообщение 1183« ()
___________________________
Интересно, а через какой гаджет с нами общается господин Сообщение не подписано ? Прикольно получается: тчк, зпт :)
Меня даже начинают терзать смутные сомнения о том, что этого господина мы знаем :)
№ 1183 07-09-2006 09:02 | |
Ответ на »сообщение 1167« (Сергей Перовский)
___________________________
Посмотрите на рукотворные языки, такие как эсперанто или иврит.
да не надо на них смотреть вскл я про то зпт что библиотеки ваять это дело не разработчиков языка и госстроя зпт а сообщества программистов тчк
ежели лисп и иже с ним игрушка и поле самоутверждения и гимнастики для яйцеголовых зпт то и не рассчитывайте на инфраструктуру нарастающую мясом середнячков при помощи стандартизующих их серый и массовый труд инструментов тире автоматов ide и методов ооп
Сообщение не подписано
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|