In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state.

PropertyValue
dbpprop:abstract
  • In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state.
  • Funktionale Programmierung ist ein Programmierparadigma. Programme bestehen hier ausschließlich aus einer Vielzahl von Funktionen, daher der Name. Das Hauptprogramm ist eine Funktion, welche die Eingabedaten als Argument erhält und die Ausgabedaten als seinen Wert zurückliefert. Diese Hauptfunktion verwendet in ihrer Definition üblicherweise weitere Funktionen, die wiederum ihrerseits weitere Funktionen verwenden, und das geht so weiter, bis irgendwann, am Boden der Aufrufhierarchie ankommend, nur noch die Grundfunktionen der Programmiersprache verwendet werden, z. B. Addition, Konkatenation etc. Die Benutzung von Funktionen in der funktionalen Programmierung unterscheidet sich von der in imperativen Sprachen dadurch, dass die Reihenfolge der Berechnungen nicht angegeben werden muss. Das Programm beschreibt lediglich Abhängigkeiten von Daten. Eine funktionale Programmiersprache ist eine Programmiersprache, die Sprachelemente zur Kombination und Transformation von Funktionen anbietet. Eine rein funktionale Programmiersprache ist eine Programmiersprache, die die Verwendung von Elementen ausschließt, die im Widerspruch zum funktionalen Programmierparadigma stehen. Einige Autoren verwenden den Ausdruck „funktionale Programmiersprache“ gleichbedeutend mit „rein funktionale Programmiersprache“.
  • En informàtica, la programació funcional és un paradigma de programació que tracta les computacions com un procés d'aplicació de funcions, evitant les dades mudables amb els seus canvis d'estat. La programació funcional es fonamenta en el càlcul lambda, un sistema formal desenvolupat en els anys 1930s. La diferència entre funció matemàtica i el concepte de funció emprat en la programació imperativa és que les funcions imperatives tenen efectes laterals, canviant el valor d'objectes ja calculats, mostrant una manca d'integritat referencial, doncs una mateixa expressió pot tenir diferents valors en moments diferents, depenen de l'estat d'execució del programa. Els llenguatges de programació funcional, sobretot els funcionalment purs, han estat esperonats en cercles universitaris més que no en el sector comercial. Tanmateix n'hi ha amb un notable ús comercial, entre els que s'inclouen Scheme, Haskell, Erlang, ML, Scala i llenguatges de domini específic com R (estadística), Mathematica, J i K en anàlisi financera i XSLT en transformació de documents. Llenguatges declaratius com SQL i Lex/Yacc empren aspectes de programació funcional, esquivant les variables mudables. Els fulls de càlcul també poden ser vistos com a llenguatges de programació funcional.
  • Funkcionální programování patří mezi deklarativní programovací principy. Alonzo Church vytvořil formální výpočtový model nazvaný <math>\lambda</math>-kalkul. Tento model slouží jako základ pro funkcionální jazyky. Funkcionální jazyky dělíme na: typované – Haskell netypované – Lisp, Scheme Výpočtem funkcionálního programu je posloupnost vzájemně ekvivalentních výrazů, které se postupně zjednodušují. Výsledkem výpočtu je výraz v normální formě, tedy dále nezjednodušitelný. Program je chápán jako jedna funkce obsahující vstupní parametry mající jediný výstup. Tato funkce pak může být dále rozložitelná na podfunkce.
  • La programación funcional es un paradigma de programación declarativa basado en la utilización de funciones matemáticas.
  • Funktionaalinen ohjelmointi eli funktio-ohjelmointi on ohjelmointiparadigma, joka perustuu matemaattisten funktioiden käyttöön ja tarkemmin lambda-kalkyyliin. Puhtaasti funktionaalisissa ohjelmissa ei ole lainkaan tilaa eikä siten myöskään sijoituslausetta tai silmukoita: muuttujaan ei voida sijoittaa uutta arvoa, ja suuret tietomäärät käsitellään rekursion avulla. Toisin kuin imperatiivisessa ohjelmoinnissa, funktiolla ei ole sivuvaikutuksia eli sen arvo on aina sama samoilla parametreilla. Monet funktionaaliset ohjelmointikielet eivät ole puhtaasti funktionaalisia, vaan tukevat myös tilamuuttujia ja sivuvaikutuksia. Puhtaudella on joitain ongelmallisia kohtia, kuten monimutkainen syötön ja tulostuksen toteutus, joka vastaavasti on helppo toteuttaa jos sivuvaikutukset sallitaan. Silti ohjelmointikieltä pidetään funktionaalisena, mikäli sillä pääsääntöisesti ohjelmoidaan kuten puhtaasti funktionaalisilla kielillä. Yliopistoissa suosituimpia funktionaalisia ohjelmointikieliä ovat Lisp/Scheme ja Haskell sekä symboliseen matematiikkaan Mathematica. Yritysmaailmassa käytetään enemmän Common Lispiä, Erlangia, Scalaa ja XML-tiedostojen muuntamiseen tarkoitettua XSLT:tä. Lisäksi monissa imperatiivisissa kielissä on jonkinlaista tukea funktionaaliselle ohjelmoinnille: usein ainakin funktion voi antaa parametrina, ja joskus kielessä on rakenne nimettömien funktioiden luomiseen lambda-lausekkeella. Merkittävänä poikkeuksena Java ei tue suoraan oikeastaan mitään funktionaalisen ohjelmoinnin apuvälinettä.
  • La programmation fonctionnelle est un paradigme de programmation qui considère le calcul en tant qu'évaluation de fonctions mathématiques et rejette le changement d'état et la mutation des données. Elle souligne l'application des fonctions, contrairement au modèle de programmation impérative qui met en avant les changements d'état. Un langage fonctionnel est donc un langage de programmation dont la syntaxe et les caractéristiques encouragent la programmation fonctionnelle. Alors que l'origine de la programmation fonctionnelle peut être trouvée dans le lambda-calcul, le langage fonctionnel le plus ancien est Lisp, créé en 1958 par McCarthy. Lisp a donné naissance à des variantes telles que Scheme et Common Lisp, qui comme Lisp ne sont pas ou peu typés. Des langages fonctionnels plus récents tels ML, Haskell, OCaml, Erlang, Clean et Oz ou CDuce sont fortement typés.
  • In informatica, la programmazione funzionale è un paradigma di programmazione in cui il flusso di esecuzione del programma assume la forma di una serie di valutazioni di funzioni matematiche. Solitamente questo approccio viene usato maggiormente in ambiti accademici piuttosto che industriali. Il punto di forza principale di questo paradigma è la mancanza di effetti collaterali (side-effect) delle funzioni, il che comporta una più facile verifica della correttezza e della mancanza di bug del programma e la possibilità di una maggiore ottimizzazione dello stesso. Un uso particolare del paradigma, per l'ottimizzazione dei programmi, è quello di trasformare gli stessi per utilizzarli nella programmazione parallela. La programmazione funzionale pone maggior accento sulla definizione di funzioni, rispetto ai paradigmi procedurali e imperativi, che invece prediligono la specifica di una sequenza di comandi da eseguire. In questi ultimi, i valori vengono calcolati cambiando lo stato del programma attraverso delle assegnazioni; un programma funzionale, invece, è immutabile: i valori non vengono trovati cambiando lo stato del programma, ma costruendo nuovi stati a partire dai precedenti.
  • 関数型言語(かんすうがたげんご)は、純粋関数型言語と非純粋関数型言語の総称。 ラムダ計算の概念をプログラミング言語として体現したものである。すべての計算は関数の評価によって行われる。
  • Een functionele programmeertaal is een programmeertaal waarin programma's opgesteld worden in de vorm van een functie die toegepast wordt om een resultaat te vinden. Voorbeelden van functionele programmeertalen zijn APL, Erlang, Haskell, Lisp, ML, Scheme en F#.
  • Programowanie funkcyjne (lub programowanie funkcjonalne) - filozofia programowania będąca odmianą programowania deklaratywnego, w której funkcje należą do wartości podstawowych, a nacisk kładzie się na wartościowanie (często rekurencyjnych) funkcji, a nie na wykonywanie poleceń.
  • Programação funcional é um paradigma de programação que trata a computação como uma avaliação de funções matemáticas e que evita estados ou dados mutáveis. Ela enfatiza a aplicação de funções, em contraste da programação imperativa, que enfatiza mudanças no estado do programa, R (estatística), Mathematica (matemática simbólica) J e K (análise financeira) e XSLT. Importantes influências na programação funcional foram o cálculo lambda, as linguagens de programação APL e Lisp, e mais recentemente ML e Haskell.
  • Programarea funcţională este o paradigmă de programare care tratează calculul ca evaluare de funcţii matematice şi evită starea şi datele muabile. Se pune accent pe aplicarea de funcţii, spre deosebire de programarea imperativă, care foloseşte în principal de schimbările de stare. Modelul matematic al programării funcţionale îl reprezintă calculul lambda. Limbajele funcţionale moderne pot fi considerate extensii ale calculului lambda. Noţiunea de bază în această paradigmă este cea de funcţională sau funcţie de nivel înalt, o funcţie care poate accepta ca argument sau returna ca valoare o altă funcţie. Deşi nu sunt complet funcţionale, atât primele versiuni de Lisp cât şi APL au fost importante în dezvoltarea programării funcţionale. Versiunile mai recente de Lisp, cum sunt Scheme şi unele variante de APL furnizează suport funcţional complet. Printre alte limbaje funcţionale importante se numără Erlang, Haskell, şi ML. Limbajele de programare funcţionale, mai ales cele pur funcţionale, sunt promovate mai ales în mediile academice, fiind rar folosite în dezvoltarea de software comercial. Totuşi, există limbaje funcţionale folosite şi în industrie şi în aplicaţii comerciale, cum ar fi Erlang, OCaml, Haskell, Scheme (din 1986) şi limbaje de programare specifice unor domenii, ca R (în statistică), Mathematica (calcul simbolic), J şi K (în analiza financiară), şi XSLT. Multe limbaje de programare nefuncţionale, cum sunt C, C++ şi C# pot fi făcute să aibă un comportament funcţional prin utilizarea pointerilor la funcţii, biblioteca <functional>, respectiv funcţiile lambda.
  • Функциона́льное программи́рование — раздел дискретной математики и парадигма программирования, в которой процесс вычисления трактуется как вычисление значений функций в математическом понимании последних (в отличие от функций как подпрограмм в процедурном программировании). Противопоставляется парадигме императивного программирования, которая описывает процесс вычислений как последовательность изменения состояний (в значении, подобном таковому в теории автоматов). Функциональное программирование не предполагает изменяемость данных (в отличие от императивного, где одной из базовых концепций является переменная). На практике отличие математической функции от понятия «функции» в императивном программировании заключается в том, что императивные функции взаимодействуют и изменяют уже определённые данные. Таким образом, в императивном программировании, при вызове одной и той же функции с одинаковыми параметрами можно получить разные данные на выходе, из-за влияния на функцию внешних факторов. А в функциональном языке при вызове функции с одними и теми же аргументами мы всегда получим одинаковый результат в обоих случаях, входные данные не могут измениться, выходные данные зависят только от них. λ-исчисления являются основой для функционального программирования, многие функциональные языки можно рассматривать как «надстройку» над ними. Наиболее известными языками функционального программирования являются: XQuery Haskell — чистый функциональный. Назван в честь Хаскелла Карри. LISP. ML. Miranda. Erlang — функциональный язык с поддержкой процессов. Nemerle — гибридный функционально/императивный язык. F# - функциональный язык для платформы . NET Ещё не полностью функциональные изначальные версии и Lisp и APL внесли особый вклад в создание и развитие функционального программирования. Более поздние версии Lisp, такие как Scheme, а так же различные варианты APL поддерживали все свойства и концепции функционального языка. Как правило, интерес к функциональным языкам программирования, особенно чисто функциональным, был сугубо научный, нежели коммерческий. Однако, таким примечательным языкам как Erlang, OCaml, Haskell, Scheme (после 1986) а так же специфическим R (статистика), Mathematica (символическая математика), J и K (финансовый анализ), и XSLT находили применение в индустрии коммерческого программирования. Такие широко распространенные декларативные языки как SQL и Lex/Yacc содержат некоторые элементы функционального программирования, они остерегаются использовать переменные. Языки работы с электронными таблицами также можно рассматривать как функциональные. Многие нефункциональные языки, такие как C, C++ и C# могут вести себя как функциональные при использовании указателей на функцию, в соответствие с библиотекой <functional> и λ-исчислениями.
  • Funktionell programmering är en form av programmering inom vilken program konstrueras genom komposition av matematiska funktioner, och exekvering innebär att funktionerna utvärderas. Detta kan kontrasteras med proceduriell och imperativ programmering, där datorn instrueras att utföra instruktioner sekventiellt. Det finns ett flertal funktionella programspråk. Funktionell programmering har flera fördelar: Den lämpar sig väl för avancerade programmeringstekniker som funktioner av högre ordning och polymorfism. Frånvaron av sidoeffekter minskar risken för buggar och gör program mer modulära. Det blir lättare att bevisa att ett program är korrekt, dvs. gör vad det är avsett att göra. Optimeringstekniker som till exempel memoisation och lat evaluering kan tillämpas. Funktionella program lämpar sig väl för automatiserad analys. Till nackdelarna hör: Funktionella språk kan vara ineffektiva jämfört med imperativa språk, framför allt vid användning av komplicerade datastrukturer. Funktionella program använder tekniker som många programmerare finner svåra att förstå och tillämpa, som rekursion, funktioner av högre ordning och polymorfism. In- och utmatning (t. ex. text, grafik och styrning av hårdvara) kan bli problematiskt i funktionella språk. Funktionell programmering har sitt ursprung i Lambdakalkylen, som utvecklades på 1930-talet av Alonzo Church. Det äldsta funktionella språket är Lisp, vilket utvecklades på 1960-talet och näst Fortran är det äldsta programspråket som fortfarande används i större utsträckning. Det finns flera varianter av Lisp, däribland Common Lisp, Logo, Scheme och Dylan. Till de moderna funktionella språken hör Haskell, ML (samt versioner av detta), Erlang, Clean och Miranda.
  • Функційне програмування — парадигма програмування, яка розглядає програму як обчислення математичних функцій та уникає стани та змінні дані. Функційне програмування наголошує на застосуванні функцій, на відміну від імперативного програмування, яке наголошує на змінах в стані та виконанні послідовностей команд. Іншими словами, функційне програмування є способом створення програм, в яких єдиною дією є виклик функції, єдиним способом розбиття програми є створення нового імені функції та задання для цього імені виразу, що обчислює значення функції, а єдиним правилом композиції є оператор суперпозиції функцій. Жодних комірок пам'яті, операторів присвоєння, циклів, ні, тим більше, блок схем чи передачі управління. Ширша концепція функційного програмування визначає набір спільних правил та тем замість переліку відмінностей від інших парадигм. До таких, що часто вважаються важливими, належать функції вищого порядку та першого класу, замикання, та рекурсія. До інших поширених можливостей функційних мов програмування належать продовження, система типізації Хіндлі-Мілнера, нечіткі обчислення (включно з, але, не обмежуючись лінивими обчисленнями), та монади. Основну увагу функційним мовам програмування, особливо, «чисто функційним», приділили академічні дослідники. Однак, до відомих функційних мов програмування, які використовуються в промисловості та комерційному програмуванні належить Erlang (паралельні програми), R (статистика), Mathematica (символьні обчислення)), J та K, та спеціалізовані мови програмування наприклад XSLT. Істотний вплив на функціональне програмування здійснило лямбда-числення, мова програмування APL, мова програмування Lisp та, новіша мова програмування Haskell.
  • 函數式編程是種編程典範,它將電腦運算視為函數的計算。函數程式語言最重要的基礎是 λ 演算(lambda calculus)。而且λ演算的函數可以接受函數當作輸入(引數)和輸出(傳出值)。 和指令式編程相比,函數式編程強調函數的計算比指令的執行重要。 和過程化編程相比,函數式編程裏,函數的計算可隨時調用。
