Home | News | Hacking | Sciences | Technology | Ti 92 | Programming | Free articles | Links | Webmaster

Coding

Homepage / TS / Coding

|       |- /Langages
|       |- /Networking & Middleware
|       |-
/
XML & Java
|       |-
/
C/C++
|       |- /Makefile
|       |- /Multitâche
|       |- /Documentation PERL en français
|       |- /Active Server Pages+
|       |-
/
Introduction to PERL
|       |- /Sather 1.1 : Language Essentials
|       |- /Scripting : Higher Level Programming for the 21st Century
|       |- /Comment reconnaître la religion d'un logiciel ?
|       |- /Parallel Programming : Basic Theory for the Unwary
|       |- /PERL Regular Expression Tutorial
|- /Hacking & Network
|-
/
System
|- /Virus & Artificial Life
|- /Cracking & Reverse Engineering
|-
/Phreaking & Waves

 

Langages de Programmation

La programmation est un langage informatique composé d'une série d'instructions pouvant être traitées, interprétées et exécutées par un ordinateur. Ces instructions, qui sont frappées au clavier, se composent de caractères, de symboles, et de règles permettant de les assembler.

Traduction d'un langage

Un ordinateur ne comprend qu'un seul langage, le langage machine qui se présente comme une suite de "0" et de "1" (forme binaire). C'est pourquoi tout programme écrit dans un langage de haut niveau doit être décodé et traduit en langage machine, avant de pouvoir être exécuté. Ce processus de conversion du code source (frappé au clavier) au code objet (assimilable par l'ordinateur) est assuré par un programme capable de traduire un jeu de symboles en un autre jeu, par application de règles de syntaxe et de sémantique. Suivant la nature du langage de programmation employé, ce programme s'appelle un compilateur ou un interpréteur.

Langages compilés

Les langages compilés sont des langages où toutes les instructions sont traduites en code objet avant d'être exécutées. Cette conversion s'effectue au moyen d'un compilateur.

Langages interprétés

Les langages interprétés sont des langages décodés et exécutés instruction par instruction à l'aide d'un programme appelé interpréteur. Le plus connu des langages interprétés est le langage BASIC, bien que la plupart des versions actuelles en permettent ou en imposent la compilation.

 

Niveau d'un langage 

Il existe différents types de langages, allant du plus rudimentaire au plus complexe, que l'on classe généralement en deux familles: les langages de bas niveau et les langages évolués. On y ajoute parfois une autre catégorie, les langages de quatrième génération.

Langages de bas niveau

Les langages de bas niveau sont des langages proches de la machine, ou des langages offrant peu d'instructions et de types de données. En général, chaque instruction écrite dans un langage de bas niveau correspond à une instruction machine. Le langage machine et le langage assembleur sont considérés comme des langages de bas niveau.

Langages évolués

Les langages évolués, dits aussi de haut niveau, sont des langages informatiques offrant un certain niveau d'abstraction par rapport au langage de la machine, et manipulant des structures syntaxiques telles que les déclarations, les instructions de contrôle, etc. Usuellement, le terme désigne tout langage de niveau supérieur à celui du langage assembleur.
Les langages évolués sont classés en trois grandes familles: les langages procéduraux, les langages orientés-objets et les langages orientés-listes. On retrouve ainsi dans la famille des langages procéduraux le FORTRAN, le COBOL, le BASIC, l'Ada, le PASCAL et le C, dans la famille des langages orientés-objets, le C++ et le Java, et dans la famille des langages orientés-listes, le LISP.

Langages de quatrième génération

Les langages de quatrième génération (L4G en abrégé), conçus pour l'interaction avec le programmeur, qualifient souvent les langages propres aux bases de données relationnelles. Se situant un cran au-dessus de langages tels que le Pascal ou le COBOL, ils se composent d'un jeu d'instructions s'apparentant à des macro-instructions, séquences d'instructions prédéfinies auxquelles on accède par une commande très simple. Toutefois, ces langages conservent un aspect hybride, dérivant le plus souvent des langages évolués.

 

Type de langage  

Langages orientés-objets

Les langages orientés-objets sont des langages adaptés à la programmation orientée-objet, type de programmation où chaque programme est considéré comme un ensemble d'objets distincts, ces objets constituant eux-mêmes des ensembles de structures de données et de procédures intégrées. Dans de tels langages, chaque objet appartient à une classe qui définit les structures de données et les procédures associées à cet objet.

Langages orientés-listes

Les langages orientés-listes peuvent être apparentés aux langages orientés-objets, à la différence près qu'ils manipulent non pas des objets mais des listes, c'est-à-dire des structures de données multi-éléments à organisation linéaire.

Langage machine

Le langage machine représente le langage dans lequel s'exprime le résultat final d'une compilation de langage assembleur ou d'un langage de haut niveau quelconque. Constitué de "!0!" et de "!1!", ce langage est chargé et exécuté par le microprocesseur. Appelé également code machine, il constitue le seul langage réellement "!compris!" par l'ordinateur, tous les autres langages correspondant à des formes de structuration du langage humain.

Langages procéduraux

Les langages procéduraux sont des langages où la procédure (suite d'instructions) constitue l'élément de base. La plupart des langages évolués sont des langages procéduraux.

 

Langage de programmation

Langage Assembleur

Le langage assembleur est un langage de programmation de très bas niveau, où chaque instruction correspond à une instruction machine unique. Le jeu d'instructions d'un tel langage est donc associé à un certain type de processeur. Ainsi, les programmes écrits en langage assembleur pour un processeur particulier doivent être réécrits pour tourner sur un ordinateur équipé d'un processeur différent. Après écriture d'un programme en langage assembleur, le programmeur fait alors appel à l'assembleur spécifique du processeur, qui traduit ce programme en instructions machine. Le langage assembleur peut être préféré à un langage de haut niveau lorsque le programmeur recherche une vitesse d'exécution élevée ou un contrôle étroit de la machine. En effet, les programmes écrits dans ce type de langage tournent plus vite et occupent moins de place que ceux produits par un compilateur. En outre, ils donnent au programmeur la possibilité d'agir directement sur le matériel (processeur, mémoire, affichage et connexion d'entrées!/!sorties).

Langage FORTRAN

Premier langage de programmation de haut niveau, le FORTRAN (acronyme de FORmula TRANslation) fut développé entre 1954 et 1958 par Jim Backus. Il est à l'origine de nombreux concepts avancés, tels que les variables, les expressions, les instructions, les sous-programmes compilés séparément et les entrées!/!sorties formatées. Langage compilé et structuré, le FORTRAN fut créé en vue d'être appliqué aux domaines scientifiques et techniques: il est de ce fait encore très utilisé en ingénierie. Il a été révisé et amélioré au cours des trente-cinq dernières années, si bien qu'il s'avère désormais employé dans tous les domaines.

Langage COBOL

Acronyme de COmmon Business-Oriented Language, le COBOL est un langage compilé proche de l'anglais, développé entre 1959 et 1961. Officialisé par le Département américain de la Défense dont il fut un temps le langage obligatoire, il demeure universellement employé, tout particulièrement dans les applications de gestions, de par sa structuration et sa syntaxe proches de l'anglais. Les programmes écrits en COBOL comportent quatre sections: le champ Identification qui fournit le nom du programme et celui de l'auteur, ainsi que toutes les informations annexes que ce dernier estime nécessaires, le champ Environment qui indique le modèle d'ordinateur cible ainsi que les fichiers utilisés en entrée comme en sortie, le champ Data qui décrit les données traitées par le programme et enfin, le champ Procédure qui contient l'ensemble des sous-programmes définissant les actions du programme.

Langage BASIC

Acronyme de Beginners' All-purpose Symbolic Instruction Code, le langage BASIC est un langage de programmation de haut niveau, développé vers le milieu des années 1960 au Dartmouth College par John Kemeny et Thomas Kurtz. L'énorme succès de ce langage est dû à deux de ses versions, Tiny BASIC et Microsoft BASIC, grâce auxquelles BASIC est devenu la lingua franca de la micro-informatique. Mais il existe également d'autres versions importantes de ce langage : comme integrer BASIC et Applesoft BASIC (pour Apple), GW-BASIC (pour l'IBM PC) ou QuickBASIC (Microsoft). Le langage BASIC a ainsi évolué au fil des années, passant d'une forme non structurée et interprétée à des versions structurées et compilées. Il est souvent enseigné aux débutants en raison de sa facilité d'emploi et de sa simplicité, mais également parce qu'il manipule les mêmes concepts que d'autres langages plus complexes, tels que le langage Pascal ou le langage C. Néanmoins, les instructions du langage BASIC demeurent plus limitatives que celles associées aux deux langages précités.

