Re: Programmazione funzionale
KJKHyperion <[email protected]> Fri, 14 Jul 2006 22:14:22 +0200
| Newsgroups | gmane.comp.security.italian.devel |
|---|---|
| Organization | ReactOS project |
| Message-ID | <[email protected]> |
Carlo Bertoldi wrote: > S=EC, ma nel paper che ho citato, si parla soprattutto di programmazion= e funzionale lato web, per sostituire php ad esempio. > =20 aaah, =E8 *quel* paper :-) l'unico in circolazione :-) Comunque s=EC, da = un=20 punto di vista puramente tecnico, come linguaggio web il Lisp sarebbe=20 perfetto. Se fai caso, la maggior parte delle web application sono=20 basate su un concetto di tabelle di dati che applicate a dei template=20 producono HTML, che poi =E8 una delle tante forme possibili del modello=20 Model-View-Controller. Se per PHP, ASP.Net, ecc. c'=E8 bisogno di un=20 secondo linguaggio in cui scrivere il template (in genere un qualche=20 dialetto XML), con Lisp avresti il vantaggio di poter scrivere template=20 potentissimi nello stesso linguaggio in cui scrivi la business logic > Certamente la programmazione funzionale non =E8 una novit=E0, ed appunt= o per questo mi domando quale sia la sua reale diffusione, soprattutto ne= ll'ambito sopra citato. Se mi guardo intorno, vedo che la maggior parte d= el software =E8 scritta utilizzando un linguaggio imperativo, a parte il = caso lampante di Emacs. non del tutto vero. Una buona parte del software C++ in circolazione =E8 = scritto usando (in parte) il paradigma funzionale, grazie ai potenti=20 strumenti di metaprogrammazione che il linguaggio mette a disposizione.=20 E' impossibile per=F2 scrivere un intero programma in C++ usando il=20 paradigma funzionale, a causa di limitazioni del linguaggio e/o del=20 compilatore (ma ti consiglio, se "pratichi" il C++, di dare un'occhiata=20 alla libreria Boost, contiene librerie di funzioni nientemeno che=20 fantascientifiche, e dimostra che cose che riterresti "impossibili" in=20 C++ in realt=E0 sono solo difficili) E c'=E8 il problema che mentre in Lisp il testo del programma =E8=20 esprimibile in tipi di dato nativi di Lisp (nello specifico, delle=20 liste), ed =E8 scritto nella stessa sintassi in cui quei tipi vengono=20 dichiarati, permettendo di usare lo stesso linguaggio per scrivere il=20 codice vero e proprio e il codice di preprocessing, addirittura=20 manipolando la sintassi, introducendo nuove parole chiave (ad esempio un = nuovo tipo di loop), ecc., il C++ ha una sintassi estremamente pi=F9=20 complessa, e inoltre la sua fase di preprocessing =E8 gestita da un=20 linguaggio secondario molto, ma molto meno versatile ________________________________________________________ http://www.sikurezza.org - Italian Security Mailing List