* Freelance Javascript Versailles
***Web2007 est un bureau indépendant situé à Genève et a l'habitude de travailler pour des entreprises PARTOUT en France et en Europe
Freelance Javascript Versailles
Article:
La définition d'opérateur s'apparente comme une fonctionnalité produite par certains langages de programmation qui permet d'utiliser des opérateurs (comme +, = ou ==) en tant que fonctions ou méthodes en les définissant pour de nouveaux types de données. Les opérateurs ne sont pas nécessairement des symboles. Par moment, la définition de nouveaux opérateurs est autorisée. Il s'agit généralement de sucre syntaxique, et peut facilement être émulé par des appels de fonction ou de méthode Quand les opérateurs demeurent des fonctions, on parle en général de surcharge d'opérateur, car l'implémentation est destinée en fonction du type des opérandes (on parle également de polymorphisme ad hoc). C'est spécialement le cas en C++. Tous les langages de la définition d'opérateur n'accordent pas la surcharge. Python, par exemple, ne supporte pas la surcharge, mais permet de définir des opérateurs via des méthodes spéciales. Dans le cas où les opérateurs peuvent être appelés impment, ils deviennent plus utiles qu'esthétiques. C'est le cas avec l'opérateur to_s de Ruby, qui retourne une représentation chaîne d'un objet et avec les opérateurs de PostgreSQL, sur lesquels peuvent être définies des transformations mathématiques. PostgreSQL peut aussi employer d'abondantes optimisations sur les expressions qui utilisent ces opérateurs. En théorie, la définition des opérateurs permet de faciliter l'écriture et la relecture du code. Par exemple, on peut définir l'opérateur * pour réaliser des multiplications de matrices ou définir l'opérateur + pour additionner deux nombres complexes. Aussi puissante qu'elle puisse être, la définition des opérateurs doit être toujours utilisée avec parcimonie pour ne pas perdre le lecteur d'un programme, d'autant plus qu'il est aisé de mal l'utiliser. La surcharge et la redéfinition des opérateurs ont été critiquées parce qu'elle peut remarquer le lecteur d'un programme, en autorisant le programmeur à donner à un même opérateur des fonctionnalités subtilement différentes en fonction des types de leurs opérandes. La dégradation logicielle, encore appelée érosion logicielle, est le déséquilibre entre l'architecture logicielle et son implémentation. Le vieillissement1 logiciel est également utilisé comme terme pour s'intéresser aux défaillances rencontrées dans un logiciel au fil du temps2. Il semble impossible d'empêcher ce dit vieillissement mais il existe des moyens pour le ralentir, d'où l'intérêt des architectures logicielles. l'architecture logicielle décrit comment doit être conçu le logiciel pour répondre aux spécifications de celui-ci. l'implémentation logicielle doit correspondre au modèle d'architecture produit lors de la phase de conception. En pratique, il n'est pas toujours évident de respecter cette règle. Les origines des décalages sont multiples, les principaux sont : l'évolution logicielle, les erreurs d'implémentations et les contradictions dans l'architecture envisagée qui ne pouvaient être prévues avant le développement.