background preloader

Langages de programmation

Facebook Twitter

Sans titre. Un article de Wikipédia, l'encyclopédie libre.

sans titre

LAPACK (pour Linear Algebra Package) est une bibliothèque logicielle écrite en Fortran, dédiée comme son nom l'indique à l'algèbre linéaire numérique. Elle a été développée initialement par l'université du Tennessee, le Courant Institute of Mathematical Sciences, le Numerical Algorithms Group, l'université Rice et les laboratoires d'Argonne et Oak Ridge[1]. Cette bibliothèque fournit notamment des fonctions pour la résolution de systèmes d'équations linéaires, le calcul de valeurs propres et les décompositions de matrices (LU, QR, SVD, Cholesky).

LAPACK dépend de la bibliothèque BLAS (Basic Linear Algebra Subprograms). Haskell. Programmation fonctionnelle. APL (langage) Cette page contient des caractères spéciaux ou non latins.

APL (langage)

Si certains caractères de cet article s’affichent mal (carrés vides, points d’interrogation…), consultez la page d’aide Unicode. Pour les articles homonymes, voir APL. Le langage APL de départ fait l'objet de la norme ISO 8485:1989.L'APL étendu (fondé sur APL2) est fixé par la norme ISO/CEI 13751:2001. Ce langage informatique qui utilise l’ADN pour modifier des cellules vivantes va révolutionner la médecine. La manipulation de la génétique permet des prouesses technologiques de plus en plus incroyables.

Ce langage informatique qui utilise l’ADN pour modifier des cellules vivantes va révolutionner la médecine

C’est notamment ce que montrent les travaux de chercheurs américains qui ont modifié des bactéries pour les faire répondre à certaines fonctions spécifiques. NodeBox. COM => Web. Cohesion (computer science) In computer programming, cohesion is a measure of how strongly related the responsibilities of a single module are.

Cohesion (computer science)

As applied to object-oriented programming, if the methods that serve the given class tend to be similar in many aspects, then the class is said to have high cohesion. Software metric. A software metric is a measure of some property of a piece of software or its specifications.

Software metric

Since quantitative measurements are essential in all sciences, there is a continuous effort by computer science practitioners and theoreticians to bring similar approaches to software development. The goal is obtaining objective, reproducible and quantifiable measurements, which may have numerous valuable applications in schedule and budget planning, cost estimation, quality assurance testing, software debugging, software performance optimization, and optimal personnel task assignments. Multiprocessing. According to some on-line dictionaries, a multiprocessor is a computer system having two or more processing units (multiple processors) each sharing main memory and peripherals, in order to simultaneously process programs.[4][5] A 2009 textbook defined multiprocessor system similarly, but noting that the processors may share "some or all of the system’s memory and I/O facilities"; it also gave tightly coupled system as a synonymous term.[6]

Multiprocessing

Encapsulation des données. Un article de Wikipédia, l'encyclopédie libre.

Encapsulation des données

L'encapsulation des données (ou encapsulage des données) est une règle de microarchitecture (architecture détaillée) consistant à cacher les données d’une classe ou d’un module aux autres classes ou modules, c'est-à-dire, empêcher l'accès aux données par un autre moyen que des méthodes (fonctions membres). Par conséquent, l’interface d’une classe ou d’un module obéissant à ce principe n’expose jamais ces membres de données comme des variables, tableaux ou structures mais seulement des méthodes (fonctions membres). Implémentation[modifier | modifier le code] publique : les méthodes (fonctions membres) de toutes les autres classes ou modules peuvent accéder aux données possédant le niveau de visibilité publique.

Couplage (informatique) Un article de Wikipédia, l'encyclopédie libre.

Couplage (informatique)

Pour les articles homonymes, voir Couplage. Selon Pressman[1], il existe sept niveaux de couplage, du plus faible au plus fort : Une bonne architecture logicielle nécessite le couplage le plus faible possible. Un couplage fort est à proscrire pour plusieurs raisons : Un couplage fort génère l'antipattern plat de spaghetti : On ne peut pas déterminer le qui, le quoi et le comment d’une modification de données.Un couplage fort implique nécessairement une faible indépendance fonctionnelle : Le composant logiciel est difficilement réutilisable,Le composant logiciel est difficilement testable.Si deux tâches accèdent, par couplage fort, à une ressource commune (ressource critique) et qu'elles s'exécutent en exclusion mutuelle, alors si une des tâches reste bloquée en section critique elle bloque automatiquement l'autre : Risque d'interblocage. Syndrome du plat de spaghettis.

Un article de Wikipédia, l'encyclopédie libre.

Syndrome du plat de spaghettis

Plat de spaghetti Étymologie[modifier | modifier le code] Portail:Programmation informatique. Liste des langages de programmation. Computer Languages History. Langage de programmation. Un article de Wikipédia, l'encyclopédie libre.

Langage de programmation

