Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: perchè non eliminare il javascript?

10 views
Skip to first unread message

Alessandro Pellizzari

unread,
Jan 5, 2022, 3:51:08 PM1/5/22
to
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.

Alessandro Pellizzari

unread,
Jan 6, 2022, 5:37:48 AM1/6/22
to
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.

bramante

unread,
Jan 8, 2022, 8:00:48 AM1/8/22
to
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?

bramante

unread,
Jan 8, 2022, 8:07:38 AM1/8/22
to
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

Alessandro Pellizzari

unread,
Jan 8, 2022, 8:44:24 AM1/8/22
to
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.

fabriziovenerandi

unread,
Jan 9, 2022, 2:56:58 PM1/9/22
to
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
0 new messages