Sources


Comment créer un programme

Pour créer des programmes Windows™ il faut un compilateur. C'est simplement un programme comme les autres, qui permet de créer des programmes. Il suffit de lancer ce programme, comme on lancerait Word. Ensuite on écrit son code - le code est un texte, pas un mot de passe. En fait, on n'écrit pas un code, on code ! - comme on taperait un texte sous Word. Une fois cette opération terminée, il suffit de l'enregistrer. Sous Word on choisit son format (DOC, TXT, etc.). Il en est de même avec notre compilateur, on peut enregistrer ou au format de l'éditeur pour reprendre les sources - le texte - plus tard ou on enregistre un programme au format .EXE. Tous les programmes possèdent l'extension .EXE. Donc pour créer un programme, il vous suffit de compiler (enregistrer) vos sources pour créer un nouveau programme (magique).

Une fois que l'on possède un programme au format .EXE, il suffit de l'exécuter depuis Windows. Sous Windows 95 Cliquez sur 'Démarrer', 'Exécuter' et entrez le nom de votre programme. Les fichiers .EXE (exécutables) ne peuvent pas être modifiés (sauf par désassemblage...), donc personne ne peut voler facilement vos sources donc votre programme. De plus de lois existent, mais ce n'est pas le sujet ici.

Plus en détail, c'est quoi les sources d'un programme

On peut comparer le texte que l'on tape dans un compilateur, à une recette de cuisine. Il faut définir au début les ingrédients, ensuite on explique comment réaliser la recette (Exemple: On prend de la farine, que l'on mélange avec du sucre...). A la fin, l'ordinateur va lire la recette et exécuter les instructions. Attention, je parle ici de language procedural.

Dans un compilateur, on n'écrit pas en langage humain: "change la taille de la fenêtre en 300 pixels par 200 pixels". En Visual Basic (un des langages les plus faciles) cette instruction s'écrit :

Me.Width = 300
Me.Height = 200

Si vous n'êtes pas encore initié à la programmation, il est tout à fait normal que vous ne compreniez pas encore ces ordres. Je vous donne un autre exemple dans le même langage. Supposez que vous voulez transcrire "Si la case à cocher 'MaCaseACocher' est cochée, alors affiche le message 'Case cochée.'." en Visual Basic, cela donnerait:

If MaCaseACocher.Value = True Then MsgBox "Case cochée."

Ce sont des ordres comme ci-dessus qui définissent le code source d'un programme. Chaque langage a ces propres ordres, pour faire le même programme, les sources seront différentes. Une personne qui connaît un ou des langages de programmation, s'appelle un programmeur.

Truc: Cliquez avec le bouton droit sur cette page, puis sur "Afficher la source" pour afficher les sources de cette page Web, qui ne sont pas compilée à la différence d'un EXE.

Où trouver un compilateur

Chaque compilateur à souvent son langage de programmation propre. Vous pouvez trouver des livres pour apprendre chaque langages de programmation dans un magasin informatique ou librairie (FNAC, etc.). Vous trouverez aussi des compilateurs dans les magasins informatiques ou à la FNAC. Si vous souhaitez programmer, 2 gros problèmes se posent :

  • Le coût: Un bon compilateur tel que Visual Basic coûte environ 140 € pour la version d'initiation et 600 € pour la version Pro.
  • L'apprentissage: Chaque langage est pratiquement aussi complexe qu'un véritable langage (Français, Allemand). Il faut donc à chaque fois apprendre à se servir du logiciel de création et apprendre son langage.

Quel langage choisir

Vous risquez de vous retrouver un peu bête devant l'énorme liste des langages disponibles.

Les langages les plus utilisés actuellement sont sûrement VB (Visual Basic), C et C++, Java. L'HTML est lui aussi très connu mais il n'a pas considéré par certain comme un langage au même rang que les autres. Le Pascal, et plus loin encore le Fortran sont des langages qui se font un peu oubliés de nos jours.

On me demande souvent quel langage choisir au début. Cette question est très délicate. Posez vous déjà la question de ce que vous voudriez faire. Tous les langages n'offrent pas les mêmes possibilités. De plus certains langages sont plus complexes que d'autres et nécessitent un apprentissage plus long. Pour vous aider voici un petit récapitulatif de quelques langages:

