Article de reference

L'informatique

Domaines fondamentaux de l'informatique théorie des langages de programmation architecture informatique Intelligence artificielle théorie de la complexité computationnelle L'inf...

Page semi-protégée
calcul , de l'information et de l'automatisation . Largement incluse dans les sciences , l'informatique englobe des disciplines théoriques (telles que les algorithmes , la théorie du calcul et la théorie de l'information ) et des disciplines appliquées (y compris la conception et la mise en œuvre de matériel et de logiciels ). Un expert dans ce domaine est appelé un informaticien .

Les algorithmes et les structures de données sont au cœur de l'informatique. La ​​théorie du calcul s'intéresse aux modèles abstraits de calcul et aux classes générales de problèmes pouvant être résolus grâce à eux. La cryptographie et la sécurité informatique étudient les moyens de communication sécurisée et de prévention des failles de sécurité . L'infographie et la géométrie algorithmique traitent de la génération d'images. La théorie des langages de programmation examine différentes manières de décrire les processus de calcul, tandis que la théorie des bases de données s'intéresse à la gestion des référentiels de données. L'interaction homme-machine étudie les interfaces d'interaction entre les humains et les ordinateurs, et le génie logiciel se concentre sur la conception et les principes du développement logiciel. Des domaines tels que les systèmes d'exploitation , les réseaux et les systèmes embarqués étudient les principes et la conception des systèmes complexes . L'architecture des ordinateurs décrit la construction des composants informatiques et des équipements informatisés. L'intelligence artificielle et l'apprentissage automatique visent à synthétiser les processus orientés vers un but, tels que la résolution de problèmes, la prise de décision, l'adaptation à l'environnement, la planification et l'apprentissage, présents chez l'humain et l'animal. En intelligence artificielle, la vision par ordinateur vise à comprendre et à traiter les données d'images et de vidéos, tandis que le traitement automatique du langage naturel vise à comprendre et à traiter les données textuelles et linguistiques.

La question fondamentale de l'informatique est de déterminer ce qui peut et ne peut pas être automatisé. Le prix Turing est généralement reconnu comme la plus haute distinction en informatique.

Thomas Harriot (1646–1716) a développé la notation binaire et l'arithmétique au début du 17e siècle.
Charles Babbage est parfois considéré comme le « père de l’informatique ».
Ada Lovelace a publié le premier algorithme destiné au traitement sur ordinateur.

Les fondements de ce qui allait devenir l'informatique sont antérieurs à l'invention de l' ordinateur numérique moderne . Des machines permettant d'effectuer des calculs numériques fixes, comme l' abaque , existent depuis l'Antiquité et facilitent des opérations telles que la multiplication et la division. Les algorithmes de calcul existent également depuis l'Antiquité, avant même le développement d'équipements informatiques sophistiqués.