dbpprop:date
  • May 2009
dbpprop:hasPhotoCollection
dbpprop:reference
dbpprop:wikiPageUsesTemplate
rdf:type
rdfs:comment
  • In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state.
  • Funktionale Programmierung ist ein Programmierparadigma. Programme bestehen hier ausschließlich aus einer Vielzahl von Funktionen, daher der Name. Das Hauptprogramm ist eine Funktion, welche die Eingabedaten als Argument erhält und die Ausgabedaten als seinen Wert zurückliefert.
  • En informàtica, la programació funcional és un paradigma de programació que tracta les computacions com un procés d'aplicació de funcions, evitant les dades mudables amb els seus canvis d'estat. La programació funcional es fonamenta en el càlcul lambda, un sistema formal desenvolupat en els anys 1930s.
  • Funkcionální programování patří mezi deklarativní programovací principy. Alonzo Church vytvořil formální výpočtový model nazvaný <math>\lambda</math>-kalkul. Tento model slouží jako základ pro funkcionální jazyky. Funkcionální jazyky dělíme na: typované – Haskell netypované – Lisp, Scheme Výpočtem funkcionálního programu je posloupnost vzájemně ekvivalentních výrazů, které se postupně zjednodušují.
  • La programación funcional es un paradigma de programación declarativa basado en la utilización de funciones matemáticas.
  • Funktionaalinen ohjelmointi eli funktio-ohjelmointi on ohjelmointiparadigma, joka perustuu matemaattisten funktioiden käyttöön ja tarkemmin lambda-kalkyyliin. Puhtaasti funktionaalisissa ohjelmissa ei ole lainkaan tilaa eikä siten myöskään sijoituslausetta tai silmukoita: muuttujaan ei voida sijoittaa uutta arvoa, ja suuret tietomäärät käsitellään rekursion avulla.
  • La programmation fonctionnelle est un paradigme de programmation qui considère le calcul en tant qu'évaluation de fonctions mathématiques et rejette le changement d'état et la mutation des données. Elle souligne l'application des fonctions, contrairement au modèle de programmation impérative qui met en avant les changements d'état. Un langage fonctionnel est donc un langage de programmation dont la syntaxe et les caractéristiques encouragent la programmation fonctionnelle.
  • In informatica, la programmazione funzionale è un paradigma di programmazione in cui il flusso di esecuzione del programma assume la forma di una serie di valutazioni di funzioni matematiche. Solitamente questo approccio viene usato maggiormente in ambiti accademici piuttosto che industriali.
  • 関数型言語(かんすうがたげんご)は、純粋関数型言語と非純粋関数型言語の総称。 ラムダ計算の概念をプログラミング言語として体現したものである。すべての計算は関数の評価によって行われる。
  • Een functionele programmeertaal is een programmeertaal waarin programma's opgesteld worden in de vorm van een functie die toegepast wordt om een resultaat te vinden. Voorbeelden van functionele programmeertalen zijn APL, Erlang, Haskell, Lisp, ML, Scheme en F#.
  • Programowanie funkcyjne (lub programowanie funkcjonalne) - filozofia programowania będąca odmianą programowania deklaratywnego, w której funkcje należą do wartości podstawowych, a nacisk kładzie się na wartościowanie (często rekurencyjnych) funkcji, a nie na wykonywanie poleceń.
  • Programação funcional é um paradigma de programação que trata a computação como uma avaliação de funções matemáticas e que evita estados ou dados mutáveis. Ela enfatiza a aplicação de funções, em contraste da programação imperativa, que enfatiza mudanças no estado do programa, R (estatística), Mathematica (matemática simbólica) J e K (análise financeira) e XSLT.
  • Programarea funcţională este o paradigmă de programare care tratează calculul ca evaluare de funcţii matematice şi evită starea şi datele muabile. Se pune accent pe aplicarea de funcţii, spre deosebire de programarea imperativă, care foloseşte în principal de schimbările de stare. Modelul matematic al programării funcţionale îl reprezintă calculul lambda. Limbajele funcţionale moderne pot fi considerate extensii ale calculului lambda.
  • Funktionell programmering är en form av programmering inom vilken program konstrueras genom komposition av matematiska funktioner, och exekvering innebär att funktionerna utvärderas. Detta kan kontrasteras med proceduriell och imperativ programmering, där datorn instrueras att utföra instruktioner sekventiellt. Det finns ett flertal funktionella programspråk.
  • Функційне програмування — парадигма програмування, яка розглядає програму як обчислення математичних функцій та уникає стани та змінні дані.
  • 函數式編程是種編程典範,它將電腦運算視為函數的計算。函數程式語言最重要的基礎是 λ 演算(lambda calculus)。而且λ演算的函數可以接受函數當作輸入(引數)和輸出(傳出值)。 和指令式編程相比,函數式編程強調函數的計算比指令的執行重要。 和過程化編程相比,函數式編程裏,函數的計算可隨時調用。
rdfs:label
  • Functional programming
  • Funktionale Programmierung
  • Programació funcional
  • Funkcionální programování
  • Programación funcional
  • Funktionaalinen ohjelmointi
  • Programmation fonctionnelle
  • Programmazione funzionale
  • 関数型言語
  • Functioneel programmeren
  • Programowanie funkcyjne
  • Programação funcional
  • Programare funcţională
  • Функциональное программирование
  • Funktionell programmering
  • Функціональне програмування
  • 函數程式語言
owl:sameAs
skos:subject
foaf:page
is dbpprop:influencedBy of
is dbpprop:paradigm of
is dbpprop:redirect of
is owl:sameAs of