Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Nome in codice Harmony, il futuro di JavaScript
Scritto da Davide Panceri il 23-02-2012 ore 13:51
The Parallel Universe
Harmony è il nome in codice della prossima versione di ECMAScript, meglio noto come JavaScript, attesa per fine 2013, nome che vuole evocare la riunificazione di due gruppi di lavoro originariamente separati.

Il Chromium Blog ha di recente parlato del futuro di questo linguaggio, evidenziandone le novità salienti: lexical scoping, collections, weak maps e direct proxies.

Chiudo con una curiosità: Brendan Eich, il creatore di JavaScript, non ha mai amato il trademark ECMAScript, che peraltro non usa nessuno. In una e-mail dell'ottobre 2006, Brendan si espresse dicendo che ECMAScript gli sembrava il nome di una malattia della pelle.
Precedente: JUG Milano Meeting #46
Successiva: Usare PhoneGap partendo da zero
Intervento di Mariadb Italia a.k.a. mariadb_in_italia del 24-02-2012 ore 18:02, Bioglio (BI)
Plebeo
Plebeo
(2 interventi)
Iscritto il 24-02-2012
Che pastrocchio!!!
La Java-mania ha colpito ancora. JavaScript era partito come linguaggio dove la gestione degli oggetti non aveva nulla a che vedere con quella di Java. I prototipi danno la possibilità di creare un'eredità dinamica, modificando a run time l'interfaccia di un oggetto e di tutti gli oggetti che "ereditano" da lui. Un sistema che può piacere molto o dare sofferenze, ma ha una sua logica. Il motivo principale per cui gli script JavaScript sono lenti e non mantenibili, è che chi li scrive - nella maggioranza dei casi - non si è mai chiesto che tipo di linguaggio stesse usando, e se valesse la pena di dare un'occhiata alle sue caratteristiche fondamentali. Un po' come saltare su una televisione con aria ebete perché l'esperienza ci dice che prima o poi si accenderà.
Si potrebbe pensare allora che la colpa sia della stupidità intrinseca del genere umano. Ma non è così. Il motivo per cui nessuno conosce ECMAScript, è che chi mantiene lo standard ha sempre dedicato tutte le proprie energie a non farlo conoscere. L'introduzione dell'operatore new, che non ha nessuna utilità in questo linguaggio, ha l'unico scopo di far credere ai programmatori Javache i due linguaggi si somiglio. Peraltro, se lo scopo era convincere almeno un programmatore Java della validità di ECMAScript, hanno chiaramente fallito: nessuno di loro può sopportarlo.
L'altra genialata è stata scrivere delle specifiche inutilmente complicate. Per capire concetti fondamentali e semplicissimi, occorre prima leggere molti altri concetti secondari e di indubbia INutilità. Ne consegue che nessuno dei libri su JavaScript, per quel che ho potuto vedere, sembra averne afferrato le basi. E' chiaro: di solito uno pensa che per capire una cosa si debba leggere la documentazione...
Ma siccome al mondo ci sono persone che, pur di capire quello che fanno, sono disposte a sopportare la lettura di una specifica lunghissima e scritta coi piedi... hanno pensato bene di inserire cose che poi nessuno avrebbe mai implementato. Per esempio, se leggete le FANTASTICHE specifiche di ECMAScript, esse affermano che +0 e -0 sono due valori differenti. Fortunatamente, nessun implementatore è stupido quando gli autori di quel testo.
Si potrebbe continuare, ma non ne vale la pena: è evidente come, dopo aver creato un linguaggio funzionale basato su Scheme, qualcuno abbia voluto fare di tutto perché nessuno lo conoscesse e perché la maggior parte delle persone si convincessero che fosse basato su Java.
Vedo che ora per confondere ulteriormente le acque hanno implementato le classi. Geniale! Ora un oggetto può implementare l'eredità (anche multipla, selettiva, o quello che volete voi) con prototype, e allo stesso tempo appartenere a una classe! Suggerisco che nella prossima versione if possa significare "if", "while", "String" e "not", e che il significato effettivo dipenda dalle fasi lunari! Anche se temo che per i loro standard sia troppo logico.
Intervento di Cesare Di Mauro a.k.a. cdimauro del 25-02-2012 ore 09:09, San gregorio di catania ()
Marchese
Marchese

(910 interventi)
Iscritto il 22-05-2008
Sono sostanzialmente d'accordo su tutto. Il linguaggio aveva una certa identità quand'è nato, e a furia di "aggiornarlo" è stato snaturato.

Sia chiaro, a me già non piaceva ai tempi di Netscape, e il mio giudizio adesso non può che essere peggiorato (è una questione di gusti), ma la realtà è questa.

Soltanto una nota su questo:
mariadb_in_italia ha scritto:
Per esempio, se leggete le FANTASTICHE specifiche di ECMAScript, esse affermano che +0 e -0 sono due valori differenti. Fortunatamente, nessun implementatore è stupido quando gli autori di quel testo.
Le differenze derivano dal fatto che Javascript utilizza la virgola mobile per rappresentare i numeri, anche interi.

