Language interoperabilityLanguage interoperability is the capability of two different programming languages to natively interact as part of the same system and operate on the same kind of data structures. There are many ways programming languages are interoperable with one another. HTML, CSS, and JavaScript are interoperable as they are used in tandem in webpages. Some object oriented languages are interoperable thanks to their shared hosting virtual machine (e.g. .NET CLI compliant languages in the Common Language Runtime and JVM compliant languages in the Java Virtual Machine).
Automate d'arbresEn informatique théorique, plus précisément en théorie des langages, un automate d'arbre est une machine à états qui prend en entrée un arbre, plutôt qu'une chaîne de caractères pour les automates plus conventionnels, comme les automates finis. Comme pour les automates classiques, les automates d'arbres finis (FTA pour finite tree automata en anglais) peuvent être déterministes ou pas. Suivant la façon dont les automates se « déplacent » sur l'arbre qu'ils traitent, les automates d'arbres peuvent être de deux types : (a) ascendants ; (b) descendants.
Automate fini déterministe bidirectionnelEn informatique théorique, et notamment en théorie des automates, un automate fini déterministe bidirectionnel (en anglais ) souvent abrégé en 2AFD (en anglais 2DFA), est un automate fini déterministe qui peut relire des symboles d'entrée déjà vus. Comme pour les automates finis déterministes usuels, un 2AFD possède un nombre fini d'états, et le passage d'un état à un autre est régi par des transitions en fonction du symbole lu. De plus, une transition porte une information sur la direction de déplacement de la lecture, soit vers la droite soit vers la gauche.
Thread (informatique)thumb|Un processus avec deux threads. Un thread ou fil (traduction normalisés par ISO/CEI 2382-7:2000 (autres appellations connues : processus léger, fil d'exécution, fil d'instruction, processus allégé, exétron, tâche, voire unité d'exécution ou unité de traitement) est similaire à un processus car tous deux représentent l'exécution d'un ensemble d'instructions du langage machine d'un processeur. Du point de vue de l'utilisateur, ces exécutions semblent se dérouler en parallèle.
Histoire modernevignette | Friedrich Nietzsche à Bâle, c. 1875. Nietzsche a été un précurseur important du modernisme. L'histoire moderne, la période moderne ou l'ère moderne, est une époque historique dans l'approche linéaire, globale et historiographique de l'horizon temporel après l'. Ce point de vue contraste avec la vision , ou non linéaire, de l'Histoire proposée pour la première fois par le célèbre philosophe et historien Oswald Spengler, au début du .
Grande puissancevignette|Les grandes puissances sont reconnues dans une structure internationale telle que le Conseil de sécurité des Nations unies. Le terme grande puissance est généralement attribué aux pays qui, au travers de leur économie, leur politique étrangère et leur force militaire, ont un rayonnement et une influence au niveau mondial. Les décisions prises par les grandes puissances ont souvent un impact sur les autres nations qui les prennent en compte pour leur propre politique, décisions militaires ou diplomatiques.
Moyenne puissanceUne moyenne puissance (ou puissance moyenne) est une expression utilisée dans le champ des relations internationales et de la géopolitique pour décrire des États n'étant pas des grandes puissances, mais ayant néanmoins une influence certaine au sein de la communauté internationale. Être un pays d’une puissance moyenne veut dire que ce pays tire avantage de son expertise diplomatique et de sa plus faible force militaire pour jouer un rôle de médiateur dans des conflits entre les grandes puissances mondiales.
Behavioral patternIn software engineering, behavioral design patterns are design patterns that identify common communication patterns among objects. By doing so, these patterns increase flexibility in carrying out communication.
Non-blocking algorithmIn computer science, an algorithm is called non-blocking if failure or suspension of any thread cannot cause failure or suspension of another thread; for some operations, these algorithms provide a useful alternative to traditional blocking implementations. A non-blocking algorithm is lock-free if there is guaranteed system-wide progress, and wait-free if there is also guaranteed per-thread progress. "Non-blocking" was used as a synonym for "lock-free" in the literature until the introduction of obstruction-freedom in 2003.
Communicating sequential processesEn programmation concurrente, Communicating sequential processes (CSP) est une algèbre de processus permettant de modéliser l'interaction de systèmes. CSP intègre un mécanisme de synchronisation basé sur le principe du rendez-vous (détaillé plus loin au travers de la commande d'entrée/sortie). Combinant ce mécanisme à une syntaxe simple et concise, CSP permet l'implémentation rapide des paradigmes classiques de la concurrence, tels que producteurs/consommateurs ou lecteurs/écrivains.