Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.lang.javascript > #8366 > unrolled thread

cos'è la programmazione funzionale?

Started byLuis <luis@luis.com>
First post2022-01-14 15:11 +0100
Last post2022-01-16 22:23 +0100
Articles 4 — 2 participants

Back to article view | Back to it.comp.lang.javascript


Contents

  cos'è la programmazione funzionale? Luis <luis@luis.com> - 2022-01-14 15:11 +0100
    Re: cos'è la programmazione funzionale? bramante <bramante@yopmail.com> - 2022-01-14 19:21 +0100
      Re: cos'è la programmazione funzionale? Luis <luis@luis.com> - 2022-01-14 19:44 +0100
    Re: cos'è la programmazione funzionale? Luis <luis@luis.com> - 2022-01-16 22:23 +0100

#8366 — cos'è la programmazione funzionale?

FromLuis <luis@luis.com>
Date2022-01-14 15:11 +0100
Subjectcos'è la programmazione funzionale?
Message-ID<19nfckqxrsy2.dlg@news.luis.invalid>
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ù

[toc] | [next] | [standalone]


#8367

Frombramante <bramante@yopmail.com>
Date2022-01-14 19:21 +0100
Message-ID<srseut$6lk$1@gioia.aioe.org>
In reply to#8366
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);

[toc] | [prev] | [next] | [standalone]


#8368

FromLuis <luis@luis.com>
Date2022-01-14 19:44 +0100
Message-ID<lqn9xhoe2bh7.dlg@news.luis.invalid>
In reply to#8367
On Fri, 14 Jan 2022 19:21:17 +0100, bramante wrote:

> 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 
o> 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);

grazie, penso di aver capito qualcosa in più, salvo questo
post, buona serata

[toc] | [prev] | [next] | [standalone]


#8370

FromLuis <luis@luis.com>
Date2022-01-16 22:23 +0100
Message-ID<16bwg887mam7n.dlg@news.luis.invalid>
In reply to#8366
On 14 Jan 2022 23:36:23 GMT, Stefan Ram wrote:

> Luis <luis@luis.com> writes:
>>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?
> 
>   Secondo la mia opinione, la programmazione orientata agli
>   oggetti è un tipo di programmazione imperativa che invia
>   messaggi a espressioni il cui tipo potrebbe essere fissato
>   solo in ritardo, al momento dell'esecuzione.
> 
>   La programmazione funzionale (pura) è programmare con un
>   programma che consiste in una sola espressione, la cui
>   valutazione produce un valore desiderato. La semantica della
>   valutazione viene descritta solo in termini di valori delle
>   espressioni, senza mai riferirsi agli "effetti". Il valore
>   di qualsiasi espressione è completamente determinato dai
>   valori di tutte le sue sottoespressioni.
l> 
>   La maggior parte dei linguaggi di programmazione reali non
>   implementa puramente uno solo di questi paradigmi, ma si
>   compromettono per essere praticamente utili.

purtroppo non ho capito gran che, ci rifletterò. neanche la
tua opinione sulla oop che conosco

[toc] | [prev] | [standalone]


Back to top | Article view | it.comp.lang.javascript


csiph-web