Langage Compilateurs Top Flop Destiné à qui ?
Visual Basic Visual Basic Relativement facile à maîtriser. Permet la création de programmes très rapidement. Un peu lent. Inadapté pour réaliser un logiciel complexe. Seulement pour Windows. Crétion de petite applications Windows.
C/C++ Visual C++
Borland C
Watcom
Le langage actuellement le plus utilisé (Visual C++ est le compilateur le plus utilisé). Le C est un langage facile à apprendre et très rapide. Le C++ est une version étendue du C qui est orienté objet. Des compilateurs C/C++ existent pour quasi toutes les plates-formes (Linux/BeOS/Mac/...). Langage assez bas niveau (proche du language machine). Le plus gros problème est qu'il est très facile de faire des erreurs difficiles à détecter. Les créateurs de Jeux et d'application professionnelles principalement.
C# Visual C# Langage de haut niveau. Portabilité sur d'autre plateformes prévue. L'avenir sur Windows probablement. Encore un peu lent et peu portable. Les créateurs d'application Windows tournés vers l'avenir.
Java JDK
Eclipse
Autres
Portabilité assurée (par Sun) sur pleins de plates-formes sans changement du code source. Language haut niveau. Il peut être inclus dans une page Web et dispose de fonctions spécialement étudiées pour celles-ci. Très bon support du multi-tâche. Vitesse d'exécution lente et manque de fonctions pour la crétion d'utilitaires. Interface Java (sauf si on la refait). Si la rapidité et l'interface ne sont pas des issues, c'est un bon langage.
Pascal Pascal Routines mathématiques complexes incluses. Le compilateur n'est pas aisé et fonctionne sous DOS. Langage de plus en plus abandonné. Les matheux principalement.
Delphi Delphi Se situe entre C++ et Visual Basic. Langage orienté objet avec création d'interfaces rapide. Compilateur moins pratique que celui de Visual Basic. Création rapide de logiciels "moyens".
Autres

Pour commencer sur une vielle machine, QBasic suffira. Ce langage de programmation est fournit sur la plupart des ordinateurs. Il se trouve dans C:\Dos pour Win 3.x, et sur le CD de Windows 98. Essayez d'afficher le classique "Hello world !" qui est presque toujours le premiers programme que l'on fait dans un nouveau langage.

Sur une machine plus récente, je vous conseille de commencer par le Java si vous voulez programmer Objet. Sinon commencez par le Visual Basic ou le Delphy si vous voulez faire une petite application Windows.

Pour aller plus loins:
Programmation informatique - Wikipédia

Quelques sources de mon cru :

Je vous propose de télécharger les sources des quelques-uns un des mes freeware (programmes libres) où d'autres programmes. Je vous autorise à modifier les programmes. Il vous faut cependant le bon compilateur.

Si vous améliorez un programme, envoyez moi une copie, pour que je puisse voir ce que vous avez ajouté et peut-être pour améliorer ma version. Il est formellement interdit d'utiliser les sources dans un but lucratif sans l'autorisation écrite de l'auteur.

Programme Langage/Compilateur Détails Taille
Mount'n Fall v1.01 Java 2 Petit jeu mais aussi le plus gros fichier source ici. 28,9 Mo
GLPong v1.32 Visual C++ .NET / DevC++ / ... Utilise OpenGL et SDL (mais pas MFC). 477 Ko
CPucePuce v1.10 Visual C++ 6 Sans MFC et tout en français clairement expliqué. Voir la rubrique "Cartes à puces" 232 Ko
Fractale v1.10 Visual C++ 6 Avec MFC - Voir les info dans la liste des programmes 12 Ko
Titre v1.00 Java Applet qui affiche un texte très court de façon animée suivant les couleur de l'arc en ciel. 14 Ko
CopyDel v1.00 Visual Basic Dos Voir les info dans la liste des programmes 37 Ko
XRen v1.00 Visual Basic Dos Voir les info dans la liste des programmes 31 ko
ChangeTexte v1.00 Visual Basic Dos Voir les info dans la liste des programmes 41 Ko

Vous pouvez avoir d'autres sources, mais elles sont soit payantes soit je les fournis à des amis.

-- Werner BEROUX, 2006-04-02



Valid XHTML 1.0 Transitional