Path: csiph.com!aioe.org!HC5LJc/frKuvU6Da+oxCZw.user.46.165.242.91.POSTED!not-for-mail From: bramante Newsgroups: it.comp.lang.javascript Subject: =?UTF-8?Q?Re=3a_cos=27=c3=a8_la_programmazione_funzionale=3f?= Date: Fri, 14 Jan 2022 19:21:17 +0100 Organization: Aioe.org NNTP Server Message-ID: References: <19nfckqxrsy2.dlg@news.luis.invalid> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: gioia.aioe.org; logging-data="6836"; posting-host="HC5LJc/frKuvU6Da+oxCZw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 Content-Language: it-IT X-Notice: Filtered by postfilter v. 0.9.2 Xref: csiph.com it.comp.lang.javascript:8367 Il 14/01/22 15:11, Luis ha scritto: > ho cercato si internet, ma non ho capito. > pensavo fosse la semplice programmazione senza classi e > oggetti, come si faceva una volta in pascal, c ... > invece sospetto che sia qualcosa di più > E' un paradigma di programmazione, come è la OOP , o l'imperativo ma mentre l'imperativo si basa su una serie di istruzioni (comandi, operazioni, cicli ecc) e il flusso del programma si basa nelle eseguirle step by step e la OOP si basa sul definire una serie di classi (insieme di proprietà e metodi) e il flusso del programma si basa sull'interscambio di dati tra le instanze di queste classi la funzionale si basa sul fatto che il flusso del programma viene eseguito chiamando e iterando su funzioni e il risultato di una funzione viene inviato alla successiva. è molto apprezzata in ambito accademico proprio per il fatto che deriva dalle funzioni matematiche. prendendo l'esempio di wiki Imperativo: const numList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; let result = 0; for (let i = 0; i < numList.length; i++) { if (numList[i] % 2 === 0) { result += numList[i] * 10; } } Funzionale const result = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] .filter(n => n % 2 === 0) .map(a => a * 10) .reduce((a, b) => a + b);