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.
Comparison of programming languagesProgramming languages are used for controlling the behavior of a machine (often a computer). Like natural languages, programming languages follow rules for syntax and semantics. There are thousands of programming languages and new ones are created every year. Few languages ever become sufficiently popular that they are used by more than a few people, but professional programmers may use dozens of languages in a career. Most programming languages are not standardized by an international (or national) standard, even widely used ones, such as Perl or Standard ML (despite the name).
Langage de programmation exotiqueUn langage de programmation exotique est un langage de programmation imaginé comme un test des limites de la création de langages de programmation, un exercice intellectuel ou encore une blague, sans aucune intention de créer un langage réellement utile. De tels langages sont souvent un passe-temps pour les hackers ou les programmeurs. L'adjectif « exotique » permet de distinguer ces langages de ceux communément utilisés dans l'industrie.
C (langage)C est un langage de programmation impératif, généraliste et de bas niveau. Inventé au début des années 1970 pour réécrire Unix, C est devenu un des langages les plus utilisés, encore de nos jours. De nombreux langages plus modernes comme C++, C#, Java et PHP ou JavaScript ont repris une syntaxe similaire au C et reprennent en partie sa logique. C offre au développeur une marge de contrôle importante sur la machine (notamment sur la gestion de la mémoire) et est de ce fait utilisé pour réaliser les « fondations » (compilateurs, interpréteurs.
System programming languageA system programming language is a programming language used for system programming; such languages are designed for writing system software, which usually requires different development approaches when compared with application software. Edsger Dijkstra refers to these languages as machine oriented high order languages, or mohol. General-purpose programming languages tend to focus on generic features to allow programs written in the language to use the same code on different platforms.
Langage de programmation de bas niveauvignette|Language de programmation Un langage de programmation de bas niveau ne fournit que peu d'abstraction par rapport au jeu d'instructions du processeur de la machine. Les langages de bas niveau sont à opposer aux langages de haut niveau, qui permettent de créer un programme sans tenir compte des caractéristiques particulières (registres, etc) de l'ordinateur censé exécuter le programme. Le langage machine et le langage d'assemblage sont les archétypes de langages de bas niveau, puisqu'ils permettent de manipuler explicitement des registres, des adresses mémoires, des instructions machines.
Langage de programmation de haut niveauEn programmation informatique, un langage de programmation à haut niveau d'abstraction généralement appelé langage de haut niveau est un langage de programmation orienté autour du problème à résoudre, qui permet d'écrire des programmes en utilisant des mots usuels des langues naturelles (très souvent de l'anglais) et des symboles mathématiques familiers. Un langage de haut niveau fait abstraction des caractéristiques techniques du matériel utilisé pour exécuter le programme, tels que les registres et les drapeaux du processeur.
Stratégie de régulationUne stratégie (ou topologie) de régulation est, pour un procédé industriel, l'organisation du système de contrôle-commande en vue de maintenir une grandeur physique dans une plage de tolérance donnée. Le choix de stratégie est très important dans les industries de transformation (par exemple les industries chimiques, papetières, agroalimentaires) en raison de la variabilité d'un nombre élevé de grandeurs physiques incidentes (dites « perturbations ») qui y sont présentes.
Supervision (informatique)La supervision est une technique industrielle de suivi et de pilotage informatique de procédés de fabrication automatisés. La supervision concerne l'acquisition de données (mesures, alarmes, retour d'état de fonctionnement) et des paramètres de commande des processus généralement confiés à des automates programmables. Dans l'informatique, la supervision est la surveillance du bon fonctionnement d’un système ou d’une activité. À ne pas confondre avec l'hypervision, qui elle correspond à la centralisation des outils de supervision, d’infrastructure, d'applications et de référentiels (ex.
Robotvignette|Atlas (2013), robot androïde de Boston Dynamics vignette|Bras manipulateurs dans un laboratoire (2009) vignette|NAO (2006), robot humanoïde éducatif d'Aldebaran Robotics vignette|DER1 (2005), un actroïde d'accueil vignette|Roomba (2002), un robot ménager Un robot est un dispositif mécatronique (alliant mécanique, électronique et informatique) conçu pour accomplir automatiquement des tâches imitant ou reproduisant, dans un domaine précis, des actions humaines.
Robotique industriellevignette|droite|Un robot industriel Kawasaki FS-03N, robot de soudage La robotique industrielle est officiellement définie par l'Organisation Internationale de Normalisation (ISO) comme étant un système commandé automatiquement, multi-applicatif, reprogrammable, polyvalent, manipulateur et programmable sur trois axes ou plus. Les applications typiques incluent les robots de soudage, de peinture et d'assemblage. L'avantage de la robotique industrielle est sa rapidité d'exécution et sa précision ainsi que la répétition de cette précision dans le temps.
Robot domestiquethumb|Robot domestique nettoyant une vitre.|alt=le film montre un robot nettoyeur allant et venant sur une vitre de fenêtre en position verticale Un robot domestique est un robot de service personnel utilisé pour des tâches ménagères. On estime à le nombre de robots domestiques en 2006, avec une estimation de robots industriels. Les robots domestiques sont utilisés par exemple en vaisselle, en repassage, en nettoyage et en cuisine. Ils peuvent également être utilisés dans le domaine de la restauration et dans la construction.
Système numérique de contrôle-commandevignette|Deux racks de CS3000, un SNCC de Yokogawa. De droite à gauche, dans le rack supérieur : une alimentation, une CPU, une carte bus pour communiquer avec l'autre rack, des cartes d'entrées-sorties ; dans le rack inférieur : idem sauf la CPU. On peut remarquer que la CPU est connectée à deux câbles Ethernet redondants pour communiquer avec d'autres CPU et des PC de supervision. Un système numérique de contrôle-commande (SNCC, ou DCS pour distributed control system en anglais) est un système de contrôle d'un procédé industriel doté d'une interface homme-machine pour la supervision et d'un réseau de communication numérique.
Langage graphiquevignette|Script du programme "Hello, world!" dans le langage de programmation graphique Scratch Un langage de programmation graphique ou visuel est un langage de programmation dans lequel les programmes sont écrits par assemblage d'éléments graphiques. Sa syntaxe concrète est composée de symboles graphiques et de textes, qui sont disposés spatialement pour former des programmes. De nombreux langages visuels se basent sur les notions « de boîtes et de flèches » : les boîtes (ou d'autres d'objets) sont traitées comme des entités, reliées par des flèches ou des lignes qui représentent des relations.
Robot autonomevignette|exemple de robot autonome de type rover Un robot autonome, également appelé simplement autorobot ou autobot, est un robot qui exécute des comportements ou des tâches avec un degré élevé d'autonomie (sans influence extérieure). La robotique autonome est généralement considérée comme un sous-domaine de l'intelligence artificielle, de la robotique et de l'. Les premières versions ont été proposées et démontrées par l'auteur/inventeur David L. Heiserman.
Robotiquethumb|upright=1.5|Nao, un robot humanoïde. thumb|upright=1.5|Des robots industriels au travail dans une usine. La robotique est l'ensemble des techniques permettant la conception et la réalisation de machines automatiques ou de robots. L'ATILF donne la définition suivante du robot : « il effectue, grâce à un système de commande automatique à base de microprocesseur, une tâche précise pour laquelle il a été conçu dans le domaine industriel, scientifique, militaire ou domestique ».
AutomatiqueL’automatique est une science qui traite de la modélisation, de l’analyse, de l’identification et de la commande des systèmes dynamiques. Elle inclut la cybernétique au sens étymologique du terme, et a pour fondements théoriques les mathématiques, la théorie du signal et l’informatique théorique. L’automatique permet de commander un système en respectant un cahier des charges (rapidité, précision, stabilité...). Les professionnels en automatique se nomment automaticiens.
Programmation événementielleEn informatique, la programmation événementielle est un paradigme de programmation fondé sur les événements. Elle s'oppose à la programmation séquentielle. Le programme sera principalement défini par ses réactions aux différents événements qui peuvent se produire, c'est-à-dire des changements d'état de variable, par exemple l'incrémentation d'une liste, un déplacement ou un clic de souris, une saisie au clavier...
Programmation concurrenteLa programmation concurrente est un paradigme de programmation tenant compte, dans un programme, de l'existence de plusieurs piles sémantiques qui peuvent être appelées threads, processus ou tâches. Elles sont matérialisées en machine par une pile d'exécution et un ensemble de données privées. La concurrence est indispensable lorsque l'on souhaite écrire des programmes interagissant avec le monde réel (qui est concurrent) ou tirant parti de multiples unités centrales (couplées, comme dans un système multiprocesseurs, ou distribuées, éventuellement en grille ou en grappe).
Dataflow programmingIn computer programming, dataflow programming is a programming paradigm that models a program as a directed graph of the data flowing between operations, thus implementing dataflow principles and architecture. Dataflow programming languages share some features of functional languages, and were generally developed in order to bring some functional concepts to a language more suitable for numeric processing. Some authors use the term datastream instead of dataflow to avoid confusion with dataflow computing or dataflow architecture, based on an indeterministic machine paradigm.