17,970 matches
-
Language" (ISBN 978-0-471-43014-8, publicată în 1962). APL a fost sursa de inspirație a lui John Backus când a inventat limbajul de programare FP. La începutul anilor 1990, Iverson, împreună cu Roger Hui, au creat un successor al lui APL, limbajul de programare J. La jumătatea anilor 1990, Arthur Whitney, care lucrase anterior cu Iverson, a creat limbajul de programare K, utilizat comercial în domeniul financiar. John Backus a descris limbajul de programare FP în prezentarea din 1977 de la decernarea Premiului Turing, prezentare
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
a inventat limbajul de programare FP. La începutul anilor 1990, Iverson, împreună cu Roger Hui, au creat un successor al lui APL, limbajul de programare J. La jumătatea anilor 1990, Arthur Whitney, care lucrase anterior cu Iverson, a creat limbajul de programare K, utilizat comercial în domeniul financiar. John Backus a descris limbajul de programare FP în prezentarea din 1977 de la decernarea Premiului Turing, prezentare intitulată Can Programming Be Liberated From the von Neumann Style? A Functional Style and its Algebra of
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
Hui, au creat un successor al lui APL, limbajul de programare J. La jumătatea anilor 1990, Arthur Whitney, care lucrase anterior cu Iverson, a creat limbajul de programare K, utilizat comercial în domeniul financiar. John Backus a descris limbajul de programare FP în prezentarea din 1977 de la decernarea Premiului Turing, prezentare intitulată Can Programming Be Liberated From the von Neumann Style? A Functional Style and its Algebra of Programs ("„Poate fi eliberată programarea de stilul Von Neumann? Un stil funcțional și
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
domeniul financiar. John Backus a descris limbajul de programare FP în prezentarea din 1977 de la decernarea Premiului Turing, prezentare intitulată Can Programming Be Liberated From the von Neumann Style? A Functional Style and its Algebra of Programs ("„Poate fi eliberată programarea de stilul Von Neumann? Un stil funcțional și algebra sa de programe”"). El definește programele funcționale ca fiind constituite într-o manieră ierarhică, prin utilizarea "formelor combinante" care permit o "algebră de programe"; în limbajul modern, aceasta înseamnă că programele
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
într-o manieră ierarhică, prin utilizarea "formelor combinante" care permit o "algebră de programe"; în limbajul modern, aceasta înseamnă că programele funcționale respectă principiul compoziționalității. Lucrarea lui Backus a popularizat cercetarea în domeniul limbajelor funcționale, deși a pus accent pe programarea la nivel funcțional, și nu pe stilul calculului lambda, stil ce a ajuns să fie asociat cu programarea funcțională. În anii 1970, a fost creat limbajul de programare ML, de către Robin Milner la Universitea Edinburgh, iar David Turner a dezvoltat
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
înseamnă că programele funcționale respectă principiul compoziționalității. Lucrarea lui Backus a popularizat cercetarea în domeniul limbajelor funcționale, deși a pus accent pe programarea la nivel funcțional, și nu pe stilul calculului lambda, stil ce a ajuns să fie asociat cu programarea funcțională. În anii 1970, a fost creat limbajul de programare ML, de către Robin Milner la Universitea Edinburgh, iar David Turner a dezvoltat întâi limbajul SASL la Universitea St. Andrews și apoi Miranda la Universitatea Kent. ML a fost ulterior dezvoltat
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
a popularizat cercetarea în domeniul limbajelor funcționale, deși a pus accent pe programarea la nivel funcțional, și nu pe stilul calculului lambda, stil ce a ajuns să fie asociat cu programarea funcțională. În anii 1970, a fost creat limbajul de programare ML, de către Robin Milner la Universitea Edinburgh, iar David Turner a dezvoltat întâi limbajul SASL la Universitea St. Andrews și apoi Miranda la Universitatea Kent. ML a fost ulterior dezvoltat mai departe în mai multe dialecte, cele mai cunoscute astăzi
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
David Turner a dezvoltat întâi limbajul SASL la Universitea St. Andrews și apoi Miranda la Universitatea Kent. ML a fost ulterior dezvoltat mai departe în mai multe dialecte, cele mai cunoscute astăzi fiind Objective Caml și Standard ML. Limbajul de programare Haskell a fost standardizat în 1998 la capătul a 10 ani de muncă devenind de atunci limbajul standard de cercetare si productie in din domeniul programării funcționale. Compilatorul de Haskell GHC este un proiect cu sursa deschisa si cu o
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
multe dialecte, cele mai cunoscute astăzi fiind Objective Caml și Standard ML. Limbajul de programare Haskell a fost standardizat în 1998 la capătul a 10 ani de muncă devenind de atunci limbajul standard de cercetare si productie in din domeniul programării funcționale. Compilatorul de Haskell GHC este un proiect cu sursa deschisa si cu o licenta tip BSD. Odată cu apariția unor cărti cum este Real World Haskell el a intrat definitiv în practica producției profesionale de software. Există o serie de
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
GHC este un proiect cu sursa deschisa si cu o licenta tip BSD. Odată cu apariția unor cărti cum este Real World Haskell el a intrat definitiv în practica producției profesionale de software. Există o serie de concepte și paradigme specifice programării funcționale, și care în general sunt străine programării imperative (inclusiv programării orientate obiect). Totuși, limbajele de programare sunt adesea hibrizi ale mai multor paradigme de programare, iar programatorii care utilizează limbaje "predominant imperative" ajung să utilizeze și unele dintre aceste
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
cu o licenta tip BSD. Odată cu apariția unor cărti cum este Real World Haskell el a intrat definitiv în practica producției profesionale de software. Există o serie de concepte și paradigme specifice programării funcționale, și care în general sunt străine programării imperative (inclusiv programării orientate obiect). Totuși, limbajele de programare sunt adesea hibrizi ale mai multor paradigme de programare, iar programatorii care utilizează limbaje "predominant imperative" ajung să utilizeze și unele dintre aceste concepte. Funcțiile sunt numite "de nivel înalt", sau
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
tip BSD. Odată cu apariția unor cărti cum este Real World Haskell el a intrat definitiv în practica producției profesionale de software. Există o serie de concepte și paradigme specifice programării funcționale, și care în general sunt străine programării imperative (inclusiv programării orientate obiect). Totuși, limbajele de programare sunt adesea hibrizi ale mai multor paradigme de programare, iar programatorii care utilizează limbaje "predominant imperative" ajung să utilizeze și unele dintre aceste concepte. Funcțiile sunt numite "de nivel înalt", sau "funcționale" dacă pot
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
cum este Real World Haskell el a intrat definitiv în practica producției profesionale de software. Există o serie de concepte și paradigme specifice programării funcționale, și care în general sunt străine programării imperative (inclusiv programării orientate obiect). Totuși, limbajele de programare sunt adesea hibrizi ale mai multor paradigme de programare, iar programatorii care utilizează limbaje "predominant imperative" ajung să utilizeze și unele dintre aceste concepte. Funcțiile sunt numite "de nivel înalt", sau "funcționale" dacă pot primi ca argument alte funcții, și
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
în practica producției profesionale de software. Există o serie de concepte și paradigme specifice programării funcționale, și care în general sunt străine programării imperative (inclusiv programării orientate obiect). Totuși, limbajele de programare sunt adesea hibrizi ale mai multor paradigme de programare, iar programatorii care utilizează limbaje "predominant imperative" ajung să utilizeze și unele dintre aceste concepte. Funcțiile sunt numite "de nivel înalt", sau "funcționale" dacă pot primi ca argument alte funcții, și dacă pot returna ca valoare alte funcții. (astfel de
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
returnarea de funcții ca valoare. Diferența între cele două este foarte subtilă: "funcționalele" descriu un concept matematic de funcții care operează pe alte funcții, iar "funcțiile de clasa întâi" este un termen din informatică ce descrie entități din limbajele de programare care nu au restricții la utilizare (astfel funcțiile de clasa întâi pot apărea oriunde într-un program unde pot apărea alte entități de clasa întâi, cum sunt numerele, inclusiv ca argumente ale altor funcții sau ca valori returnate de acestea
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
au memorie sau efecte laterale, dacă nu se ia în considerare calcularea rezultatului ca efect lateral. Aceasta înseamnă că funcțiile pure au câteva proprietăți utile, dintre care multe pot fi folosite pentru optimizarea codului: Deși multe compilatoare pentru limbaje de programare imperative detectează funcțiile pure, și efectuează eliminarea de subexpresii comune la apelul funcțiilor pure, ele nu pot să facă acest lucru întotdeauna pentru bibliotecile precompilate, care în general nu expun această informație, împiedicând astfel optimizările ce implică aceste funcții externe
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
înseamnă că valoarea lor este calculată o singură dată, deși ele sunt transmise funcției f simbolic. codice 20 Evaluarea lazy tinde să fie utilizată implicit în limbajele funcționale pure, ca Miranda, Clean și Haskell. Se poate folosi un stil funcțional de programare și în limbaje care nu sunt tradițional considerate funcționale. Unele limbaje nefuncționale au împrumutat unele caracteristici, cum ar fi funcțiile de nivel înalt de la limbajele funcționale. Astfel, este mai ușor să se adopte un stil funcțional la utilizarea acestor limbaje
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
utiliza pointeri pentru a obține efectele funcțiilor de nivel înalt, de exemplu se poate implementa funcția codice 21 cu ajutorul pointerilor. Unele limbaje declarative specifice unor domenii, cum sunt SQL sau Lex/Yacc , deși nu sunt mereu Turing-complete, folosesc unele elemente de programare funcțională, mai ales prin evitarea valorilor muabile. Programarea funcțională este foarte diferită de programarea imperativă. Cele mai semnificative diferențe provin din faptul că programarea funcțională evită efectele laterale, care sunt utilizate în programarea imperativă pentru implementarea stării și intrărilor și
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
nivel înalt, de exemplu se poate implementa funcția codice 21 cu ajutorul pointerilor. Unele limbaje declarative specifice unor domenii, cum sunt SQL sau Lex/Yacc , deși nu sunt mereu Turing-complete, folosesc unele elemente de programare funcțională, mai ales prin evitarea valorilor muabile. Programarea funcțională este foarte diferită de programarea imperativă. Cele mai semnificative diferențe provin din faptul că programarea funcțională evită efectele laterale, care sunt utilizate în programarea imperativă pentru implementarea stării și intrărilor și ieșirilor. Programarea funcțională pură interzice efectele laterale, ceea ce
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
implementa funcția codice 21 cu ajutorul pointerilor. Unele limbaje declarative specifice unor domenii, cum sunt SQL sau Lex/Yacc , deși nu sunt mereu Turing-complete, folosesc unele elemente de programare funcțională, mai ales prin evitarea valorilor muabile. Programarea funcțională este foarte diferită de programarea imperativă. Cele mai semnificative diferențe provin din faptul că programarea funcțională evită efectele laterale, care sunt utilizate în programarea imperativă pentru implementarea stării și intrărilor și ieșirilor. Programarea funcțională pură interzice efectele laterale, ceea ce îi aduce transparența referențială, care face
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
domenii, cum sunt SQL sau Lex/Yacc , deși nu sunt mereu Turing-complete, folosesc unele elemente de programare funcțională, mai ales prin evitarea valorilor muabile. Programarea funcțională este foarte diferită de programarea imperativă. Cele mai semnificative diferențe provin din faptul că programarea funcțională evită efectele laterale, care sunt utilizate în programarea imperativă pentru implementarea stării și intrărilor și ieșirilor. Programarea funcțională pură interzice efectele laterale, ceea ce îi aduce transparența referențială, care face mai ușor de verificat, optimizat, și paralelizat programele, și mai
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
sunt mereu Turing-complete, folosesc unele elemente de programare funcțională, mai ales prin evitarea valorilor muabile. Programarea funcțională este foarte diferită de programarea imperativă. Cele mai semnificative diferențe provin din faptul că programarea funcțională evită efectele laterale, care sunt utilizate în programarea imperativă pentru implementarea stării și intrărilor și ieșirilor. Programarea funcțională pură interzice efectele laterale, ceea ce îi aduce transparența referențială, care face mai ușor de verificat, optimizat, și paralelizat programele, și mai ușor de scris unelte automate de efectuare a acestor
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
mai ales prin evitarea valorilor muabile. Programarea funcțională este foarte diferită de programarea imperativă. Cele mai semnificative diferențe provin din faptul că programarea funcțională evită efectele laterale, care sunt utilizate în programarea imperativă pentru implementarea stării și intrărilor și ieșirilor. Programarea funcțională pură interzice efectele laterale, ceea ce îi aduce transparența referențială, care face mai ușor de verificat, optimizat, și paralelizat programele, și mai ușor de scris unelte automate de efectuare a acestor taskuri. Functionalele sunt rareori folosite în programarea imperativă. Acolo
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
și ieșirilor. Programarea funcțională pură interzice efectele laterale, ceea ce îi aduce transparența referențială, care face mai ușor de verificat, optimizat, și paralelizat programele, și mai ușor de scris unelte automate de efectuare a acestor taskuri. Functionalele sunt rareori folosite în programarea imperativă. Acolo unde un program imperativ ar utiliza o buclă pentru parcurgerea unei liste, un stil funcțional folosește adesea o funcțională, map, care primește ca argumente o funcție și o listă, aplicând funcția pe fiecare element al listei, returnând o
Programare funcțională () [Corola-website/Science/308128_a_309457]
-
primește ca argumente o funcție și o listă, aplicând funcția pe fiecare element al listei, returnând o listă cu rezultatele. Există taskuri pentru, de exemplu, menținerea balanței unui cont bancar, care adesea par cel mai natural de implementat folosind stări. Programarea funcțională pură efectuează aceste taskuri, precum și cele de intrare/ieșire cum ar fi citirea de date de la utilizator sau afișarea pe ecran în alt mod. Limbajul funcțional pur Haskell le implementează utilizând monadele, un concept provenit din teoria categoriilor. Monadele
Programare funcțională () [Corola-website/Science/308128_a_309457]