Programmation informatique - Définition et Explications

Langages à objets
C++ - C# - D
Delphi - Eiffel - Groovy
Java - Lisaac - Python - Ruby
Simula - Smalltalk
Visual Basic - WLangage
Langages impératifs
APL - ASP - Assembleur (Un langage d'assemblage ou langage assembleur ou simplement assembleur par abus de langage,...)
BASIC (En programmation, BASIC est un acronyme pour Beginner's All-purpose Symbolic Instruction Code. qui...) - C (Le C++ est un langage de programmation permettant la programmation sous de multiples paradigmes...) - Cobol (COBOL est un langage de programmation de troisième génération créé en 1959...) - Natural (Natural est un langage de programmation semi-compilé, édité par la société...)
Forth - Fortran - Limbo
Logo - Pascal - Perl - PHP (PHP (sigle de PHP: Hypertext Preprocessor), est un langage de scripts libre principalement...)
Langages fonctionnels
Haskell - ML/OCaml
Lisp/Common Lisp (Lisp est la plus ancienne famille de langages impératifs et fonctionnels. Développé...)
Scheme - XSLT
Langages déclaratifs
Clips - Prolog (Prolog est l’un des principaux langages de programmation logique inventé à...)
Langages concurrents
Ada 95 - Erlang
Voir aussi
Conception - Codage (De façon générale un codage permet de passer d'une représentation des...)
Tests - Optimisations

La programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent...) dans le domaine informatique (L´informatique - contraction d´information et automatique - est le domaine...) est l'ensemble (En théorie des ensembles, un ensemble désigne intuitivement une collection...) des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante de la conception de logiciel (La conception de logiciel met en œuvre tout un ensemble d'activités qui à partir d'une...) (voire de matériel, cf. VHDL).

Pour écrire le résultat de cette activité (Le terme d'activité peut désigner une profession.), on utilise un langage de programmation (Un langage de programmation est un langage informatique, permettant à un être humain...).

La programmation représente usuellement le codage, c’est-à-dire la rédaction du code source (Le code source (ou les sources voire le source) est un ensemble d'instructions écrites dans un...) d'un logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements...). On utilise plutôt le terme développement pour dénoter l'ensemble des activités lié à la création d'un logiciel.

Une brève histoire de la programmation

La première machine programmable (c’est-à-dire machine dont les possibilités changent quand on modifie son "programme") est probablement le métier à tisser de Jacquard, qui a été réalisé en 1801. La machine utilisait une suite de cartons perforés. Les trous indiquaient le motif que le métier suivait pour réaliser un tissage ; avec des cartes différentes le métier produisait des tissages différents. Cette innovation a été ensuite améliorée par Herman Hollerith d'IBM (International Business Machines Corporation (IBM) est une société multinationale américaine...) pour le développement de la fameuse carte perforée d'IBM.

Les premiers programmes d'ordinateurs étaient réalisés avec un fer à souder (Un fer à souder est un outil qui permet de réaliser des soudures ; il s'appelle fer puisque...) et un grand nombre (La notion de nombre en linguistique est traitée à l’article « Nombre...) de tubes à vide (Le vide est ordinairement défini comme l'absence de matière dans une zone spatiale.) (plus tard, des transistors). Les programmes devenant plus complexes, cela est devenu presque impossible, parce qu'une seule erreur rendait le programme entier inutilisable. Avec les progrès des supports de données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent...), il devint possible de charger le programme à partir de cartes perforées, contenant la liste des instructions en code binaire spécifique à un type d'ordinateur (Un ordinateur est une machine dotée d'une unité de traitement lui permettant...) particulier. La puissance (Le mot puissance est employé dans plusieurs domaines avec une signification particulière :) des ordinateurs augmentant, on les utilisa pour faire les programmes, les programmeurs préférant naturellement rédiger du texte plutôt que des suites de 0 et de 1, à charge (La charge utile (payload en anglais ; la charge payante) représente ce qui est effectivement...) pour l'ordinateur d'en faire la traduction lui-même. Avec le temps (Le temps est un concept développé par l'être humain pour appréhender le...), de nouveaux langages de programmation sont apparus, faisant de plus en plus abstraction ( En philosophie, l'abstraction désigne à la fois une opération qui consiste a isoler par la...) du matériel sur lequel devaient tourner les programmes. Ceci apporte plusieurs facteurs de gains : ces langages sont plus faciles à apprendre, un programmeur (En informatique, un développeur (ou programmeur) est un informaticien qui réalise du logiciel en...) peut produire du code plus rapidement, et les programmes produits peuvent tourner sur différents types de machines.

La fin des programmeurs ?

De tous temps, on a prédit " la fin des programmeurs ".

Dans les années 60, les langages symboliques comme AUTO-CODE, Cobol et Fortran ont en effet mis fin - en grande partie - à la programmation de bas niveau tel que l'assembleur. Il semblait alors clair que n'importe qui était capable d'écrire du code du type

 
 multiply MONTANT-HT by TAUX-TVA giving MONTANT-TAXES. 
 add MONTANT-HT, MONTANT-TAXES giving MONTANT-TTC. 
 

ou

 
 RDELTA = SQRT(B**2 - 4*A*C) 
 X1 = (-B + RDELTA) / (2*A) 
 

plutôt que des dizaines de lignes cryptiques comme

 
 movl    %esp, %ebp 
 subl    $24, %esp 
 flds    12(%ebp) 
 fmuls   12(%ebp) 
 flds    8(%ebp) 
 flds    .LC0 
 fmulp   %st, %st(1) 
 fmuls   16(%ebp) 
 fsubrp  %st, %st(1) 
 fstpl   (%esp) 
 call    sqrt 
 fstps   -4(%ebp) 
 flds    -4(%ebp) 
 fsubs   12(%ebp) 
 flds    8(%ebp) 
 fadd    %st(0), %st 
 fdivrp  %st, %st(1) 
 

Pourtant il a vite fallu se rendre compte que la programmation ne se limitait pas au codage, et que la conception d'applications était un vrai métier qui ne s'improvise pas.

Dans les années 80, la micro-informatique (La micro-informatique est un terme désignant les « petits » (le préfixe...) a souvent conduit à une informatisation sauvage des entreprises, dont le service informatique débordé n'arrivait pas à satisfaire les demandes (qui ne correspondaient d'ailleurs pas forcément aux vrais besoins des utilisateurs finaux). D'où la réalisation d'applications bricolées par des stagiaires " petit génie " en Basic et autres macros de tableurs, répondant à un besoin (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est...) ponctuel (En géométrie, un point est le plus petit élément constitutif de l'espace de travail.), mais créant de fait un système d'information parallèle non maintenu. Dans cette catégorie, on peut également partiellement ranger les applications développées avec des L4G (langages de 4e génération des années 80) par des utilisateurs non formés. Il est évident que ce type d'outil (Un outil est un objet finalisé utilisé par un être vivant dans le but d'augmenter son...) (dont ACCESS est une réincarnation) permet à un utilisateur non formé de réaliser de petites applications qu'il n'aurait pas entreprises autrement, et à un utilisateur compétent de développer très rapidement d’importantes applications, mais elles n'ont pas le pouvoir magique de faire l'analyse et la conception automatiquement dans les mains d'un utilisateur novice.

Pratiques

  • Algorithmique (L'algorithmique est l’ensemble des règles et des techniques qui sont impliquées...)
  • Gestion de versions (La gestion de versions (en anglais version control ou revision control) est une activité qui...)
  • Optimisation du code
  • Programmation système (La programmation système est un type de programmation qui vise au développement de programmes qui...)
  • Refactoring
  • Test unitaire (En programmation, le test unitaire est un procédé permettant de s'assurer du fonctionnement...)
  • Test d'intégration

Techniques de programmation

  • Programmation impérative (En informatique, la programmation impérative est un paradigme de programmation qui décrit les...)
  • Programmation structurée (La programmation structurée peut être vue comme un sous-ensemble, ou une branche, de la...)
  • Programmation orientée objet (La programmation par objet (du terme anglo-saxon Object-Oriented Programming ou OOP), est un...)
  • Programmation orientée prototype (La programmation orientée prototype est une forme de programmation orientée objet sans classe,...)
  • Programmation par contrat
  • Programmation déclarative (La programmation déclarative est un paradigme de programmation. Il consiste à créer des...)
  • Programmation fonctionnelle (Un langage fonctionnel est un langage de programmation dont la syntaxe et les caractéristiques...)
  • Programmation logique (La programmation logique est une forme de programmation qui définit les applications à l'aide...)
  • Programmation par contraintes
  • Programmation orientée composant (La programmation orientée composant (POC) consiste à utiliser une approche modulaire au niveau de...)
  • Programmation orientée aspect (La programmation orientée aspect (POA, en anglais aspect-oriented programming - AOP) est un...)
  • Programmation concurrente
  • Programmation procédurale (La programmation procédurale est un paradigme de programmation basé sur le concept d'appel...)
  • Programmation par intention
Cet article vous a plu ? Partagez-le sur les réseaux sociaux avec vos amis !
Page générée en 0.092 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique