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


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

perchè non eliminare il javascript?

Started byLuis <luis@luis.com>
First post2022-01-04 22:01 +0100
Last post2022-01-09 21:45 +0100
Articles 13 — 4 participants

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


Contents

  perchè non eliminare il javascript? Luis <luis@luis.com> - 2022-01-04 22:01 +0100
    Re: perchè non eliminare il javascript? Luis <luis@luis.com> - 2022-01-05 10:53 +0100
    Re: perchè non eliminare il javascript? Alessandro Pellizzari <shuriken@amiran.it> - 2022-01-05 20:51 +0000
      Re: perchè non eliminare il javascript? Luis <luis@luis.com> - 2022-01-05 22:57 +0100
        Re: perchè non eliminare il javascript? Alessandro Pellizzari <shuriken@amiran.it> - 2022-01-06 10:37 +0000
        Re: perchè non eliminare il javascript? Luis <luis@luis.com> - 2022-01-06 11:40 +0100
        Re: perchè non eliminare il javascript? bramante <bramante@yopmail.com> - 2022-01-08 14:07 +0100
          Re: perchè non eliminare il javascript? Luis <luis@luis.com> - 2022-01-08 14:42 +0100
      Re: perchè non eliminare il javascript? bramante <bramante@yopmail.com> - 2022-01-08 14:00 +0100
        Re: perchè non eliminare il javascript? Alessandro Pellizzari <shuriken@amiran.it> - 2022-01-08 13:44 +0000
          Re: perchè non eliminare il javascript? Luis <luis@luis.com> - 2022-01-08 15:44 +0100
    Re: perchè non eliminare il javascript? fabriziovenerandi <fabr1z10@venerand1.c0m> - 2022-01-09 20:56 +0100
      Re: perchè non eliminare il javascript? Luis <luis@luis.com> - 2022-01-09 21:45 +0100

#8350 — perchè non eliminare il javascript?

FromLuis <luis@luis.com>
Date2022-01-04 22:01 +0100
Subjectperchè non eliminare il javascript?
Message-ID<19vaen6kx45b8.dlg@news.luis.invalid>
sto studiando javascript perchè mi serve per un progettino,
e mi sto rompendo parecchio le palle.
conosco java, c++, c#, un po' python ... e sto studiando le
classi di javascript, che sono piuttosto diverse.
ma che rottura di palle!
ma non lo si può eliminare e usare java per fargli fare le
stesse cose?
ma bisogna perdere la vita a studiare decine di linguaggi?
ma che rottura di palle!

[toc] | [next] | [standalone]


#8352

FromLuis <luis@luis.com>
Date2022-01-05 10:53 +0100
Message-ID<rbkes0dyh9s3.dlg@news.luis.invalid>
In reply to#8350
On 5 Jan 2022 01:35:11 GMT, Stefan Ram wrote:

> Luis <luis@luis.com> writes:
>>ma non lo si può eliminare e usare java per fargli fare le
>>stesse cose?
> 
>   Se vuoi scrivere in Java, puoi usare JWebAssembly,
>   che compila Java (bytecode) in WebAssembly, che poi
>   può essere eseguito nei browser web.

grazie per la dritta. non sapevo.
ma poi per le librerie di javascript?
si possono scaricare e ricompilare per java?
comunque il problema rimane, e devo impararlo lo stesso
perchè devo fare delle integrazioni.
intendevo proprio brasarlo tutto.
magari fare un linguaggio unico ad oggetti, che la vita è
breve, non la possiamo passare a studiare linguaggi per
quanto sia bello e appassionante

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


#8353

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2022-01-05 20:51 +0000
Message-ID<j3melqFfkoqU1@mid.individual.net>
In reply to#8350
On 04/01/2022 21:01, Luis wrote:

> ma non lo si può eliminare e usare java per fargli fare le
> stesse cose?

Ci abbiamo messo 20 anni a liberarci di Java (e di Flash) sul web, a tu
lo vuoi resuscitare? :P

L'unico linguaggio client-side supportato dai browser è Javascript,
quindi lì non ci scappi e devi saperlo.

Anche WebAssembly non è "nativo". Puoi creare funzioni di supporto, ma
non ha accesso al DOM, quindi non puoi "scrivere sulla pagina". Devi
comunque passare per JS.

Server-side puoi usare quello che vuoi. Quello dipende dai tuoi server.

Se vuoi un consiglio per non farti venire il mal di testa, Javascript è
(forse l'unico linguaggio) davvero Object-Oriented, mentre Java (e la
maggior parte dei cosiddetti linguaggi OOP) è Class-Oriented.

Se cerchi di applicare gli stessi concetti di Java a JavaScript non
farai altro che odiarlo.

Altri consigli sparsi:

- Non programmare a oggetti in JS. Cerca di usare uno stile funzionale
(non procedurale. Funzionale)

- Parti da jQuery. Tanti diranno di no, ma è semplice, molto intuitivo e
ha un sacco di plugin

- Quando hai preso mano, e devi fare applicazioni più complesse,
guardati Svelte e Vue (o, bleah, React :P ). Lascia perdere Angular

Bye.

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


#8354

FromLuis <luis@luis.com>
Date2022-01-05 22:57 +0100
Message-ID<1ae9z7p6oreyq.dlg@news.luis.invalid>
In reply to#8353
On Wed, 5 Jan 2022 20:51:05 +0000, Alessandro Pellizzari
wrote:

> On 04/01/2022 21:01, Luis wrote:
> 
>> ma non lo si può eliminare e usare java per fargli fare le
>> stesse cose?
> 
> Ci abbiamo messo 20 anni a liberarci di Java (e di Flash) sul web, a tu
> lo vuoi resuscitare? :P

ah scusami, ma arrivando solo ora su ecmascript non sapevo
di questo aspetto. e quindi non capisco neanche la
necessità di liberarsi di java rispetto all'ecmascript (lo
vorrei chiamare così io :) )
 
> L'unico linguaggio client-side supportato dai browser è Javascript,
> quindi lì non ci scappi e devi saperlo.

sì infatti lo sto studiando. dal flanagan, che ci sta
mettendo del suo a farmelo odiare, tanto è scritto e
organizzato male 

> Anche WebAssembly non è "nativo". Puoi creare funzioni di supporto, ma
> non ha accesso al DOM, quindi non puoi "scrivere sulla pagina". Devi
> comunque passare per JS.

avevo sospettato

> Server-side puoi usare quello che vuoi. Quello dipende dai tuoi server.
,
beh lì da java non si scappa
 
> Se vuoi un consiglio per non farti venire il mal di testa, Javascript è
> (forse l'unico linguaggio) davvero Object-Oriented, mentre Java (e la
> maggior parte dei cosiddetti linguaggi OOP) è Class-Oriented.

che per un amante dei costrutti come me non è il massimo.
ah comunque questa è la prima volta che leggo
class-oriented.
in effetti leggendo il flanagan per giorni mi sono chiesto
del perchè parta dagli oggetti e poi parli delle classi, e
ancora a dire il vero non l'ho capito neanche in seguito
alla tua dritta. un oggetto senza classe per me non ha
senso
 
> Se cerchi di applicare gli stessi concetti di Java a JavaScript non
> farai altro che odiarlo.

purtroppo è quel che ho fatto.
non è odiarlo in sé, è il fatto di dover imparare un altro
linguaggio. forse ho sbagliato a partire dal flanagan, ma
di tutti quelli che ho visto mi sembrava il più
professionale.
solo che è proprio concepito, organizzato, sequenziato e
scritto male ma tanto male
 
> Altri consigli sparsi:
> 
> - Non programmare a oggetti in JS. Cerca di usare uno stile funzionale
> (non procedurale. Funzionale)
> 
> - Parti da jQuery. Tanti diranno di no, ma è semplice, molto intuitivo e
> ha un sacco di plugin
> 
> - Quando hai preso mano, e devi fare applicazioni più complesse,
> guardati Svelte e Vue (o, bleah, React :P ). Lascia perdere Angular

grazie infinite alessandro, per avermi dedicato il tuo

tempo.
buon anno

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


#8357

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2022-01-06 10:37 +0000
Message-ID<j3nv3qFoab9U1@mid.individual.net>
In reply to#8354
On 05/01/2022 21:57, Luis wrote:

> ah scusami, ma arrivando solo ora su ecmascript non sapevo
> di questo aspetto. 

Figurati! :)

> e quindi non capisco neanche la
> necessità di liberarsi di java rispetto all'ecmascript (lo
> vorrei chiamare così io :) )

JS è nato integrato nei browser come linguaggio di scripting, mentre
Java ci era stato infilato come plugin, e non ha mai avuto accesso
diretto al DOM. Viveva nel suo box, come Flash. Quando JS è arrivato ad
avere le stesse potenzialità (soprattutto a livello di animazioni ed
effetti), la scelta logica era eliminare i due non nativi, e anche per
quello ci sono voluti anni perché un sacco di siti dipendevano da loro.