Wilhelm Schickard a conçu et construit la première calculatrice mécanique fonctionnelle en 1623. En 1673, Gottfried Leibniz a présenté une calculatrice mécanique numérique, appelée « Stepped Reckoner » . Leibniz peut être considéré comme le premier informaticien et théoricien de l'information, notamment parce qu'il a documenté le système binaire, bien que Thomas Harriot l'ait déjà fait des décennies auparavant. En 1820, Thomas de Colmar a lancé l'industrie de la calculatrice mécanique en inventant son arithmomètre simplifié , la première machine à calculer suffisamment robuste et fiable pour un usage quotidien en bureau. Charles Babbage a commencé la conception de la première calculatrice mécanique automatique , sa machine à différences , en 1822, ce qui lui a finalement donné l'idée de la première calculatrice mécanique programmable , sa machine analytique . Il commença à développer cette machine en 1834 et, « en moins de deux ans, il avait esquissé nombre des caractéristiques essentielles de l'ordinateur moderne ». « Une étape cruciale fut l'adoption d'un système de cartes perforées dérivé du métier à tisser Jacquard », la rendant infiniment programmable. En 1843, lors de la traduction d'un article français sur la machine analytique, Ada Lovelace écrivit, dans l'une des nombreuses notes qu'elle incluait, un algorithme pour calculer les nombres de Bernoulli , considéré comme le premier algorithme publié spécifiquement conçu pour une implémentation sur ordinateur. Vers 1885, Herman Hollerith inventa la tabulatrice , qui utilisait des cartes perforées pour traiter des informations statistiques ; son entreprise fut par la suite intégrée à IBM . Après Babbage, et ignorant ses travaux antérieurs, Percy Ludgate publia en 1909 le second des deux seuls modèles de machines analytiques mécaniques de l'histoire. En 1914, l'ingénieur espagnolLeonardo Torres Quevedo publia ses Essais sur l'automatique [ conçut, inspiré par Babbage, une machine à calculer électromécanique théorique qui devait être commandée par un programme en lecture seule. Cet article introduisit également l'idée de l' arithmétique à virgule flottante En 1920, pour célébrer le centenaire de l'invention de l'arithmomètre, Torres présenta à Paris l' Arithmomètre électromécanique , un prototype démontrant la faisabilité d'une machine analytique électromécanique sur laquelle il était possible de saisir des commandes et d'imprimer automatiquement les résultats. En 1937, cent ans après le rêve impossible de Babbage, Howard Aiken convainquit IBM, qui fabriquait toutes sortes d'équipements à cartes perforées et était également présente sur le marché des calculatrices , de développer sa calculatrice programmable géante, l' ASCC/Harvard Mark I , basée sur la machine analytique de Babbage, qui utilisait elle-même des cartes perforées et une unité centrale de traitement . Une fois la machine achevée, certains la saluèrent comme « le rêve de Babbage devenu réalité ».

Dans les années 1940, avec le développement de machines informatiques nouvelles et plus puissantes telles que l' ordinateur Atanasoff-Berry et l'ENIAC , le terme « ordinateur » en vint à désigner les machines plutôt que leurs prédécesseurs humains. Lorsqu'il devint évident que les ordinateurs pouvaient être utilisés pour bien plus que de simples calculs mathématiques, le domaine de l'informatique s'élargit à l'étude du calcul en général. En 1945, IBM fonda le Laboratoire de calcul scientifique Watson à l'Université Columbia de New York . Cette ancienne maison de fraternité rénovée, située dans l'ouest de Manhattan, fut le premier laboratoire d'IBM consacré à la recherche fondamentale. Ce laboratoire est le précurseur de la division Recherche d'IBM, qui exploite aujourd'hui des centres de recherche dans le monde entier. Finalement, l'étroite collaboration entre IBM et l'Université Columbia joua un rôle déterminant dans l'émergence d'une nouvelle discipline scientifique, Columbia proposant l'un des premiers cours universitaires crédités en informatique dès 1946. L'informatique commença à s'établir comme discipline universitaire distincte dans les années 1950 et au début des années 1960. Le premier programme de diplôme en informatique au monde, le Cambridge Diploma in Computer Science , a débuté au laboratoire informatique de l'université de Cambridge en 1953. Le premier département d'informatique aux États-Unis a été créé à l'université Purdue en 1962. Depuis que les ordinateurs pratiques sont devenus disponibles, de nombreuses applications de l'informatique sont devenues des domaines d'études distincts à part entière.

Étymologie et étendue

of the ACM [ où Louis Fein plaide pour la création d'une école doctorale d'informatique, à l'instar de la Harvard Business School créée en 1921 Il justifie cette appellation en arguant que, comme les sciences de gestion , la discipline est appliquée et interdisciplinaire, tout en présentant les caractéristiques propres à une discipline académique . Cette initiative, ainsi que celles d'autres chercheurs comme l'analyste numérique George Forsythe , ont porté leurs fruits, et les universités ont commencé à créer de tels départements, à commencer par Purdue en 1962 . Certains départements de grandes universités privilégient le terme « sciences du calcul » , afin de souligner précisément cette différence. Le scientifique danois Peter Naur a proposé le terme « datalogie » pour souligner que cette discipline scientifique s'articule autour des données et de leur traitement, sans pour autant impliquer nécessairement l'informatique. La première institution scientifique à utiliser ce terme fut le Département de datalogie de l' Université de Copenhague , fondé en 1969, dont Peter Naur fut le premier professeur. Le terme est principalement employé dans les pays scandinaves. Un autre terme, également proposé par Naur, est « science des données » ; il désigne aujourd'hui un domaine multidisciplinaire d'analyse des données, incluant les statistiques et les bases de données.

Aux débuts de l'informatique, plusieurs termes désignant les praticiens du domaine ont été proposés (avec une pointe d'humour) dans les Communications of the ACM : « turingineer » , « turologist » , « flow-charts-man » , « applied meta-mathematician » et « applied epistemologist » . Trois mois plus tard, dans la même revue, le terme « comptologist » a été suggéré, suivi l'année suivante par « hypologist » . Le terme « computics » a également été proposé. En Europe, on utilise souvent des termes dérivés de traductions contractées de l’expression « information automatique » (par exemple, «langues slaves et hongrois ) ou grec . Des termes similaires ont également été adoptés au Royaume-Uni (comme à la School of Informatics de l’Université d’Édimbourg ). Aux États-Unis, en revanche, l’informatique est associée à l’informatique appliquée, ou à l’informatique dans le contexte d’un autre domaine.

Une citation populaire, souvent attribuée à Edsger Dijkstra (mais dont il n'est certainement pas l'auteur) , affirme que « l'informatique ne concerne pas plus les ordinateurs que l'astronomie ne concerne les télescopes » La conception et le déploiement des ordinateurs et des systèmes informatiques relèvent généralement de disciplines autres que l'informatique. Par exemple, l'étude du matériel informatique est généralement considérée comme faisant partie du génie informatique , tandis que l'étude des systèmes informatiques commerciaux et de leur déploiement est souvent appelée technologies de l'information ou systèmes d'information . Cependant, des échanges d'idées ont eu lieu entre les différentes disciplines liées à l'informatique. La recherche en informatique recoupe également fréquemment d'autres disciplines, telles que les sciences cognitives , la linguistique , les mathématiques , la physique , la biologie , les sciences de la Terre , les statistiques , la philosophie et la logique .

L'informatique est considérée par certains comme ayant une relation beaucoup plus étroite avec les mathématiques que de nombreuses autres disciplines scientifiques, certains observateurs allant jusqu'à dire qu'elle est une science mathématique. Les débuts de l'informatique ont été fortement influencés par les travaux de mathématiciens tels que Kurt Gödel , Alan Turing , John von Neumann , Rózsa Péter , Stephen Kleene et Alonzo Church , et il subsiste aujourd'hui un échange d'idées fructueux entre les deux domaines dans des secteurs comme la logique mathématique , la théorie des catégories , la théorie des domaines et l'algèbre .

La relation entre l'informatique et le génie logiciel est un sujet de controverse, encore compliqué par les désaccords sur la signification du terme « génie logiciel » et sur la définition même de l'informatique. David Parnas , s'inspirant des relations entre d'autres disciplines scientifiques et d'ingénierie, a affirmé que l'informatique se concentre principalement sur l'étude des propriétés du calcul en général, tandis que le génie logiciel se concentre sur la conception de calculs spécifiques pour atteindre des objectifs pratiques, faisant ainsi de ces deux disciplines distinctes mais complémentaires.

Les aspects académiques, politiques et financiers de l'informatique dépendent généralement de l'orientation du département : mathématiques ou ingénierie. Les départements d'informatique à dominante mathématique et à orientation numérique envisagent un alignement avec les sciences computationnelles . Les deux types de départements s'efforcent généralement de créer des ponts entre les disciplines, au moins sur le plan de la formation, sinon sur l'ensemble de la recherche.

Philosophie

fait débat. Allen Newell et Herbert A. Simon ont soutenu en 1975 :

L'informatique est une discipline empirique. On pourrait la qualifier de science expérimentale, mais, à l'instar de l'astronomie, de l'économie et de la géologie, certaines de ses formes uniques d'observation et d'expérience ne correspondent pas à une conception restrictive de la méthode expérimentale. Il n'en reste pas moins qu'il s'agit d'expériences. Chaque nouvelle machine construite est une expérience. La construction même de la machine pose une question à la nature ; et nous cherchons la réponse en observant la machine en fonctionnement et en l'analysant par tous les moyens analytiques et de mesure disponibles.

Il a depuis été avancé que l'informatique peut être classée comme une science empirique puisqu'elle utilise des tests empiriques pour évaluer la correction des programmes . Cependant, la définition des lois et théorèmes de l'informatique (s'ils existent) et de la nature des expériences qui y sont menées reste problématique. Les partisans d'une classification de l'informatique comme discipline de l'ingénierie soutiennent que la fiabilité des systèmes informatiques est étudiée de la même manière que celle des ponts en génie civil et des avions en génie aérospatial . Ils affirment également que, tandis que les sciences empiriques observent l'existant, l'informatique observe le potentiel. Enfin, alors que les scientifiques découvrent des lois par l'observation, aucune loi propre n'a été établie en informatique, qui s'intéresse plutôt à la création de phénomènes.