Les langages de programmation permettent de décrire d'une part les structures des données qui seront manipulées par l'appareil informatique, et d'autre part d'indiquer comment sont effectuées les manipulations, selon quels algorithmes. Ils servent de moyens de communication par lesquels le programmeur communique avec l'ordinateur, mais aussi avec d'autres programmeurs; les programmes étant d'ordinaire écrits, lus, compris et modifiés par une communauté[3]. Analyse syntaxique. Un article de Wikipédia, l'encyclopédie libre. L'analyse syntaxique consiste à mettre en évidence la structure d'un texte, généralement une phrase écrite dans une langue naturelle, mais on utilise également cette terminologie pour l'analyse d'un programme informatique. L'analyseur syntaxique (parser, en anglais) est le programme informatique qui réalise cette tâche.

Cette opération suppose une formalisation du texte, qui est vu le plus souvent comme un élément d'un langage formel, défini par un ensemble de règles de syntaxe formant une grammaire formelle. La structure révélée par l'analyse donne alors précisément la façon dont les règles de syntaxe sont combinées dans le texte. Paradigme (programmation) Un article de Wikipédia, l'encyclopédie libre. Un paradigme de programmation est un style fondamental de programmation informatique qui traite de la manière dont les solutions aux problèmes doivent être formulées dans un langage de programmation (à comparer à la méthodologie, qui est une manière de résoudre des problèmes spécifiques de génie logiciel). La relation entre les paradigmes de programmation et les langages de programmation peut être complexe, car un langage de programmation peut supporter des paradigmes multiples. Pour citer un exemple, C++ est conçu pour supporter des éléments de programmation procédurale, de programmation orientée objet et de programmation générique.

Cependant, concepteurs et développeurs décident de la méthode d’élaboration d’un programme en utilisant ces éléments de paradigmes. Il est possible d’écrire un programme purement procédural en C++, comme il est possible d’en écrire un purement orienté objet, ou encore qui relève des deux paradigmes. Programmation impérative. Un article de Wikipédia, l'encyclopédie libre. Ce type de programmation est le plus répandu parmi l'ensemble des langages de programmation existants, et se différencie de la programmation déclarative — ou logique —, et de la programmation fonctionnelle. Langages impératifs et processeurs[modifier | modifier le code] La quasi-totalité des processeurs qui équipent les ordinateurs est de nature impérative : ils sont faits pour exécuter du code écrit sous forme d'opcodes (pour operation codes), qui sont des instructions élémentaires exécutables par le processeur.

L'ensemble des opcodes forme le langage machine spécifique au processeur et à son architecture. L'état du programme à un instant donné est défini par le contenu de la mémoire centrale à cet instant, et le programme lui-même est écrit en style impératif en langage machine, ou le plus souvent dans une traduction lisible par les humains du langage machine, dénommée assembleur. Programmation fonctionnelle. Un article de Wikipédia, l'encyclopédie libre. Machine à états et effets secondaires[modifier | modifier le code] Programmation impérative et effets de bord[modifier | modifier le code] La programmation impérative s'appuie sur le modèle des machines à états (cf. aussi machine de Turing et Architecture de von Neumann), avec une mémoire centrale et des instructions qui modifient son état grâce à des affectations successives.

On peut représenter un tel programme par une machine à états qui représente les états successifs de la mémoire. Cela nécessite pour le programmeur de connaître à tout instant un modèle exact de l'état de la mémoire que le programme modifie. Functional programming. Compléments en ligne du livre Mini-manuel de Programmation fonctionnelle. Type theory. In mathematics, logic, and computer science, a type theory is any of a class of formal systems, some of which can serve as alternatives to set theory as a foundation for all mathematics.

In type theory, every "term" has a "type" and operations are restricted to terms of a certain type. Two well-known type theories that can serve as mathematical foundations are Alonzo Church's typed λ-calculi and Per Martin-Löf's intuitionistic type theory. Type systems (Cardelli) On understanding types (Cardelli, Wegner) Traduction langage fonctionnel en lambda-calcul. Haskell. Un article de Wikipédia, l'encyclopédie libre. Haskell est un langage de programmation fonctionnel. Il est fondé sur le lambda-calcul et la logique combinatoire. The Haskell Programming Language. Haskell. Erlang (langage) Un article de Wikipédia, l'encyclopédie libre. Pour les articles homonymes, voir Erlang.

LYME et LYCE sont basé sur Erlang et offre alternatives à LAMP. Pi-calcul. Un article de Wikipédia, l'encyclopédie libre. ML (langage) Un article de Wikipédia, l'encyclopédie libre. Caml. OCaml. Lisp. Programmation orientée objet. Un article de Wikipédia, l'encyclopédie libre. Java (langage) Java. Patron de conception. Un article de Wikipédia, l'encyclopédie libre. Pour les articles homonymes, voir Patron. En informatique, et plus particulièrement en développement logiciel, un patron de conception (en anglais : design pattern) est un arrangement caractéristique de modules, reconnu comme bonne pratique en réponse à un problème de conception d'un logiciel.

Il décrit une solution standard, utilisable dans la conception de différents logiciels[1]. Processing. Il n’est jamais trop tard pour apprendre : 10 langages de programmation que vous devriez étudier.