Langage Ada

Le langage Ada tire son nom d'Augusta Ada Byron, fille de lord Byron et assistante de Charles Babbage, figurant à ce titre parmi les précurseurs de l'informatique. Ce langage procédural, conçu selon les normes édictées par le Département américain de la Défense dans les années 1970, était destiné à devenir le langage de développement principal des applications de cet organisme. Dérivé du Pascal, il possède d'importantes extensions sémantiques et syntaxiques, comprenant en particulier l'exécution concurrente de tâches, les opérateurs à fonction multiple et le découpage en modules. Bien que manipulant des objets, le langage Ada n'est pas considéré comme un langage orienté-objet.

Langage Pascal

Mis au point entre 1967 et 1971 par Niklaus Wirth, le langage Pascal est un langage structuré et compilé, dérivé du langage ALGOL. Destiné à traiter des données informatiques, il simplifie la syntaxe d'ALGOL tout en y ajoutant des types et des structures de données supplémentaires, tels que les types énumérés, les fichiers, les enregistrements et les ensembles. Le langage Pascal connut un grand succès à partir de 1984, date de lancement sur le marché du Turbo Pascal par la société Borland International. En effet, ce compilateur à vitesse élevée et d'un prix modique, adapté aux systèmes d'exploitation MS-DOS, fut vendu à plus d'un million d'exemplaires dans ses différentes versions. Malgré ce succès, le langage Pascal semble aujourd'hui céder le pas au langage C, voire au C++, qui s'impose peu à peu comme le langage de développement standard sur micro-ordinateur.
Bien que le PASCAL soit un langage résolument procédural qui excelle dans la réalisation d'applications mathématiques, il existe également une version de Pascal orientée-objet, utilisée aussi dans le développement d'applications.

