Sono un programmatore molto matematicamente orientato, e mi capita di fare un sacco di script java in questi giorni. Sono davvero deluso dagli aspetti matematici di javascript:
- l'oggetto Math è quasi uno scherzo perché ha così pochi metodi
- non puoi usare ^ per l'esponenziazione
- l'operatore + è molto limitato, non puoi aggiungere array di numeri o fare moltiplicazione scalare sugli array
Ora ho scritto alcune estensioni piuttosto semplici all'oggetto Math e ho preso in considerazione la possibilità di scrivere una libreria di funzioni matematiche avanzate, sorprendentemente non sembra esistere alcun tipo di libreria standard già disponibile per il calcolo, sebbene ce ne sia una per vettori e matrici che ho trovato.
La notazione per lavorare con vettori e matrici è davvero brutta quando non si può usare l'operatore + sugli array, e non si può fare la moltiplicazione scalare. Ad esempio, ecco un'espressione orribile per sottrarre due vettori, A - B:
Math.vectorAddition(A,Math.scalarMultiplication(-1,B));
Ho cercato un qualche tipo di progetto open-source per contribuire per un po 'e anche se il mio C ++ è un po' arrugginito mi piacerebbe molto entrare nel codice per il motore V8 ed estendere l'operatore + al lavoro sugli array, per far funzionare la moltiplicazione scalare, e possibilmente per ottenere che l'operatore ^ lavori per l'esponenziazione. Queste cose migliorerebbero notevolmente l'utilità di qualsiasi framework javascript matematico.
Non so davvero come essere coinvolto in qualcosa come il motore V8 oltre a scaricare il codice e iniziare a lavorarci. Ovviamente temo che, dal momento che V8 è specifico per il cromo, che senza la cross-compatibilità del browser un cambiamento fondamentale di questo tipo rischia di essere rifiutato per V8. Speravo che qualcuno potesse dirmi perché questa è una cattiva idea, oppure darmi qualche suggerimento su come procedere a questo punto per ottenere qualche tipo di approvazione per aggiungere queste funzionalità.
Grazie!