Programmation orientée aspectLa programmation orientée aspect ou POA (en anglais, aspect oriented programming ou AOP) est un paradigme de programmation qui permet de traiter séparément les préoccupations transversales (en anglais, cross-cutting concerns), qui relèvent souvent de la technique, des préoccupations métier, qui constituent le cœur d'une application. Un exemple classique d'utilisation est la journalisation, mais certains principes architecturaux ou modèles de conception peuvent être implémentés à l'aide de ce paradigme de programmation, comme l'inversion de contrôle.
GénéricitéEn programmation, la généricité (ou programmation générique), consiste à définir des algorithmes identiques opérant sur des données de types différents. On définit de cette façon des procédures ou des types entiers génériques. On pourrait ainsi programmer une pile, ou une procédure qui prend l'élément supérieur de la pile, indépendamment du type de données contenues. C'est donc une forme de polymorphisme, le « polymorphisme de type » dit aussi « paramétrage de type » : en effet, le type de donnée général (abstrait) apparaît comme un paramètre des algorithmes définis, avec la particularité que ce paramètre-là est un type.
Béton de cimentthumb|upright=1.0|Un mètre cube de béton (représentant la production mondiale annuelle de béton par habitant). Le béton de ciment, couramment appelé béton, est un mélange de ciment, de granulats, d'eau et d'adjuvants. Histoire du béton de ciment Ciment Le ciment se compose essentiellement de chaux, de silice, d'alumine et d'oxyde de fer combinés au silicate et aluminate de calcium. Les différents ciments résultent du mélange de clinker, de calcaire, de laitier et de cendres volantes (qui sont des composés à effet pouzzolanique, mais non considérés comme des pouzzolanes).
Precast concretePrecast concrete is a construction product produced by casting concrete in a reusable mold or "form" which is then cured in a controlled environment, transported to the construction site and maneuvered into place; examples include precast beams, and wall panels for tilt up construction. In contrast, cast-in-place concrete is poured into site-specific forms and cured on site. Recently lightweight expanded polystyrene foam is being used as the cores of precast wall panels, saving weight and increasing thermal insulation.
Bétonthumb|Aspect hétérogène de la surface d'un béton de ciment, appelé communément béton, et constitué de ciment, d'eau et de granulats fins (sable) et grossiers (graviers). Le béton est un assemblage de matériaux de nature généralement minérale. Il met en présence des matières inertes, appelées granulats ou agrégats (graviers, gravillons, sables), et un liant (ciment, bitume, argile), c'est-à-dire une matière susceptible d'en agglomérer d'autres ainsi que des adjuvants qui modifient les propriétés physiques et chimiques du mélange.
Modula-3Modula-3 is a programming language conceived as a successor to an upgraded version of Modula-2 known as Modula-2+. While it has been influential in research circles (influencing the designs of languages such as Java, C#, Python and Nim) it has not been adopted widely in industry. It was designed by Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan (before at the Olivetti Software Technology Laboratory), Bill Kalsow and Greg Nelson at the Digital Equipment Corporation (DEC) Systems Research Center (SRC) and the Olivetti Research Center (ORC) in the late 1980s.
Béton armévignette|Armatures métalliques de renforcement du béton. vignette|« Cancer du béton » : lorsque le front de carbonatation atteint l'armature métallique, celle-ci est atteinte de rouille qui fait augmenter le volume de l'acier, conduisant à l'éclatement du béton d'enrobage, ce qui provoque des délaminations, ou comme ici des épaufrures qui mettent à nu les armatures oxydées. Le béton armé est un matériau composite constitué de béton et de barres d'acier alliant les propriétés mécaniques complémentaires de ces matériaux (bonne résistance à la compression du béton et bonne résistance à la traction de l'acier).
Prestressed concretePrestressed concrete is a form of concrete used in construction. It is substantially "prestressed" (compressed) during production, in a manner that strengthens it against tensile forces which will exist when in service. This compression is produced by the tensioning of high-strength "tendons" located within or adjacent to the concrete and is done to improve the performance of the concrete in service. Tendons may consist of single wires, multi-wire strands or threaded bars that are most commonly made from high-tensile steels, carbon fiber or aramid fiber.
Programmation orientée prototypeLa programmation orientée prototype est une forme de programmation orientée objet sans classe, fondée sur la notion de prototype. Un prototype est un objet à partir duquel on crée de nouveaux objets. Dans le langage de programmation orientée prototype Self, les propriétés d'un objet, qu'elles renvoient à des attributs ou à des méthodes, sont appelés slots ; il n'y a pas la même distinction entre les slots de données et les slots de code qu'on a avec les classes.
Classe (informatique)En programmation orientée objet, la déclaration d'une classe regroupe des membres, méthodes et propriétés (attributs) communs à un ensemble d'objets. La classe déclare, d'une part, des attributs représentant l'état des objets et, d'autre part, des méthodes représentant leur comportement. Une classe représente donc une catégorie d'objets. Elle apparaît aussi comme un moule ou une usine à partir de laquelle il est possible de créer des objets ; c'est en quelque sorte une « boîte à outils » qui permet de fabriquer un objet.
Héritage (informatique)En programmation orientée objet, l’héritage est un mécanisme qui permet, lors de la déclaration d’une nouvelle classe, d'y inclure les caractéristiques d’une autre classe. L'héritage établit une relation de généralisation-spécialisation qui permet d'hériter dans la déclaration d’une nouvelle classe (appelée classe dérivée, classe fille, classe enfant ou sous-classe) des caractéristiques (propriétés et méthodes) de la déclaration d'une autre classe (appelée classe de base, classe mère, classe parent ou super-classe).
Python syntax and semanticsThe syntax of the Python programming language is the set of rules that defines how a Python program will be written and interpreted (by both the runtime system and by human readers). The Python language has many similarities to Perl, C, and Java. However, there are some definite differences between the languages. It supports multiple programming paradigms, including structured, object-oriented programming, and functional programming, and boasts a dynamic type system and automatic memory management.
Go (langage)Go est un langage de programmation compilé et concurrent inspiré de C et Pascal. Il a été développé par Google à partir d’un concept initial de , Rob Pike et Ken Thompson. vignette|alt=Logo de Google Go|droite|Mascotte de Google Go Go veut faciliter et accélérer la programmation à grande échelle : en raison de sa simplicité, il est donc concevable de l’utiliser aussi bien pour écrire des applications, des scripts ou de grands systèmes. Cette simplicité est nécessaire aussi pour assurer la maintenance et l’évolution des programmes sur plusieurs générations de développeurs.
Java (langage)Java est un langage de programmation de haut niveau orienté objet créé par James Gosling et Patrick Naughton, employés de Sun Microsystems, avec le soutien de Bill Joy (cofondateur de Sun Microsystems en 1982), présenté officiellement le au SunWorld. La société Sun est rachetée en 2009 par la société Oracle qui détient et maintient désormais Java. Un logiciel écrit en language Java a pour particularité d'être compilé vers un code intermédiaire formé de bytecodes qui peut être exécutée dans une machine virtuelle Java (JVM) en faisant abstraction du système d'exploitation.
Cadre d'architectureUn cadre d'architecture est une spécification sur la façon d'organiser et de présenter une architecture de systèmes ou l'architecture informatique d'un organisme. Étant donné que les disciplines de l'architecture de systèmes et de l'architecture informatique sont très larges, et que la taille de ces systèmes peut être très grande, il peut en résulter des modèles très complexes. Afin de gérer cette complexité, il est avantageux de définir un cadre d'architecture par un ensemble standard de catégories de modèles (appelés “vues”) qui ont chacun un objectif spécifique.
Monade (informatique)En théorie des langages fonctionnels typés, une monade est un patron de conception qui combine des éléments de langages fonctionnels avec des méthodologies propres aux langages impératifs. En pratique, les valeurs retournées par des portions de programme (qui peuvent être vus comme des fonctions) sont englobées en un type pour être enchaînées ultérieurement en d'autres calculs. Il s'agit alors d'avoir une représentation simulant exactement des notions telles que les exceptions ou les effets de bords, tout en conservant la logique propre à la programmation fonctionnelle.
Pouvoir (sciences sociales)Cet article concerne le pouvoir tel que perçu dans la relation entre les individus. Le pouvoir n'est pas une capacité ou un attribut d'un acteur, c'est une relation d'échange entre deux acteurs sociaux (des individus, des groupes sociaux ou classes sociales), le plus souvent asymétrique, qui permet à l’un des acteurs de faire agir l’autre. Cependant, il est difficile d'aborder la notion de pouvoir, car elle est mélangée avec la notion de l'autorité.
Économie circulaireL'économie circulaire est un nouveau modèle économique à vision systémique. Les notions d'économie verte, d’économie de l'usage ou de l'économie de la fonctionnalité, de l'économie de la performance et de l'écologie industrielle font partie de l'économie circulaire. Une telle économie fonctionne en boucle, abolissant ainsi la notion de « déchet ». Son objectif est de produire des biens et services tout en limitant fortement la consommation et le gaspillage des matières premières, et des sources d'énergies non renouvelables.
View modelA view model or viewpoints framework in systems engineering, software engineering, and enterprise engineering is a framework which defines a coherent set of views to be used in the construction of a system architecture, software architecture, or enterprise architecture. A view is a representation of the whole system from the perspective of a related set of concerns. Since the early 1990s there have been a number of efforts to prescribe approaches for describing and analyzing system architectures.