Difference between revisions of "Programare Functionala - O introducere utilizand limbajul Haskell"
(adding download link) |
|||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category:Ro]] |
||
⚫ | |||
+ | [[Image:Haskelllogo-small-flag-RO-8.jpg|center|Haskell - Un limbaj functional pur]] |
||
+ | <center> |
||
+ | Haskell este limbajul functional succesor al LISP-ului, Scheme-ului si ML-ului !!!<br> |
||
+ | Haskell este cel mai productiv limbaj functional ! Este limbajul folosit de de autorii limbajului Perl 6 si ales de echipa Linspire. <br> V-am starnit curiozitatea ? Avem si o pagina cuprinzand [[Intrebarile incepatorului]] |
||
+ | <br> |
||
+ | ---- |
||
+ | Aici este o prezentare a cartii: Programare functionala - O introducere utilizand limbajul Haskell de Mihai Gontineac. Autorul ne-a promis cateva capitole pentru Download care vor apare pe site-ul dumnealui. Veti putea face download-ul si de aici. [[http://www.math.uaic.ro/~gonti/Cursuri/ProgramareFunctionala/ProgrFunct.pdf Download ]] <BR> |
||
⚫ | |||
+ | ---- |
||
+ | Pina atunci cititi [[Capitole de manual]] din cartea scrisa de Dan Popa, de la Universitatea Bacau. Puteti face Download de pdf.-uri cu [[Capitole de manual]] pentru studiu. |
||
+ | |||
+ | </center> |
||
+ | <br> |
||
⚫ | |||
+ | <center> |
||
+ | {| border=0 cellspacing=5 cellpadding=15 |
||
+ | | valign=top bgcolor=#F0F0F0 style="text-align:left" | |
||
+ | |||
+ | == Programare functionala - O introducere utilizand limbajul Haskell == |
||
+ | de Mihai Gontineac (Stire din 16.feb.2007) <br>[[Image:Haskell-Gontineac-coperta-mica.jpg]]<br> |
||
+ | |||
⚫ | |||
+ | |||
⚫ | |||
+ | |||
⚫ | |||
+ | |||
+ | pg 48-52 : Instalarea compilatorului GHC si rularea unui program folosind GHC. |
||
+ | |||
+ | pg 53-86 : Traducerea documentatiei Standard Prelude. O lista de circa 79 de functii buna si pentru a fi aratata in clasa, de la catedra. Circa 20 de linii / pagina cu un font mare, vizibil. Utila studentilor cu un eventual handicap in ceea ce priveste vederea sau purtatorilor de ochelari cu multe dioptrii. |
||
+ | |||
+ | pg 87 si urmatoarele...: Manualul de limbaj Haskell incepe practic aici. Primul punct il constituie notiunile despre aritmetica si operatori. Marii absenti remarcati (la prima citire): Operatorii `div` , `elem`, si ! Cuprinde: <br> |
||
+ | - Aritmetica si operatori. <br> |
||
+ | - Upluri. <br> |
||
+ | - Liste, string-uri. show si read. <br> |
||
+ | - Functii : map, filter, foldr. Salutam prezenta unui paragraf despre foarte utilul foldr. Nu-mi amintesc sa-l fi gasit pe foldl.<br> |
||
+ | - Crearea fisierelor proprii. <br> |
||
+ | - Reguli de layout. <br> |
||
+ | - Functii (imperative!?!) cu if si case. <br> |
||
+ | - Declaratii: let, where. <br> |
||
+ | |||
+ | pg 103 si urmatoarele: Recursivitate. |
||
+ | |||
+ | pg 104: Factorialul scris IMPERATIV in limbajul C |
||
+ | |||
+ | pg 108: Fibonacci. Despre celebrul sir cu acelasi nume. Preluat dintr-un articol |
||
+ | din care citam: "this is an example how we can improve the performance..." |
||
+ | |||
+ | pg 109: Exercitii. 2 ex. |
||
+ | |||
+ | ... urmeaza I/O: si clasicul joc cu numere Guess.hs. |
||
+ | |||
+ | pg 115: "Unde este greseala ?" Clasicul program "askForWords" . (Se gaseste sau se gasea si pe Internet.) |
||
+ | |||
+ | pg 164-201: Anexa realizata de studentii domnului M.Gontineac. |
||
+ | - Contine programe facute de studenti care treceau, nu usor, de la Pascal la Haskell :) <br> |
||
+ | - stilul de programare este cel al programarii IMPERATIVE din Pascal-ul anilor '70-'80 pentru terminale consola in mod text. <br> |
||
+ | - multe pagini de surse realizate cu copy si paste desi programarea functionala ar fi permis definirea unor functii in care partea diferita sa fie parametru. <br> |
||
+ | - unele surse de program contin texte partial in engleza si partial in romana. Este un stil specific incepatorilor in programare. <br> |
||
+ | - programele contin comentarii mari, enorme, adesea nejustificate. <br> |
||
+ | - Copierea de texte cu copy , paste si replace ar trebui, repet, abandonata in favoarea folosirii functiilor cu mai multi parametri. <br> |
||
+ | Anexa prezinta mai curand exemple cum sa NU programati in Haskell. Sau exemple care arata ca in Haskell se poate programa si in stilul din Pascal. |
||
+ | |||
+ | Autorul isi apreciaza extrem de corect si critic volumul scriind la pagina 10 |
||
+ | "Lucrarea realizeaza o <<mica>> introducere in ceea ce se vrea modelul de programare functional. Dupa o scurta introducere in lambda calcul, adica fundamentul teoretic al acestui model de programare, vom incepe studiul posibilitatilor oferite de programarea functionala cu ajutorul limbajului Haskell." - Bineinteles ignoram ghilimelele ce incadreaza cuvantul "mica". |
||
+ | |||
+ | Nu cautati in carte: Un capitol despre monade desi sunt date exemple de programe care folosesc monada de I/O (atat de des comparata cu un cos ...) cat si un capitol despre vectori in Haskell ( dar la implementarea vectorilor Haskell nu exceleaza.) Poate ca este mai bine asa !?! |
||
+ | |||
+ | Concluzie: Este o carte pregatita sub presiunea timpului cerut de concursul pentru postul la care a candidat domnul M.Gontineac. De admirat turul de forta organizatorica al autorului care fara sa fie specialist in programarea in Haskell a mobilizat studentii, a tradus documentatia Standard Prelude, a cautat pe net exemple clasice si le-a tradus, a selectat teoria matematica si in final a asamablat o carte de peste 200 pagini (mai exact 206) . Dintre ele, manualul de limbaj Haskell se intinde cam intre paginile 87 - 163 (cu o mica intrerupere). Deci sunt circa 75 de pagini despre cum se poate programa in Haskell ce merita cu siguranta citite, separat de documentatia Standard Prelude. |
||
+ | |||
+ | Bibliografia: Include la punctul [10] celebra "The History of Haskell" publicata de ACM Press in 2007 si la punctul [13] G.Hutton, Programming in Haskell, Cambridge University Press (january 31,2007). Bibliografia nu contine nici un titlu despre Haskell in limba romana. |
||
+ | |||
+ | ---- |
||
+ | Pagina indexata la indexul [[Category:Ro]] [http://www.haskell.org/haskellwiki/Category:Ro Categories:Ro] |
||
+ | ---- |
||
+ | [http://www.haskell.org/haskellwiki/Ro/Haskell <= Inapoi la inceputul paginii principale Ro/Haskell. ]<br> <br> |
||
+ | [http://www.haskell.org/haskellwiki/Intrebarile_incepatorului <'''-''' Inapoi la Intrebarile incepatorului Ro/Haskell. ] |
Latest revision as of 17:07, 14 March 2011
Haskell este limbajul functional succesor al LISP-ului, Scheme-ului si ML-ului !!!
Haskell este cel mai productiv limbaj functional ! Este limbajul folosit de de autorii limbajului Perl 6 si ales de echipa Linspire.
V-am starnit curiozitatea ? Avem si o pagina cuprinzand Intrebarile incepatorului
Aici este o prezentare a cartii: Programare functionala - O introducere utilizand limbajul Haskell de Mihai Gontineac. Autorul ne-a promis cateva capitole pentru Download care vor apare pe site-ul dumnealui. Veti putea face download-ul si de aici. [Download ]
Pina atunci cititi Capitole de manual din cartea scrisa de Dan Popa, de la Universitatea Bacau. Puteti face Download de pdf.-uri cu Capitole de manual pentru studiu.
Programare functionala - O introducere utilizand limbajul Haskellde Mihai Gontineac (Stire din 16.feb.2007) Cartea semnata de domnul M.Gontineac si intitulata "Programare Functionala - O introducere utilizand limbajul Haskell" cuprinde: pg 13-39 : Elemente de lambda calcul. Este matematica ce sta la baza limbajelor functionale. Un capitol fara varsta, etern valabil si de neomis de catre un matematician adevarat. pg 41-47 : Istoria Haskell-ului. Utila, clara, documentata la zi. pg 48-52 : Instalarea compilatorului GHC si rularea unui program folosind GHC. pg 53-86 : Traducerea documentatiei Standard Prelude. O lista de circa 79 de functii buna si pentru a fi aratata in clasa, de la catedra. Circa 20 de linii / pagina cu un font mare, vizibil. Utila studentilor cu un eventual handicap in ceea ce priveste vederea sau purtatorilor de ochelari cu multe dioptrii. pg 87 si urmatoarele...: Manualul de limbaj Haskell incepe practic aici. Primul punct il constituie notiunile despre aritmetica si operatori. Marii absenti remarcati (la prima citire): Operatorii `div` , `elem`, si ! Cuprinde: pg 103 si urmatoarele: Recursivitate. pg 104: Factorialul scris IMPERATIV in limbajul C pg 108: Fibonacci. Despre celebrul sir cu acelasi nume. Preluat dintr-un articol din care citam: "this is an example how we can improve the performance..." pg 109: Exercitii. 2 ex. ... urmeaza I/O: si clasicul joc cu numere Guess.hs. pg 115: "Unde este greseala ?" Clasicul program "askForWords" . (Se gaseste sau se gasea si pe Internet.) pg 164-201: Anexa realizata de studentii domnului M.Gontineac.
- Contine programe facute de studenti care treceau, nu usor, de la Pascal la Haskell :) Autorul isi apreciaza extrem de corect si critic volumul scriind la pagina 10 "Lucrarea realizeaza o <<mica>> introducere in ceea ce se vrea modelul de programare functional. Dupa o scurta introducere in lambda calcul, adica fundamentul teoretic al acestui model de programare, vom incepe studiul posibilitatilor oferite de programarea functionala cu ajutorul limbajului Haskell." - Bineinteles ignoram ghilimelele ce incadreaza cuvantul "mica". Nu cautati in carte: Un capitol despre monade desi sunt date exemple de programe care folosesc monada de I/O (atat de des comparata cu un cos ...) cat si un capitol despre vectori in Haskell ( dar la implementarea vectorilor Haskell nu exceleaza.) Poate ca este mai bine asa !?! Concluzie: Este o carte pregatita sub presiunea timpului cerut de concursul pentru postul la care a candidat domnul M.Gontineac. De admirat turul de forta organizatorica al autorului care fara sa fie specialist in programarea in Haskell a mobilizat studentii, a tradus documentatia Standard Prelude, a cautat pe net exemple clasice si le-a tradus, a selectat teoria matematica si in final a asamablat o carte de peste 200 pagini (mai exact 206) . Dintre ele, manualul de limbaj Haskell se intinde cam intre paginile 87 - 163 (cu o mica intrerupere). Deci sunt circa 75 de pagini despre cum se poate programa in Haskell ce merita cu siguranta citite, separat de documentatia Standard Prelude. Bibliografia: Include la punctul [10] celebra "The History of Haskell" publicata de ACM Press in 2007 si la punctul [13] G.Hutton, Programming in Haskell, Cambridge University Press (january 31,2007). Bibliografia nu contine nici un titlu despre Haskell in limba romana. Pagina indexata la indexul Categories:Ro <= Inapoi la inceputul paginii principale Ro/Haskell. |