background preloader

Langages de programmation

Facebook Twitter

APL (langage) Un article de Wikipédia, l'encyclopédie libre.

APL (langage)

Cette page contient des caractères spéciaux ou non latins. 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. Cet article ou une de ses sections doit être recyclé (indiquez la date de pose grâce au paramètre date). Le langage APL de départ fait l'objet de la norme ISO 8485:1989 et l'APL étendu (fondé sur APL2) de 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. SooCurious vous présente cette nouveauté scientifique. Des ingénieurs biologiques du MIT ont créé un langage de programmation qui leur permet de créer rapidement des circuits complexes encodés avec de l’ADN qui octroie à des cellules vivantes de nouvelles fonctions.

Dès lors, en utilisant ce langage, il devient possible d’écrire un programme pour chaque fonction désirée, comme de détecter et de répondre à certaines conditions environnementales. 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. In a highly cohesive system, code readability and the likelihood of reuse is increased, while complexity is kept manageable. Cohesion is increased if: The functionalities embedded in a class, accessed through its methods, have much in common.Methods carry out a small number of related activities, by avoiding coarsely grained or unrelated sets of data. 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] In Flynn's taxonomy, multiprocessors as defined above are MIMD machines.[10][11] As they are normally construed to be tightly coupled (share memory), multiprocessors are not the entire class of MIMD machines, which also contains message passing multicomputer systems.[10]

Multiprocessing

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

Encapsulation des données

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.

Analyse syntaxique

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.

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. 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 « Erlang » fait référence au mathématicien Agner Erlang, tout en étant la contraction d'Ericsson Language. Comme tous les langages fonctionnels, Erlang repose beaucoup sur la récursivité. En Erlang, la fonction factorielle peut s'écrire sous une forme récursive, comme suit : Pi-calcul. Un article de Wikipédia, l'encyclopédie libre. ML (langage) Un article de Wikipédia, l'encyclopédie libre. ML (contraction de Meta Language) est un langage de programmation généraliste fonctionnel.

ML fut initialement développé par Robin Milner et d'autres personnes dans les années 1980 à l'Université d'Édimbourg, pour le système de preuves formelles LCF. Caml. Un article de Wikipédia, l'encyclopédie libre. Caml (prononcé camel, signifie Categorical Abstract Machine Language) est un langage de programmation généraliste conçu pour la sécurité et la fiabilité des programmes.

Il se prête à des styles de programmation fonctionnelle, impérative et orientée objet. OCaml. Lisp. Programmation orientée objet. Java (langage) Java. Patron de conception. Processing. Il n’est jamais trop tard pour apprendre : 10 langages de programmation que vous devriez étudier.