La botta finale l'ha data Apple, quando ha tolto il supporto per
entrambi nei suoi cellulari e tablet.

Bye.

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


#8358

FromLuis <luis@luis.com>
Date2022-01-06 11:40 +0100
Message-ID<1rwgv3ubp19wq.dlg@news.luis.invalid>
In reply to#8354
On 6 Jan 2022 02:31:26 GMT, Stefan Ram wrote:

> Luis <luis@luis.com> writes:
>>sì infatti lo sto studiando. dal flanagan, che ci sta
>>mettendo del suo a farmelo odiare, tanto è scritto e
>>organizzato male 
> 
>   Per me, i libri di Flanagan sono tra i migliori, forse 
>   non i suoi libri di testo, ma le sue opere di riferimento.

sto studiando 
JavaScript The Definitive Guide 7th Flanagan OReilly 2020
-707 pagine
ci sono una quantità di riferimenti in avanti e indietro su
ogni argomento: odioso. devi già conoscere l'ecmascript,
altrimenti ti devi fermare continuamente e guardare una
reference

>   Come libro di testo, personalmente mi piace:
>   "Professional JavaScript for Web Developers"
>   di Nicholas Zakas.
> 
>   Ma negli ultimi anni, Javascript ha anche subito molti
>   cambiamenti, quindi ovviamente si raccomandano libri di
e>   testo aggiornati che tengano già conto di questi
>   cambiamenti.
> 
>   Anche se personalmente preferisco il libro di testo di
>   Zakas, non voglio chiudere senza menzionare "JavaScript:
>   The Good Parts" di Douglas Crockford come un libro 
>   che potrebbe piacerti di più di quello di Flanagan.

grazie, ci darò un'occhiata

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


#8360

Frombramante <bramante@yopmail.com>
Date2022-01-08 14:07 +0100
Message-ID<src2ap$1ho$1@gioia.aioe.org>
In reply to#8354
Il 05/01/22 22:57, Luis ha scritto:
>   
>> Se vuoi un consiglio per non farti venire il mal di testa, Javascript è
>> (forse l'unico linguaggio) davvero Object-Oriented, mentre Java (e la
>> maggior parte dei cosiddetti linguaggi OOP) è Class-Oriented.
> 
> che per un amante dei costrutti come me non è il massimo.
> ah comunque questa è la prima volta che leggo
> class-oriented.
> in effetti leggendo il flanagan per giorni mi sono chiesto
> del perchè parta dagli oggetti e poi parli delle classi, e
> ancora a dire il vero non l'ho capito neanche in seguito
> alla tua dritta. un oggetto senza classe per me non ha
> senso
>   
>> Se cerchi di applicare gli stessi concetti di Java a JavaScript non
>> farai altro che odiarlo.
> 
> purtroppo è quel che ho fatto.

perchè stai cercando di imparare un linguaggio funzionale applicando i 
concetti di un linguaggio ad oggetti

sono 2 paradigmi completamente diversi come approccio

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


#8361

FromLuis <luis@luis.com>
Date2022-01-08 14:42 +0100
Message-ID<w9msrp095on8.dlg@news.luis.invalid>
In reply to#8360
On Sat, 8 Jan 2022 14:07:37 +0100, bramante wrote:

> Il 05/01/22 22:57, Luis ha scritto:
>>   
>>> Se vuoi un consiglio per non farti venire il mal di testa, Javascript è
>>> (forse l'unico linguaggio) davvero Object-Oriented, mentre Java (e la
>>> maggior parte dei cosiddetti linguaggi OOP) è Class-Oriented.
>> 
>> che per un amante dei costrutti come me non è il massimo.
>> ah comunque questa è la prima volta che leggo
>> class-oriented.
>> in effetti leggendo il flanagan per giorni mi sono chiesto
>> del perchè parta dagli oggetti e poi parli delle classi, e
>> ancora a dire il vero non l'ho capito neanche in seguito
>> alla tua dritta. un oggetto senza classe per me non ha
>> senso
>>   
>>> Se cerchi di applicare gli stessi concetti di Java a JavaScript non
>>> farai altro che odiarlo.
>> 
>> purtroppo è quel che ho fatto.
> 
> perchè stai cercando di imparare un linguaggio funzionale applicando i 
p> concetti di un linguaggio ad oggetti
> 
> sono 2 paradigmi completamente diversi come approccio

