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.
Abstraction lyriqueL'abstraction lyrique se réfère à deux mouvements distincts, bien que liés, de la peinture moderne d'après-guerre : L'abstraction lyrique européenne ainsi baptisée par le critique Jean José Marchand et le peintre Georges Mathieu en 1947, dont le courant initial et principal, le tachisme, a été défini à partir de 1951 par les critiques Pierre Guéguen, Charles Estienne et Michel Tapié, lequel inclura ces deux notions dans l'art informel en 1952. L'abstraction lyrique américaine, un mouvement décrit en 1969 par , fondateur de l' à Ridgefield Connecticut.
Elixir (langage)Elixir est un langage de programmation multi-paradigme fonctionnant sur la machine virtuelle Erlang (BEAM). Il est créé en 2011 par le développeur José Valim, personnalité du monde Ruby et l'un des premiers contributeurs au framework de programmation Ruby on Rails. Il intègre les paradigmes de programmation fonctionnelle, programmation concurrente et , et supporte la métaprogrammation via un système de macros et le polymorphisme via un système dit de protocoles.
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.
Abstraction (philosophie)L’abstraction est l'opération mentale, de l'esprit par laquelle les propriétés générales, universelles et nécessaires d'un objet sont distinguées de ses propriétés particulières et contingentes. Par cette opération, notre pensée prend une distance par rapport à l'expérience sensible et forme l'ensemble de nos idées qui seront consignées dans le langage. L'opération d'abstraction permet de distinguer entre l'abstrait et le concret. Ceux-ci forment une opposition conceptuelle fondamentale en philosophie.
Code (information)vignette|redresse|Code morse international. En sciences et techniques, notamment en informatique et en théorie de l'information, un code est une règle de transcription qui, à tout symbole d'un jeu de caractères (alphabet source) assigne de manière univoque un caractère ou une chaîne de caractères pris dans un jeu de caractères éventuellement différent (alphabet cible). Un exemple est le code morse qui établit une relation entre lettres de l'alphabet latin et des séquences de sons courts et longs.
RubyRuby est un langage de programmation libre. Il est interprété, orienté objet et multi-paradigme. Le langage a été standardisé au Japon en 2011 (JIS X 3017:2011), et en 2012 par l'Organisation internationale de normalisation (ISO 30170:2012). Yukihiro « Matz » Matsumoto est le créateur de Ruby. Frustré par son expérience en développement Smalltalk et Lisp, il commence la conception d'un nouveau langage en 1993 sous Emacs, puis publie une première version en 1995 sous licence libre. Il enchaîne depuis les nouvelles versions.
Code cycliqueEn mathématiques et en informatique, un code cyclique est un code correcteur linéaire. Ce type de code possède non seulement la capacité de détecter les erreurs, mais aussi de les corriger sous réserve d'altérations modérées. Les mathématiques sous-jacentes se fondent sur la théorie des corps finis, et en particulier les extensions de Galois ainsi que les polynômes. Les codes cycliques, encore appelés contrôles de redondance cyclique (CRC), correspondent à une large famille de codes, on peut citer par exemple le code de Hamming, les codes BCH ou le code de Reed-Solomon.
Génération de code natifLa génération de code natif est l'étape du processus de compilation transformant l'arbre syntaxique abstrait enrichi d'informations sémantiques en code machine ou en bytecode spécialisé pour la plateforme cible. C'est l'avant-dernière étape du processus de compilation qui se situe avant l'édition des liens. La phase de génération de code natif inclut généralement : Le choix des instructions à émettre ; L'ordonnancement des instructions : dans quel ordre émettre les instructions.
Programmation par copier-collerLa programmation par copier-coller est la production de code source par de nombreux copier-coller. Elle est un palliatif à des compétences insuffisantes en programmation informatique, mais peut être due à des limitations technologiques (par exemple, un environnement de développement peu expressif) là où des fonctions ou des bibliothèques logicielles seraient normalement utilisées. Elle est considérée comme acceptable voire nécessaire, par exemple avec le code redondant (boilerplate en anglais), le déroulage de boucle manuel (quand le compilateur ne sait pas le faire automatiquement), ou avec certains idiomes de programmation.