Alcuni assiomi:
- La verità sopravvive. In questo contesto, sarebbero algoritmi e modelli di dati, ciò che rappresenta in realtà il "cosa" e il "come" del tuo spazio problematico. Sebbene, ci sia sempre il potenziale per il perfezionamento e il miglioramento, o un'evoluzione del problema stesso.
- Le lingue evolvono. Questo vale per i linguaggi del computer come per le lingue naturali.
- Tutta la tecnologia è vulnerabile all'obsolescenza. Potrebbe richiedere più tempo per alcune tecnologie rispetto ad altri
Le tecnologie e gli standard più stabili (quelli meno vulnerabili all'obsolescenza) tendono ad essere quelli non proprietari e sono stati adottati più ampiamente. Più ampia è l'adozione, maggiore è l'inerzia contro quasi ogni forma di cambiamento. Gli "standard" proprietari sono sempre vulnerabili alle fortune e ai capricci del loro proprietario e delle forze della concorrenza.
Vent'anni sono molto tempo nell'industria dei computer. Cinque anni sono un obiettivo più realistico. Tra cinque anni, l'intero problema che la tua applicazione è destinata a risolvere potrebbe essere completamente ridefinito.
Alcuni esempi per illustrare:
C e C ++ sono in circolazione da molto tempo. Hanno implementazioni su quasi tutte le piattaforme. Il C ++ continua ad evolversi, ma le funzionalità "universali" (quelle disponibili su tutte le piattaforme) sono praticamente garantite per non essere mai deprecate.
Flash è diventato quasi uno standard universale, ma è proprietario. Le decisioni aziendali di non supportarlo su piattaforme mobili popolari lo hanno praticamente condannato ovunque: se sei autore del web, vuoi che i tuoi contenuti siano disponibili su tutte le piattaforme; non vuoi perdere il mercato principale in cui è diventato mobile.
WinTel (Windows / x86) nonostante sia proprietario di Microsoft e Intel, dopo aver iniziato su una piattaforma non ottimale (16 bit interni / 8 bit esterni 8088 vs Apple Macintosh contemporanei 32 bit interni / 16 bit esterni 68000) e l'erosione verso Apple nel mercato consumer rimane una scelta di fatto per le piattaforme di business. In tutto questo tempo (25 anni), l'impegno per la compatibilità con le versioni precedenti ha ostacolato lo sviluppo futuro e ha ispirato una notevole sicurezza sul fatto che ciò che ha funzionato sulla vecchia scatola continuerà a funzionare su quello nuovo.
Considerazioni finali
JavaScript potrebbe non essere la scelta migliore per implementare la logica di business. Per motivi di integrità e sicurezza dei dati, la logica di business deve essere eseguita sul server, pertanto JavaScript sul lato client deve essere limitato al comportamento dell'interfaccia utente. Anche sul server, JavaScript potrebbe non essere la scelta migliore. Sebbene sia più semplice da utilizzare rispetto ad altri stack (Java o C #) per piccoli progetti, manca la formalità che può aiutarti a scrivere soluzioni migliori e più organizzate quando le cose diventano più complesse.