ma se ci sono oggetti e classi e vengono proposti in un
testo piuttosto apprezzato li studio.
comunque ora che l'ho letto tutto, non bene ovviamente, il
flanagan ho capito che è come molti di quei libri che
vogliono spiegare tutto, ma alla fine non spiegano ed
espone cose che capiscono solo chi ha già le mani in pasta.
era meglio partire da un libro semplice

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


#8359

Frombramante <bramante@yopmail.com>
Date2022-01-08 14:00 +0100
Message-ID<src1tu$1rvv$1@gioia.aioe.org>
In reply to#8353
Il 05/01/22 21:51, Alessandro Pellizzari ha scritto:

> 
> Altri consigli sparsi:
> 
> - Non programmare a oggetti in JS. Cerca di usare uno stile funzionale
> (non procedurale. Funzionale)
> 
> - Parti da jQuery. Tanti diranno di no, ma è semplice, molto intuitivo e
> ha un sacco di plugin

dando questo consiglio, stai dicendo di imparare jQuery (una libreria) e 
non ecmascript (il linguaggio)
questa non la capisco, se deve imparare un linguaggio client side, 
imapara il linguaggio non una libreria.



> 
> - Quando hai preso mano, e devi fare applicazioni più complesse,
> guardati Svelte e Vue (o, bleah, React :P ). Lascia perdere Angular
> 
> Bye.
> 

a questo punto ti chiedeo "perchè?"
gli suggerisci di imparare una libreria e gli sconsigli un framework?

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


#8362

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2022-01-08 13:44 +0000
Message-ID<j3tipmFqktpU1@mid.individual.net>
In reply to#8359
On 08/01/2022 13:00, bramante wrote:

> Il 05/01/22 21:51, Alessandro Pellizzari ha scritto:

>> - Parti da jQuery. Tanti diranno di no, ma è semplice, molto intuitivo e
>> ha un sacco di plugin
> 
> dando questo consiglio, stai dicendo di imparare jQuery (una libreria) e 
> non ecmascript (il linguaggio)
> questa non la capisco, se deve imparare un linguaggio client side, 
> imapara il linguaggio non una libreria.

È vero che il 90% di quello che faceva jQuery è stato integrato in JS
nelle ultime versioni, ma proprio questo dimostra che è ben integrato
col linguaggio stesso.

E allo stesso tempo riesce ancora a semplificare alcune operazioni,
soprattutto sugli elementi del DOM.

L'OP conosce già diversi linguaggi C-like, quindi non ha problemi con la
sintassi di JS, ma solo con concetti più oscuri tipo la OOP.

Usando jQuery evita la OOP (spinge "gentilmente" verso un approccio
funzionale), deve comunque imparare il linguaggio di base, e diventa
produttivo in meno tempo. Meno frustrazioni e più voglia di andare avanti.

Poi con calma può approfondire i concetti più oscuri.

>> - Quando hai preso mano, e devi fare applicazioni più complesse,
>> guardati Svelte e Vue (o, bleah, React :P ). Lascia perdere Angular
> 
> a questo punto ti chiedeo "perchè?"
> gli suggerisci di imparare una libreria e gli sconsigli un framework?

I framework, soprattutto quelli moderni, stravolgono completamente il
tradizionale flusso di lavoro di JS (funzionale ed event-based) per
andare verso il dichiarativo. È un cambio completo di mentalità e di
approccio ai problemi.

Non aiutano per niente a imparare il linguaggio, e dalle (centinaia,
ormai) di interview che ho fatto a "sviluppatori frontend" (che si
traduce quasi 1:1 con "sviluppatori React"), ho notato che una buona
percentuale non conosce JS, ma solo React. Si trovano in crisi a gestire
promise senza axios, o a usare map e filter sugli array, o non hanno
chiaro le conseguenze e i vantaggi della programmazione asincrona, e
mettono `await` ovunque "perché altrimenti non funziona".

Per non parlare di HTML e CSS :P

Quando inizi ad avere un'applicazione complessa, con diversi stati di
cui tenere conto, un framework moderno è l'unica salvezza (ma può essere
anche la tua tomba, se lo usi male).

È semplicemente un discorso di percorso di studio: parti semplice e
produttivo, poi impari i concetti più complessi un po' alla volta, e
alla fine fai il progetto grosso con i tool grossi.