Langage C

Succédant au langage B (d'où son nom), le langage C fut développé en 1972 par Dennis Ritchie dans les laboratoires américains de la société Bell. Bien que le langage C s'apparente à un langage assembleur indépendant de la machine plutôt qu'à un langage de haut niveau, il peut être cependant considéré comme un langage de programmation standard en micro-informatique, en raison de sa grande popularité, de son association avec le système d'exploitation UNIX et de sa normalisation par l'ANSI (American National Standards Institute). Excepté quelques fonctions natives, le langage C est doté de fonctions indépendantes de la machine, contenues dans des bibliothèques auxquelles peuvent accéder tout programme écrit en C. Langage de programmation structuré et compilé, il s'avère relativement portable d'une machine à l'autre.

Cours de C

Langage C++

Le langage C++, version orientée-objet du langage de programmation C, fut développé par Bjarne Stroustrup dans les laboratoires Bell au début des années 1980, puis adopté par certains constructeurs tels qu'Apple Computer ou Sun Microsystems. Assimilé d'un côté à une extension du langage C, mais considéré de l'autre comme un langage doté d'une approche objet à part entière, le langage C++ s'impose aujourd'hui, grâce à ses fonctions très puissantes, comme le langage de référence de développement de programmes. Le ++ signifie incrémenter en langage C.

Vous pouvez également au sein de votre Web Service, manipuler les objets ASP+ comme l'objet Session ou Application :

Public Sub IncrementeCompteur()
     Session("Compteur") = Session("Compteur") + 1
End Sub

Visual Studio.NET

L'interface de Visual Studio.NET vous facilitera grandement l'utilisation des Web Service. En effet, dans votre environnement de développement, vous aurez accès à un explorateur de Web Service. Puis, par simple drag & drop, vous pourrez déposer vos Web Services dans votre Web Form. Simple non ?

Conclusion

ASP+, dont la version définitive n'apparaîtra que début 2001, est une refonte complète d'ASP. Microsoft devrait bientôt livrer une version bêta (incluant Visual Studio.NET) avec une diffusion plus importante. Quoi que l'on pense de cet éditeur, ce serait un erreur de ne pas essayer cette tehnologie.

 

Makefile

Références > le Système Linux (ed. O'Reilly), Make HowTo (ed. Linux Documentation Project)

La plupart des environnements de développement intégrés (IDE) sous Windows ou MacOS possèdent un gestionnaire de projets. Quelque soit son nom et sa forme, cet outil poursuit toujours le même objectif : centraliser l’ensemble des fichiers et ressources dont ce compose un projet, gérer les dépendances et assurer une compilation correcte. Ainsi, si l’on modifie l’un des fichiers source, par exemple, le gestionnaire de projet tiendra compte de cette modification ; il saura par ailleurs qu’il faudra recompiler ce fichier et procéder de nouveau à une édition de liens pour obtenir un exécutable à jour.