Métaprogrammation avec des patronsLa métaprogrammation avec des patrons est une technique de programmation dans laquelle les patrons sont utilisés de sorte que le compilateur, lors de la compilation du code, exécute un programme. Ces programmes peuvent générer des constantes ou des structures de données. Cette technique est utilisée principalement dans le langage de programmation C++. L'exemple simple de calcul de factorielle avec récursion illustre bien ce qu'est la « programmation lors de la compilation ».
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.
C++11C++11, anciennement connu sous le nom de C++0x, est une norme pour le langage C++ en informatique. Elle a été approuvée unanimement le . Elle remplace la précédente norme, ISO/CEI 14882, publiée en et mise à jour en . Ces dernières sont plus connues sous les noms informels de C++98 et C++03. C++11 introduit plusieurs nouveautés au langage initial, ainsi que de nouvelles fonctionnalités à la bibliothèque standard du C++ comme la plupart des bibliothèques du Technical Report 1, à l'exception de la bibliothèque de fonctions mathématiques spéciales.
Fonction variadiqueEn programmation informatique, une fonction variadique est une fonction d'arité indéfinie, c'est-à-dire qui accepte un nombre variable de paramètres. De nombreuses opérations mathématiques et logiques peuvent se représenter sous forme de fonctions variadiques. Par exemple, l'addition de nombres ou la concaténation de chaînes de caractères peuvent s'appliquer à un nombre arbitraire d'opérandes. Le langage C permet la définition de fonctions variadiques. Les exemples les plus connus sont les fonctions standard d'entrée-sortie printf et scanf.
MétaprogrammationLa métaprogrammation, , désigne l'écriture de programmes qui manipulent des données décrivant elles-mêmes des programmes. Dans le cas particulier où le programme manipule ses propres instructions pendant son exécution, on parle de programme auto-modifiant. Elle peut être employée pour générer du code interprété par un compilateur et donner un résultat constant, afin d'éviter un calcul manuel. Il permet également de réduire le temps d'exécution du programme si le résultat constant avait été classiquement calculé par le programme comme pour les résultats variables.
Template processorA template processor (also known as a template engine or template parser) is software designed to combine templates with a data model to produce result documents. The language that the templates are written in is known as a template language or templating language. For purposes of this article, a result document is any kind of formatted output, including documents, web pages, or source code (in source code generation), either in whole or in fragments.
Générateur de site statiqueUn générateur de site statique, souvent abrégé SSG (Static Site Generator) est un programme informatique permettant de réaliser des sites web statiques. Les premiers sites web sont statiques avant que ne se popularisent les sites web dynamiques, générés par des CMS. Ces générateurs de sites dynamiques sont plus simples à utiliser que les éditeurs de texte avec lesquels les sites web statiques étaient générés et par conséquent beaucoup de sites sont dynamiques en raison de la facilité à les produire et non en raison d'un réel besoin de fonctions dynamiques.
Programmation procéduraleEn informatique, la programmation procédurale est un paradigme qui se fonde sur le concept d'appel procédural. Une procédure, aussi appelée routine, sous-routine ou fonction (à ne pas confondre avec les fonctions de la programmation fonctionnelle reposant sur des fonctions mathématiques), contient simplement une série d'étapes à réaliser. N'importe quelle procédure peut être appelée à n'importe quelle étape de l'exécution du programme, y compris à l'intérieur d'autres procédures, voire dans la procédure elle-même (récursivité).
SizeofDans les langages de programmation C et C++, l'opérateur unaire sizeof donne la taille en bytes de son opérande. L'opérande peut être un spécificateur de type ou une expression. Les types primitifs tels que char, int ou void* (non exhaustif) ont une taille dépendante du système pour lequel le code est compilé, elle est généralement documentée pour chaque système. Les structures, quant à elles, contiennent souvent plusieurs champs de types différents, la taille totale dépend donc de l'alignement de ses champs ainsi que de son alignement total.
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.
Programmation modulaireEn informatique, la programmation modulaire reprend l'idée de fabriquer un produit (le programme) à partir de composants (les modules). Elle décompose une grosse application en modules, groupes de fonctions, de méthodes et de traitement, pour pouvoir les développer et les améliorer indépendamment, puis les réutiliser dans d'autres applications. Le développement du code des modules peut être attribué à des (groupes de) personnes différentes, qui effectuent leurs tests unitaires indépendamment.
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.
RentabilitéLa rentabilité est le rapport entre un revenu obtenu ou prévu et les ressources employées pour l'obtenir. La notion s'applique notamment aux entreprises, mais aussi à tout autre investissement. La rentabilité rétrospective est le rapport entre un résultat comptable et les moyens en passifs mis en œuvre pour l'obtenir. La rentabilité prévisionnelle est le rapport entre un gain de trésorerie projeté et la valeur d'un investissement nécessaire pour générer ce gain.
Fonction d'ordre supérieurEn mathématiques et en informatique, les fonctions d'ordre supérieur sont des fonctions qui ont au moins une des propriétés suivantes : elles prennent une ou plusieurs fonctions en entrée ; elles renvoient une fonction. En mathématiques, on les appelle des opérateurs ou des fonctionnelles. L'opérateur de dérivation en calcul infinitésimal est un exemple classique, car elle associe une fonction (la dérivée) à une autre fonction (la fonction que l'on dérive). Dans le lambda-calcul non typé, toutes les fonctions sont d'ordre supérieur.
Filtrage par motifLe filtrage par motif est la vérification de la présence de constituants d'un motif par un programme informatique, ou parfois par un matériel spécialisé. Par contraste avec la reconnaissance de forme, les motifs sont complètement spécifiés. De tels motifs concernent conventionnellement des séquences ou des arbres. Par exemple "HDpdf" peut signifier : "Toute chaîne contenant HD et se terminant par pdf".
Return statementIn computer programming, a return statement causes execution to leave the current subroutine and resume at the point in the code immediately after the instruction which called the subroutine, known as its return address. The return address is saved by the calling routine, today usually on the process's call stack or in a register. Return statements in many programming languages allow a function to specify a return value to be passed back to the code that called the function.
Mission de retour d'échantillonsvignette|Vue d'artiste du décollage depuis la surface de Mars du lanceur ramenant des échantillons martiens. Une mission de retour d'échantillons est une mission spatiale dont l'objectif est de ramener sur Terre à des fins d'analyses des échantillons d'un autre corps céleste ou des particules interplanétaires ou interstellaires. Ce type de mission peut être réalisé par un robot (sonde spatiale) ou dans le cadre d'une mission avec équipage.
Retour sur investissementLe retour sur investissement (RSI ou rentabilité du capital investi), parfois appelé rendement, taux de rendement, taux de profit ou encore ROI (terme anglais, return on investment), désigne un ratio financier qui mesure le montant d'argent gagné ou perdu, par rapport à la somme initialement investie dans un investissement. Pour un investissement financier, ce ratio est généralement exprimé en pourcentage plutôt qu'en valeur décimale. Pour un investissement productif à durée de vie courte ou indéterminée (achat / développement de logiciels par exemple), ce sera l’inverse.
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.
Vecteur euclidienEn mathématiques, et plus précisément en géométrie euclidienne, un vecteur euclidien est un objet géométrique possédant une direction, un sens et une norme. On l'utilise par exemple en physique et en ingénierie pour modéliser une force. On parle aussi parfois de vecteur géométrique dans le plan euclidien (deux dimensions) et de vecteur spatial dans l'espace à trois dimensions. Vecteur#HistoireVecteur En physique et en ingénierie, on travaille souvent dans l'espace euclidien.