Type classIn computer science, a type class is a type system construct that supports ad hoc polymorphism. This is achieved by adding constraints to type variables in parametrically polymorphic types. Such a constraint typically involves a type class T and a type variable a, and means that a can only be instantiated to a type whose members support the overloaded operations associated with T.
Programmation fonctionnelleLa programmation fonctionnelle est un paradigme de programmation de type déclaratif qui considère le calcul en tant qu'évaluation de fonctions mathématiques. Comme le changement d'état et la mutation des données ne peuvent pas être représentés par des évaluations de fonctions la programmation fonctionnelle ne les admet pas, au contraire elle met en avant l'application des fonctions, contrairement au modèle de programmation impérative qui met en avant les changements d'état.
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.
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.
Langage de programmationthumb|Fragment de code écrit dans le langage de programmation JavaScript. Un langage de programmation est un langage informatique destiné à formuler des algorithmes et produire des programmes informatiques qui les appliquent. D'une manière similaire à une langue naturelle, un langage de programmation est composé d'un alphabet, d'un vocabulaire, de règles de grammaire, de significations, mais aussi d'un environnement de traduction censé rendre sa syntaxe compréhensible par la machine.
Conversion de typeEn informatique la conversion de type, le transtypage ou la coercition (cast en anglais) est le fait de convertir une valeur d'un type (source) dans un autre (cible). On distingue trois formes de conversion (dont un seul mérite vraiment le nom de conversion) suivant la relation de sous-typage existant entre les types source et cible : la conversion entre types incomparables ; la coercition ascendante (transtypage vers le haut) ; la coercition descendante (transtypage vers le bas). C'est la coercition la plus ancienne historiquement.
Programmation orientée objetLa programmation orientée objet (POO), ou programmation par objet, est un paradigme de programmation informatique. Elle consiste en la définition et l'interaction de briques logicielles appelées objets ; un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d'un livre. Il possède une structure interne et un comportement, et il sait interagir avec ses pairs.
Langage de programmation dynamiqueCet article traite d'une classe des langages de programmation. Pour la méthode consistant en la réduction du temps d'exécution d'un algorithme, voir programmation dynamique On utilise le terme langage de programmation dynamique en informatique pour décrire une classe de langages de haut niveau qui exécutent au moment de l'exécution des actions que d'autres langages ne peuvent exécuter que durant la compilation.
Type récursifEn programmation informatique et théorie des types, un type récursif est un type de données dont la définition fait appel au type lui‐même, de façon récursive. Cela permet entre autres des structures de données qui contiennent des sous‐structures du même type. Cette notion s'applique naturellement dans l'étude des listes et des arbres. Type algébrique de données Les types algébriques sont de loin la forme la plus courante de types récursifs. Un exemple classique est le type liste.
F SharpF# est un langage de programmation fonctionnel, impératif et orienté objet pour la plate-forme .NET. F# est développé par Microsoft Research et son noyau est dérivé du langage OCaml, avec lequel il est fortement compatible. Ces deux langages de programmation font partie de la même famille que les langages ML. Ce langage a été conçu spécifiquement pour la plate-forme .NET, donc fortement orienté-objet. Depuis novembre 2010, Microsoft a mis à la disposition de tous les bibliothèques core et son compilateur F#, sous la licence Apache 2.
Outilthumb|Une boîte à outils en bois des années 1950. Un outil est un objet physique utilisé par un être vivant directement, ou par l'intermédiaire d'une machine, afin d'exercer une action le plus souvent mécanique, ou thermique, sur un élément d'environnement à traiter (matière brute, objet fini ou semi-fini, être vivant, etc). Il améliore l'efficacité des actions entreprises ou donne accès à des actions impossibles autrement. Beaucoup procurent un avantage mécanique en fonctionnant selon le principe d'une machine simple, comme la pince-monseigneur, qui exploite le principe du levier.
Constructionvignette|upright|Les grues sont essentielles pour des travaux importants tels que les gratte-ciel. La construction est le fait d'assembler différents éléments d'un édifice en utilisant des matériaux et des techniques appropriées. Le secteur économique de la construction, appelé « bâtiment et travaux publics » (BTP) dans une partie de l'Europe francophone, regroupe toutes les activités de conception et de construction des bâtiments publics et privés, industriels ou non, et des infrastructures telles que les routes ou les canalisations.
Programmation purement fonctionnelleEn informatique, la programmation purement fonctionnelle est un paradigme de programmation qui considère toutes les opérations comme l'évaluation de fonctions mathématiques. L'état et les objets immuables sont généralement modélisés à l'aide d'une logique temporelle, en tant que variables explicites représentant l'état du programme à chaque étape de son exécution : l'état d'une variable est transmis en tant que paramètre d'entrée d'une fonction de transformation d'état, qui renvoie l'état mis à jour en tant que partie de sa valeur de retour.
Construction managementConstruction management (CM) is a professional service that uses specialized, project management techniques and software to oversee the planning, design, construction and closeout of a project. The purpose of construction management is to control the quality of a project's scope, time / delivery and cost—sometimes referred to as a project management triangle or "triple constraints." CM is compatible with all project delivery systems, including design-bid-build, design-build, CM At-Risk and Public Private Partnerships.
Product typeIn programming languages and type theory, a product of types is another, compounded, type in a structure. The "operands" of the product are types, and the structure of a product type is determined by the fixed order of the operands in the product. An instance of a product type retains the fixed order, but otherwise may contain all possible instances of its primitive data types. The expression of an instance of a product type will be a tuple, and is called a "tuple type" of expression.
Liste des outils de jardinagevignette|Représentation de plusieurs outils La pratique du jardinage repose sur des savoir-faire et des outils. Utiliser le bon outil pour la bonne tâche. On peut différencier les outils selon leur utilisation : préparation des sols avant plantation ou semis : par exemple motoculteur, fourche, bêche. préparation et entretien des sols déjà plantés ou semés, par exemple : tondeuse à gazon, arrosoir. outils d'élagage, coupe ou suppression : par exemple : tronçonneuse, scie, sécateur, taille-haie.
Outil à mainUn outil à main est un outil qui est actionné à la main plutôt qu' à l'aide d'un moteur. Catégories d'outils à main comprennent des clés, pinces, cutter, outils de frappe, ciseaux, tournevis, étaux, serre-joint, cisailles, scies, perceuses et couteaux. Les outils d'extérieur tels que les fourches, les sécateurs et les râteaux sont aussi des outils à main. Les outils électroportatifs ne sont pas considérés comme des outils à main. Les outils à main sont utilisés par les humains depuis l'âge de pierre, où les pierres étaient utilisées pour couper et frapper.
Power toolA power tool is a tool that is actuated by an additional power source and mechanism other than the solely manual labor used with hand tools. The most common types of power tools use electric motors. Internal combustion engines and compressed air are also commonly used. Tools directly driven by animal power are not generally considered power tools. Power tools are used in industry, in construction, in the garden, for housework tasks such as cooking, cleaning, and around the house for purposes of driving (fasteners), drilling, cutting, shaping, sanding, grinding, routing, polishing, painting, heating and more.
Abstraction (informatique)En informatique, le concept d'abstraction identifie et regroupe des caractéristiques et traitements communs applicables à des entités ou concepts variés ; une représentation abstraite commune de tels objets permet d'en simplifier et d'en unifier la manipulation. thumb|upright=1.4|Différentes couches de logiciel, partant d'en bas, le matériel est programmé en langage binaire, via un firmware, qui permet une abstraction pour le noyau, puis lui même pour le système d'exploitation, qui a son tour permet une abstraction pour les applications.
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.