Optimisation convexevignette|320x320px|Optimisation convexe dans un espace en deux dimensions dans un espace contraint L'optimisation convexe est une sous-discipline de l'optimisation mathématique, dans laquelle le critère à minimiser est convexe et l'ensemble admissible est convexe. Ces problèmes sont plus simples à analyser et à résoudre que les problèmes d'optimisation non convexes, bien qu'ils puissent être NP-difficile (c'est le cas de l'optimisation copositive). La théorie permettant d'analyser ces problèmes ne requiert pas la différentiabilité des fonctions.
Fenêtre de registresEn architecture des ordinateurs, les fenêtres de registres constituent une technique pour améliorer la performance des appels de fonctions. Elles ont été utilisées pour la première fois dans les processeurs RISC de Berkeley, qui sont à l'origine des architectures SPARC, AMD 29000 et Intel i960. La plupart des processeurs ont un petit nombre de mémoires très rapides appelées registres. Les processeurs utilisent les registres afin de stocker temporairement des valeurs lors de l'exécution des suites d'instructions.
Bootstrap (compilateur)Le bootstrapping décrit en informatique les techniques fondées sur l'écriture d'un compilateur (ou d'un assembleur) dans le langage de programmation cible qu'il doit compiler. De ce fait, il s'agit d'une technique de développement (sur un même système) ou de portage (d'un système à l'autre), qui part d'un premier compilateur minimal écrit de façon classique, amorçant une suite de versions, chacune préférable à la précédente. un dialecte d'Algol 58, a été le premier langage à fournir un tel bootstrap.
Arbre BEn informatique, un arbre B (appelé aussi B-arbre par analogie au terme anglais « B-tree ») est une structure de données en arbre équilibré. Les arbres B sont principalement mis en œuvre dans les mécanismes de gestion de bases de données et de systèmes de fichiers. Ils stockent les données sous une forme triée et permettent une exécution des opérations d'insertion et de suppression en temps toujours logarithmique. Le principe est de permettre aux nœuds parents de posséder plus de deux nœuds enfants : c'est une généralisation de l’arbre binaire de recherche.
Arbre binaireEn informatique, un arbre binaire est une structure de données qui peut se représenter sous la forme d'une hiérarchie dont chaque élément est appelé nœud, le nœud initial étant appelé racine. Dans un arbre binaire, chaque élément possède au plus deux éléments fils au niveau inférieur, habituellement appelés gauche et droit. Du point de vue de ces éléments fils, l'élément dont ils sont issus au niveau supérieur est appelé père. Au niveau le plus élevé, niveau 0, il y a un nœud racine.
Auto-hébergement (informatique)Le premier compilateur auto-hébergé (si l'on exclut les assembleurs) a été écrit pour le Lisp par Hart et Levin au Massachusetts Institute of Technology (MIT) en 1962. Puisque les interpréteurs Lisp, mais non les compilateurs, existaient auparavant, ils utilisaient une méthode originale pour compiler leur compilateur. Le compilateur, comme tout programme Lisp, pouvait être exécuté dans un interpréteur. Donc, il pouvait simplement exécuter le compilateur dans l'interpréteur lui donnant ensuite, son propre code source à compiler.
Instruction schedulingIn computer science, instruction scheduling is a compiler optimization used to improve instruction-level parallelism, which improves performance on machines with instruction pipelines. Put more simply, it tries to do the following without changing the meaning of the code: Avoid pipeline stalls by rearranging the order of instructions. Avoid illegal or semantically ambiguous operations (typically involving subtle instruction pipeline timing issues or non-interlocked resources).
Scala (langage)Scala est un langage de programmation multi-paradigme conçu à l'École polytechnique fédérale de Lausanne (EPFL) pour exprimer les modèles de programmation courants dans une forme concise et élégante. Son nom vient de l'anglais Scalable language qui signifie à peu près « langage adaptable » ou « langage qui peut être mis à l'échelle ». Il peut en effet être vu comme un métalangage. Scala intègre les paradigmes de programmation orientée objet et de programmation fonctionnelle, avec un typage statique.
String literalA string literal or anonymous string is a literal for a string value in the source code of a computer program. Modern programming languages commonly use a quoted sequence of characters, formally "bracketed delimiters", as in x = "foo", where "foo" is a string literal with value foo. Methods such as escape sequences can be used to avoid the problem of delimiter collision (issues with brackets) and allow the delimiters to be embedded in a string. There are many alternate notations for specifying string literals especially in complicated cases.
B+ treeA B+ tree is an m-ary tree with a variable but often large number of children per node. A B+ tree consists of a root, internal nodes and leaves. The root may be either a leaf or a node with two or more children. A B+ tree can be viewed as a B-tree in which each node contains only keys (not key–value pairs), and to which an additional level is added at the bottom with linked leaves. The primary value of a B+ tree is in storing data for efficient retrieval in a block-oriented storage context — in particular, .
Fonction thêtaEn mathématiques, on appelle fonctions thêta certaines fonctions spéciales d'une ou de plusieurs variables complexes. Elles apparaissent dans plusieurs domaines, comme l'étude des variétés abéliennes, des espaces de modules, et les formes quadratiques. Elles ont aussi des applications à la théorie des solitons. Leurs généralisations en algèbre extérieure apparaissent dans la théorie quantique des champs, plus précisément dans la théorie des cordes et des D-branes.
Littéral (programmation)En informatique, un littéral est une notation pour représenter une valeur fixe. Presque tous les langages de programmation ont des notations pour les valeurs atomiques telles que les entiers, les nombres à virgule flottante et les chaînes de caractères, et généralement pour les booléens et les caractères ; certains ont également des notations pour les éléments de types énumérés et les valeurs composées telles que les tableaux, les enregistrements et les objets. Une fonction anonyme est un littéral pour le type de fonction.