Les partisans de la classification de l'informatique comme discipline mathématique soutiennent que les programmes informatiques sont des réalisations physiques d'entités et de programmes mathématiques pouvant être raisonnés de manière déductive grâce à des méthodes mathématiques formelles . Les informaticiens Edsger W. Dijkstra et Tony Hoare considèrent les instructions des programmes informatiques comme des phrases mathématiques et interprètent la sémantique formelle des langages de programmation comme des systèmes axiomatiques mathématiques .

Paradigmes de l'informatique

Plusieurs informaticiens ont plaidé pour la distinction de trois paradigmes distincts en informatique. Peter Wegner a soutenu que ces paradigmes sont la science, la technologie et les mathématiques . Le groupe de travail de Peter Denning a proposé qu'il s'agit de la théorie, de l'abstraction (modélisation) et de la conception . Amnon H. Eden les a décrits comme le « paradigme rationaliste » (qui considère l'informatique comme une branche des mathématiques, prédominant en informatique théorique et recourant principalement au raisonnement déductif), le « paradigme technocratique » (que l'on retrouve dans les approches d'ingénierie, notamment en génie logiciel) et le « paradigme scientifique » (qui aborde les artefacts informatiques selon la perspective empirique des sciences naturelles , identifiable dans certaines branches de l'intelligence artificielle ) . L'informatique se concentre sur les méthodes de conception, de spécification, de programmation, de vérification, d'implémentation et de test des systèmes informatiques créés par l'homme

Champs

Le CSAB (Computing Sciences Accreditation Board), anciennement appelé Computing Sciences Accreditation Board et composé de représentants de l' Association for Computing Machinery (ACM) et de l' IEEE Computer Society (IEEE CS) , identifie quatre domaines qu'il considère essentiels à l'informatique : la théorie du calcul , les algorithmes et les structures de données , les méthodologies et langages de programmation , ainsi que les éléments et l'architecture des ordinateurs . Outre ces quatre domaines, le CSAB considère également comme importants des domaines tels que le génie logiciel, l'intelligence artificielle, les réseaux et communications informatiques, les systèmes de bases de données, le calcul parallèle, le calcul distribué, l'interaction homme-machine, l'infographie, les systèmes d'exploitation et le calcul numérique et symbolique .

Informatique théorique

la théorie de la calculabilité examine quels problèmes de calcul sont résolubles à l'aide de différents modèles théoriques de calcul . La seconde question est abordée par la théorie de la complexité algorithmique , qui étudie les coûts temporels et spatiaux associés aux différentes approches de résolution d'une multitude de problèmes de calcul.

Le célèbre problème P = NP?, l'un des problèmes du prix du millénaire , est un problème ouvert dans la théorie du calcul.

Théorie des automateslangages formelsThéorie de la calculabilitéthéorie de la complexité computationnelle
Modèles de calculThéorie de l'informatique quantiquethéorie des circuits logiquesAutomates cellulaires

Théorie de l'information et du codage

probabilités et aux statistiques , s'intéresse à la quantification de l'information. Elle a été développée par Claude Shannon afin de déterminer les limites fondamentales des opérations de traitement du signal , telles que la compression des données, ainsi que leur stockage et leur communication fiables. La théorie du codage étudie les propriétés des codes (systèmes de conversion d'information d'une forme à une autre) et leur adéquation à une application spécifique. Les codes sont utilisés pour la compression de données , la cryptographie , la détection et la correction d'erreurs , et plus récemment pour le codage réseau . Leur étude vise à concevoir des méthodes de transmission de données efficaces et fiables .

Théorie du codageCapacité du canalthéorie algorithmique de l'informationthéorie de la détection du signalcomplexité de Kolmogorov

Structures de données et algorithmes

Analyse des algorithmesConception d'algorithmesstructures de donnéesoptimisation combinatoireGéométrie computationnelleAlgorithmes aléatoires

théorie des langages de programmation et méthodes formelles

langages de programmation et de leurs propriétés individuelles . Elle relève de l'informatique et s'appuie sur les mathématiques, le génie logiciel et la linguistique , tout en les influençant . C'est un domaine de recherche actif, avec de nombreuses revues académiques spécialisées.

Les méthodes formelles constituent une technique mathématique particulière pour la spécification , le développement et la vérification des systèmes logiciels et matériels . Leur utilisation pour la conception logicielle et matérielle repose sur l'idée que, comme dans d'autres disciplines de l'ingénierie, une analyse mathématique appropriée contribue à la fiabilité et à la robustesse d'une conception. Elles forment un socle théorique important pour le génie logiciel, notamment lorsque la sûreté et la sécurité sont en jeu. Les méthodes formelles sont un complément utile aux tests logiciels, car elles permettent d'éviter les erreurs et fournissent un cadre de test. Pour une utilisation industrielle, un support utilitaire est nécessaire. Cependant, leur coût élevé limite généralement leur utilisation au développement de systèmes critiques et à haute intégrité , où la sûreté et la sécurité sont primordiales. Les méthodes formelles peuvent être décrites comme l'application d'un large éventail de concepts fondamentaux de l'informatique théorique , en particulier le calcul logique , les langages formels , la théorie des automates et la sémantique des programmes , mais aussi les systèmes de types et les types de données algébriques, aux problèmes de spécification et de vérification des logiciels et du matériel.

sémantique formelleThéorie des typesConception de compilateursLangages de programmationvérification formelleDémonstration automatisée de théorèmes

informatique appliquée

Infographie et visualisation

la vision par ordinateur , le traitement d'images et la géométrie algorithmique , et trouve de nombreuses applications dans les effets spéciaux et les jeux vidéo .

Infographie 2Danimation par ordinateurRenduRéalité mixteréalité virtuelleModélisation 3D

Traitement de l'image et du son

L'information peut prendre la forme d'images, de sons, de vidéos ou d'autres contenus multimédias. Des bits d'information peuvent être transmis par des signaux . Son traitement est au cœur de l'informatique, la vision européenne du calcul, qui étudie les algorithmes de traitement de l'information indépendamment du type de support – qu'il soit électrique, mécanique ou biologique. Ce domaine joue un rôle important en théorie de l'information , en télécommunications et en ingénierie de l'information , et trouve des applications notamment dans le traitement d'images médicales et la synthèse vocale . La question de la limite inférieure de la complexité des algorithmes de transformée de Fourier rapide (FFT ) reste un problème non résolu en informatique théorique .

Algorithmes FFTTraitement d'imagesReconnaissance vocaleCompression des donnéesimagerie médicaleSynthèse vocale

Sciences informatiques, finance et ingénierie

Le calcul scientifique (ou sciences computationnelles) est le domaine d'étude qui consiste à construire des modèles mathématiques et des techniques d'analyse quantitative , et à utiliser des ordinateurs pour analyser et résoudre des problèmes scientifiques . Parmi ses principales applications, on trouve la simulation de divers processus, notamment la dynamique des fluides numérique , les systèmes et circuits physiques, électriques et électroniques, les sociétés et les situations sociales (en particulier les jeux de guerre) ainsi que leurs habitats, et les interactions entre cellules biologiques. Les ordinateurs modernes permettent d'optimiser des conceptions telles que des aéronefs complets. En matière de conception de circuits électriques et électroniques, on peut citer SPICE , ainsi que les logiciels de réalisation physique de conceptions nouvelles (ou modifiées). Ces derniers incluent des logiciels de conception essentiels pour les circuits intégrés .

Analyse numériquePhysique computationnelleChimie computationnelleBioinformatiqueNeuroinformatiquePsychoinformatiqueinformatique médicaleIngénierie informatiquemusicologie computationnelle

interaction homme-machine

systèmes informatiques , principalement à partir de l'analyse de l'interaction entre les humains et les interfaces informatiques . L'IHM comprend plusieurs sous-domaines qui s'intéressent à la relation entre les émotions , les comportements sociaux et l'activité cérébrale en interaction avec les ordinateurs .

Informatique affectiveInterface cerveau-ordinateurConception centrée sur l'humaininformatique physiqueinformatique sociale

génie logiciel

les tests logiciels , l'ingénierie des systèmes , la dette technique et les processus de développement logiciel .

Intelligence artificielle

cybernétique et lors de la conférence de Dartmouth (1956), la recherche en intelligence artificielle s'est nécessairement développée de manière interdisciplinaire, s'appuyant sur des domaines d'expertise tels que les mathématiques appliquées , la logique symbolique, la sémiotique , le génie électrique , la philosophie de l'esprit , la neurophysiologie et l'intelligence sociale . Si l'IA est souvent associée au développement de la robotique , son principal domaine d'application pratique réside dans son intégration aux systèmes de développement logiciel , qui requièrent une compréhension computationnelle. Le point de départ, à la fin des années 1940, fut la question posée par Alan Turing : « Les ordinateurs peuvent-ils penser ? ». Cette question reste, à ce jour, sans réponse, bien que le test de Turing soit toujours utilisé pour évaluer les performances informatiques par rapport à l'intelligence humaine. L'automatisation des tâches d'évaluation et de prédiction s'est néanmoins avérée de plus en plus efficace pour se substituer à la surveillance et à l'intervention humaines dans les applications informatiques traitant des données complexes issues du monde réel.

Théorie de l'apprentissage computationnelvision par ordinateurRéseaux neuronauxPlanification et programmation
Traitement du langage naturelThéorie des jeux computationnelleCalcul évolutionnaireinformatique autonome
Représentation et raisonnementreconnaissance de formesRobotiqueintelligence collective

Systèmes informatiques

Architecture et microarchitecture des ordinateurs

la logique de calcul et la conception du matériel informatique, depuis les processeurs individuels , les microcontrôleurs , les ordinateurs personnels jusqu'aux supercalculateurs et aux systèmes embarqués . Le terme « architecture » ​​dans la littérature informatique remonte aux travaux de Lyle R. Johnson et Frederick P. Brooks Jr. , membres du département d'organisation des machines du principal centre de recherche d'IBM en 1959.

Unité de traitementMicroarchitectureMultitraitementConception du processeur
Informatique omniprésentearchitecture des systèmesSystèmes d'exploitationEntrée/sortie
Système embarquéCalcul en temps réelFiabilitéInterprète

Calcul simultané, parallèle et distribué

les réseaux de Petri , les calculs de processus et le modèle de machine à accès aléatoire parallèle . Lorsqu'un réseau d'ordinateurs est composé de plusieurs unités de calcul concurrentes, on parle de système distribué. Les ordinateurs de ce système distribué possèdent leur propre mémoire privée et les informations peuvent être échangées pour atteindre des objectifs communs.

Réseaux informatiques

La cryptographie historique est l'art d'écrire et de déchiffrer des messages secrets. La cryptographie moderne est l'étude scientifique des problèmes liés aux calculs distribués susceptibles d'être attaqués. Les technologies étudiées en cryptographie moderne comprennent le chiffrement symétrique et asymétrique , les signatures numériques , les fonctions de hachage cryptographiques , les protocoles d'échange de clés , la blockchain , les preuves à divulgation nulle de connaissance et les circuits brouillés .

Bases de données et exploration de données

des modèles de bases de données et des langages de requêtes . L'exploration de données est un processus de découverte de tendances dans de grands ensembles de données.

Découvertes

Le philosophe de l'informatique Bill Rapaport a noté trois grandes idées de l'informatique :

Toutes les informations concernant un problème calculable peuvent être représentées en utilisant uniquement 0 et 1 (ou toute autre paire bistable pouvant basculer entre deux états facilement distinguables, tels que « marche/arrêt », « magnétisé/démagnétisé », « haute tension/basse tension », etc.).
Chaque algorithme peut être exprimé dans un langage pour ordinateur composé de seulement cinq instructions de base :
  • se déplacer d'une position vers la gauche ;
  • Déplacez-vous d'un emplacement vers la droite ;
  • lire le symbole à l'emplacement actuel ;
  • imprimer 0 à l'emplacement actuel ;
  • Imprimer 1 à l'emplacement actuel.
L'intuition de Corrado Böhm et Giuseppe Jacopini : il n'y a que trois façons de combiner ces actions (en actions plus complexes) qui sont nécessaires pour qu'un ordinateur puisse faire « n'importe quoi ».
Trois règles suffisent pour combiner un ensemble d'instructions de base en instructions plus complexes :
  • séquence : faites d'abord ceci, puis cela ;
  • sélection : SI tel ou tel cas est le cas, ALORS faites ceci, SINON faites cela ;
  • Répétition : TANT QUE telle ou telle situation est la vôtre, FAITES ceci.
Les trois règles de l'intuition de Boehm et Jacopini peuvent être encore simplifiées grâce à l'utilisation de goto (ce qui signifie qu'elles sont plus élémentaires que la programmation structurée ).
La programmation fonctionnelle est un style de conception de la structure et des éléments des programmes informatiques qui considère le calcul comme l'évaluation de fonctions mathématiques et évite l'utilisation d'états et de données mutables. Il s'agit d'un paradigme de programmation déclaratif, ce qui signifie que la programmation se fait à l'aide d'expressions ou de déclarations plutôt que d'instructions.
  • La programmation impérative est un paradigme de programmation qui utilise des instructions modifiant l'état d'un programme. De la même manière que le mode impératif des langues naturelles exprime des ordres, un programme impératif est constitué d'ordres que l'ordinateur doit exécuter. La programmation impérative s'attache à décrire le fonctionnement d'un programme.
  • La programmation orientée objet est un paradigme de programmation basé sur le concept d’« objets », qui peuvent contenir des données, sous forme de champs (souvent appelés attributs), et du code, sous forme de procédures (souvent appelées méthodes). Une caractéristique des objets est que les procédures d’un objet peuvent accéder aux champs de données de l’objet auquel elles sont associées et souvent les modifier. Ainsi, les programmes informatiques orientés objet sont constitués d’objets qui interagissent entre eux.
  • La programmation orientée services est un paradigme de programmation qui utilise les « services » comme unité de travail informatique pour concevoir et mettre en œuvre des applications métier intégrées et des logiciels critiques .
  • De nombreuses langues offrent la prise en charge de plusieurs paradigmes , ce qui fait de la distinction une question de style plutôt que de capacités techniques.

    Recherche

    communications présentées en conférence jouissent d'un prestige supérieur à celui des articles publiés dans des revues scientifiques. Une explication possible est que le développement rapide de ce domaine relativement nouveau exige une évaluation et une diffusion rapides des résultats, une tâche mieux assurée par les conférences que par les revues.