Quelques axiomes:
- La vérité survit. Dans ce contexte, il s'agirait d'algorithmes et de modèles de données - ce qui représente fidèlement le "quoi" et le "comment" de votre espace de problèmes. Bien que, il y ait toujours le potentiel pour le raffinement et l'amélioration, ou une évolution du problème lui-même.
- Les langues évoluent. Ceci est aussi vrai pour les langages informatiques que pour les langages naturels.
- Toute technologie est vulnérable à l'obsolescence. Cela peut prendre plus de temps pour certaines technologies que d'autres
Les technologies et normes les plus stables (celles qui sont le moins vulnérables à l'obsolescence) ont tendance à être celles qui ne sont pas propriétaires et qui ont été adoptées le plus largement. Plus l'adoption est large, plus l'inertie contre presque toute forme de changement est grande. Les «normes» propriétaires sont toujours vulnérables aux fortunes et aux caprices de leurs propriétaires et aux forces concurrentielles.
Vingt ans, c’est très long dans l’industrie informatique. Cinq ans est un objectif plus réaliste. Dans cinq ans, le problème que votre application est censée résoudre pourrait être complètement redéfini.
Quelques exemples pour illustrer:
C et C ++ existent depuis longtemps. Ils ont des implémentations sur à peu près toutes les plateformes. Le C ++ continue d'évoluer, mais les fonctionnalités "universelles" (celles disponibles sur toutes les plateformes) sont pratiquement garanties de ne jamais être déconseillées.
Flash est presque devenu un standard universel, mais il est propriétaire. La décision des entreprises de ne pas prendre en charge cette fonctionnalité sur les plates-formes mobiles les plus répandues l'a pratiquement condamné: si vous créez pour le Web, vous souhaitez que votre contenu soit disponible sur toutes les plates-formes. vous ne voulez pas manquer le grand marché que le mobile est devenu.
WinTel (Windows / x86), bien qu’il soit propriétaire de Microsoft et d’Intel, a démarré sur une plate-forme peu optimale (interne 16 bits / interne 8 bits externe 8088 vs Apple Macintosh 32 bits interne / interne interne 16 bits externe 68000), et l’érosion Apple sur le marché grand public reste un choix de facto pour les plates-formes professionnelles. Pendant tout ce temps (25 ans), un engagement en matière de compatibilité ascendante a à la fois entravé le développement futur et inspiré une confiance considérable dans le fait que ce qui fonctionnait sur l’ancien boîtier fonctionnera toujours sur le nouveau.
Dernières pensées
JavaScript n'est peut-être pas le meilleur choix pour la mise en œuvre de la logique métier. Pour des raisons d’intégrité et de sécurité des données, la logique commerciale doit être exécutée sur le serveur. Par conséquent, le code JavaScript côté client doit être limité au comportement de l’interface utilisateur. Même sur le serveur, JavaScript n'est peut-être pas le meilleur choix. Bien que plus facile à utiliser que d'autres piles (Java ou C #) pour de petits projets, il manque la formalité qui peut vous aider à écrire de meilleures solutions, mieux organisées, lorsque les choses deviennent plus complexes.