I float mettono a disposizione i concetti di +0 e -0, appunto, come pure NaN e +oo e -oo. Da cui il (a mio avviso giusto in questo contesto) riferimento nelle specifiche ECMA.

Certo, la stupidaggine è stata invece quella di non mettere a disposizione un tipo esclusivamente intero. Hanno cercato di semplificare troppo il linguaggio (e, per lo scopo per cui è nato, non gli posso nemmeno dare tutti i torti), col risultato di questo pastrocchio...
Intervento di Mariadb Italia a.k.a. mariadb_in_italia del 25-02-2012 ore 10:14, Bioglio (BI)
Plebeo
Plebeo
(2 interventi)
Iscritto il 24-02-2012
Certo, non pretendo che JavaScript piaccia a tutti. Ma il fatto è che oggi viene usato per applicazioni anche di una certa complessità (db NoSQL, programmazione lato server...). Chi lo usa - perché lo apprezza o perché è obbligato a farlo -ha bisogno di regole coerenti, non di parole chiave buttate lì per avere una *presunta* compatibilità con Java...
cdimauro ha scritto:
I float mettono a disposizione i concetti di +0 e -0, appunto, come pure NaN e +oo e -oo. Da cui il (a mio avviso giusto in questo contesto) riferimento nelle specifiche ECMA.

Hai sicuramente ragione, però seguendole alla lettera (0!==-0) dovrebbe restituire false; fortunatamente, mi sembra che nessuna implementazione si comporti così.

Mi sono sfogato :)
Intervento di Cesare Di Mauro a.k.a. cdimauro del 25-02-2012 ore 10:25, San gregorio di catania ()
Marchese
Marchese

(910 interventi)
Iscritto il 22-05-2008
mariadb_in_italia ha scritto:
Certo, non pretendo che JavaScript piaccia a tutti. Ma il fatto è che oggi viene usato per applicazioni anche di una certa complessità (db NoSQL, programmazione lato server...). Chi lo usa - perché lo apprezza o perché è obbligato a farlo -ha bisogno di regole coerenti, non di parole chiave buttate lì per avere una *presunta* compatibilità con Java...
Assolutamente d'accordo. E mai nome scelto fu più infausto.
Citazione:
cdimauro ha scritto:
I float mettono a disposizione i concetti di +0 e -0, appunto, come pure NaN e +oo e -oo. Da cui il (a mio avviso giusto in questo contesto) riferimento nelle specifiche ECMA.
Hai sicuramente ragione, però seguendole alla lettera (0!==-0) dovrebbe restituire false; fortunatamente, mi sembra che nessuna implementazione si comporti così.
Ecco, su questo invece non sono d'accordo. Se ci sono delle specifiche, bisogna che le rispettino tutte proprio per la questione di coerenza (e chiarezza, aggiungo io) di cui noi sviluppatori abbiamo bisogno.
Citazione:
Mi sono sfogato :)
Non posso che comprenderti. :)
Intervento di Filippo Fadda a.k.a. dedalo del 25-02-2012 ore 14:34, Capriata d'orba (AL)
Duca
Duca

(1975 interventi)
Iscritto il 03-04-2001
Sono d'accordo con voi in tutto e per tutto. Io poi aborro tutto ciò che abbia una "j" nel mezzo: Java, JavaScript, Clojure... :-)
Il problema è che mentre possiamo benissimo fare a meno di usare Java, con JavaScript a volte bisogna scontrarsi perché ormai è dappertutto.
Intervento di Andrea Del Bene a.k.a. bitstorm del 27-02-2012 ore 12:34, Pesaro (PU)
Conte
Conte

(625 interventi)
Iscritto il 14-03-2006
e come se non bastasse gli hanno pure dato il nome di un progetto Java un pò sfortunato :(

http://harmony.apache.org/
Intervento di Filippo Fadda a.k.a. dedalo del 27-02-2012 ore 13:49, Capriata d'orba (AL)
Duca
Duca

(1975 interventi)
Iscritto il 03-04-2001
bitstorm ha scritto:
e come se non bastasse gli hanno pure dato il nome di un progetto Java un pò sfortunato :(

http://harmony.apache.org/
Mamma mia, ce le ha tutte lui! Povero, bistrattato JavaScript. Certo che hanno una fantasia incredibile! :-)
Intervento di Michelangelo Giacomelli a.k.a. michelangelo del 02-03-2012 ore 09:16, Casciana terme (PI)
Plebeo
Plebeo
(25 interventi)
Iscritto il 06-04-2001
il nome Harmony era già sfigato prima del progetto di apache, vedere l'Harmony toolkit! (o freeqt)
Per quanto riguarda un buon libro su javascript opto per "javascript the good parts"
dedalo ha scritto:
bitstorm ha scritto:
e come se non bastasse gli hanno pure dato il nome di un progetto Java un pò sfortunato :(

http://harmony.apache.org/
Mamma mia, ce le ha tutte lui! Povero, bistrattato JavaScript. Certo che hanno una fantasia incredibile! :-)
Copyright Programmazione.it™ 1999-2014. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.193 secondi.