Per non parlare dello scaffolding. Credo non esista più nessuno in grado
di inizializzare un'applicazione react senza create-react-app, mentre
per jQuery basta uno <script> nell'HTML.

Uno dei motivi per cui ho sempre odiato Java e ho abbandonato lo
sviluppo su Android, per esempio, è tutta la baracca necessaria per
scrivere un banale hello world: devi studiarti maven, gradle, la
sintassi del manifest, una particolare struttura di directory, il suo
dialetto XML per il templating, etc. All fine studi 4 linguaggi invece di 1.

Per lo stesso motivo non ho mai amato Symfony con PHP, e preferivo ZF o,
meglio ancora, Slim e Silex.

Lo stesso succede con i framework JS: devi studiarti npm,
webpack/rollup, JSX, oltre al lifecycle del framework e a tutte le
librerie (css-in-js, state management, etc.) con la loro sintassi e
grammatica.

È semplicemente un ostacolo troppo grosso all'inizio, e la gente finisce
con "una volta ho fatto un tutorial che fa così. Lo rifaccio ogni volta
uguale perché non so cosa succede se cambio qualcosa".

OK, mi fermo qui col rant. :D

Bye.

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


#8363

FromLuis <luis@luis.com>
Date2022-01-08 15:44 +0100
Message-ID<16d8is0xlbu7e$.dlg@news.luis.invalid>
In reply to#8362
On Sat, 8 Jan 2022 13:44:21 +0000, Alessandro Pellizzari
wrote:

> L'OP conosce già diversi linguaggi C-like, quindi non ha problemi con la
> sintassi di JS, ma solo con concetti più oscuri tipo la OOP.

nei linguaggi c-like ho compreso bene l'oop, non l'ho
ancora capita in js, perchè il flanagan prima parte dagli
oggetti e poi spiega (si fa per dire) le classi, cioè fa il
contrario
 
> Usando jQuery evita la OOP (spinge "gentilmente" verso un approccio
> funzionale), deve comunque imparare il linguaggio di base, e diventa
> produttivo in meno tempo. Meno frustrazioni e più voglia di andare avanti.

veramente volevo partire direttamente con l'oop
 
> Poi con calma può approfondire i concetti più oscuri.

usando un libro diverso dal flanagan.
ho l'impressione che non si tratti di concetti oscuri, solo
che ci vogliono molte più che 700 pagine per spiegare tutto
uil js bene portando l'utente per mano. penso almeno il
quadruplo. solo che fare un libro di 3000 pagine non te lo
pubblica nessuno.
grazie per il tempo dedicato, e del rimanente testo che ho
tagliato

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


#8364

Fromfabriziovenerandi <fabr1z10@venerand1.c0m>
Date2022-01-09 20:56 +0100
Message-ID<srfem8$ebn$1@dont-email.me>
In reply to#8350
Il 04/01/22 22:01, Luis ha scritto:
> sto studiando javascript perchè mi serve per un progettino,
> e mi sto rompendo parecchio le palle.
> conosco java, c++, c#, un po' python ... e sto studiando le
> classi di javascript, che sono piuttosto diverse.
> ma che rottura di palle!
> ma non lo si può eliminare e usare java per fargli fare le
> stesse cose?
> ma bisogna perdere la vita a studiare decine di linguaggi?
> ma che rottura di palle!


è la vita

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


#8365

FromLuis <luis@luis.com>
Date2022-01-09 21:45 +0100
Message-ID<1jhr10yz96ddu$.dlg@news.luis.invalid>
In reply to#8364
On Sun, 9 Jan 2022 20:56:56 +0100, fabriziovenerandi wrote:

> Il 04/01/22 22:01, Luis ha scritto:
>> sto studiando javascript perchè mi serve per un progettino,
>> e mi sto rompendo parecchio le palle.
>> conosco java, c++, c#, un po' python ... e sto studiando le
>> classi di javascript, che sono piuttosto diverse.
>> ma che rottura di palle!
>> ma non lo si può eliminare e usare java per fargli fare le
>> stesse cose?
>> ma bisogna perdere la vita a studiare decine di linguaggi?
>> ma che rottura di palle!
> 
> 
> è la vita

la vita è stronza però.
non che abbia una vita sociale poi, ma almeno renderla meno
sgradevole dandoti almeno le soddisfazioni di produrre
qualcosa senza studiarti 100 linguaggi che poi alla fine
finisci per non far nulla

[toc] | [prev] | [standalone]


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


csiph-web