Premessa: ritengo che Javascript sia uno dei linguaggi che si DEVONO conoscere al giorno d'oggi se si vuole fare web (e magari anche mobile); il problema è che pur usandolo io mi ci sono sempre trovato a disagio. Parte di ciò è sicuramente dovuto al fatto che non ho mai approfondito per bene il linguaggio, per cui questi giorni ho iniziato la lettura di "Javascript: the Definitive Guide", che mi sembra ben scritto e approfondito. Un'altra parte del disagio è dovuto a caratteristiche del linguaggio che poco si sposano con la mia filosofia (ben poco geek lo so, ma penso che nell'informatica ci sia bisogno sia di geek che di non geek come me ...). Ho deciso di "esplicitare" queste caratteristiche a me antipatiche nella speranza di riuscire a "digerirle emotivamente" e così da ricordarmene e non incappare in errori banali.
Partiamo con la prima: in javascript i numeri non interi sono solo in notazione floating point; anche in ECMAScript 5 non esiste ancora nulla che assomigli ai numeri decimali. Questa secondo me è una grave mancanza, perchè ritengo che anche Javascript sia usato molto più spesso per fare calcoli con importi monetari piuttosto che con valori usati in ambito matematico/scientifico.
Mi sembra assurdo che un linguaggio di alto livello, nell'anno 2011, mi dica che 0.3 - 0.2 != 0.2 - 0.1 (provare per credere in qualsiasi browser!). Questa mi ci vorrà un pò a digerirla ...