Débuter en programmation en 2012
Pour débuter en programmation, quel langage de programmation, quel outils de développement choisir? Cela dépend en fait du type de logiciels que l'on veut réaliser.
La programmation peut se faire dans trois domaines principaux:
- RDA: Rich Desktop Application, le logiciel classique comme LibreOffice.
- RIA: Rich Internet Application, le programme tournant sur le navigateur, disposant d’une interface élaborée comme la RDA.
- Applications pour mobiles traité dans une page à part.
Le tendance la plus moderne est de créer une application Web fonctionnant aussi localement sans connection, et utilisant Ajax.
Il existe aussi d’autres domaines de programmation à base de scripts.
A coté des logiciels, il y a aussi les progiciels, logiciels pour entreprises qui peuvent faire intervenir des techniques différentes comme l'utilisation d'UML, ou la programmation par aspects.
Réaliser une RIA ou un site Web dynamique
Quand on décide de se lancer dans la programmation, le choix du langage est la première étape, il doit être réfléchi, et il dépend de son projet mais aussi de son avenir, un futur informaticien par exemple, utilisera un langage qu’on utilise en entreprise (plutôt qu’un outil académique comme Caml).
Il est préférable de maîtriser la programmation « locale », hors serveur, avant de passer à la programmation pour le Web, sur serveur ou en page Web, beaucoup plus difficile. La programmation en JavaScript notamment, en l’absence de messages d’erreurs, est particulièrement ardue. Il existe des logiciels d’aide au déboguage cependant.
La réalisation de RIA, application Internet riche, donc dotée d’une interface utilisateur aussi complète que celle d’un logiciel de bureau, est l’enjeu majeur du développement actuel. Il faut choisir les bons outils, les bons formats.
Le choix du langage de programmation
Le site Scriptol.fr décrit tous les langages populaires et indique pourquoi utiliser l’un plutôt que l’autre.
On y trouve aussi une histoire des langages de programmation et des fiches pour les principaux d’entre eux. Des exemples de programmes simples sont donnés pour tous les langages.
Le site est aussi consacré aux algorithmes qui sont proposés sur le site dans les langages Scriptol, PHP et C, ainsi qu'en JavaScript.
Les langages se classent en catégories d’utilisations:
- Langages de script: coté serveur (PHP, Java), ou coté client (JavaScript) ou langages d’apprentissage simples.
- Langages système: C, C++, Go.
- Langages d’applications: Basic, Pascal, C#, Java.
- Langages déclaratifs à balises (XML, RDF, RSS, XAML, XUL, etc.
Certains langages disposent de versions multiples adaptées aux différents domaines d’utilisation (ASP, JSP…)
Les langages classiques et les IDE de développement
Le langage C++
Il existe plus de six compilateurs gratuits C et C++.
Visual C de Microsoft est plus strict, analyse mieux les erreurs que BCC 5.5. Disponible sur le site Microsoft à l’intérieur de l’outil de développement rapide Visual C++ Express ou dans le SDK .NET. Le compilateur GCC est disponible sous Linux, MingW et Whatcom sous Windows.
On peut construire des logiciels plus facilement avec Speedy Make, une alternative XML à make, le compilateur de projets classique.
Le langage C++ cède maintenant la place, à la fois pour les applications locales et les applications Web, à Java et C# ce dernier fonctionnant sur plateforme .NET. Et le langage Go est un autre challenger.
Le langage C# (C Sharp)
On peut si l’on dispose de la plateforme (sous Windows et Linux) remplacer C++ par C#. Il existe plusieurs environnements de développement gratuits: Turbo Explorer C#, Sharp Develop, et Visual C# Express. Tous permettent de définir l’interface d’une application visuellement.
L’avantage de C# est la gestion automatique de la mémoire (comme Go), l’utilisation de XAML pour définir une interface de façon déclarative en XML. En outre il fonctionne sur la plateforme .NET où il peut partager les classes avec d’autres langages.
Le langage Java
Java est largement utilisé pour créer des services Web.
Les outils de développement les plus utilisé sont NetBeans et Eclipse, ce qui va de pair avec le SDK Java fournit par Sun.
Eclipse peut paraître ardu au départ.
Le langage JavaScript
Il fonctionne dans le navigateur mais peut aussi être utilisé localement grâce aux compilateurs-interpréteurs V8 de Google ou Tamarin utilisé par Mozilla. Ces nouveaux compilateurs JIT (Just-In-Time) rendent JavaScript aussi rapide que Java.
Programmer en JavaScript est différent car il ne reprend pas le modèle orienté objet classique mais utilise des prototypes dynamiques. C'est en fait un langage très innovateur.
L'application locale de JavaScript la plus connue est le serveur Node.js qui fonctionne sous Windows ou Linux.
Les nouveaux langages
Il existe des langages plus modernes et beaucoup plus simples à utiliser. Ces langages, outre la facilité de lecture, sont aussi plus adaptés à la programmation de pages web ou de sites.
Ce sont Python, Ruby, Scriptol et PHP.
Ruby est utilisé surtout pour le web avec Ruby on Rails, Python est un langage de script universel utilisé par le logiciel de services Web Zope.
La programmation pour le Web
Le langage PHP fonctionne sur tous les systèmes. C’est un langage de Scripts non typé. Scriptol constitue un front-end, qui permet d’avoir un contrôle d’erreurs à la compilation.
Scriptol produit du code source PHP imbriqué ou non dans les pages HTML, ou des exécutables binaires. Le but étant de réaliser des applications fonctionnant à la fois sur le Web ou localement sans accès Internet. L’interpréteur Scriptol facilite l’apprentissage du langage.
Noter que Microsoft fournit un runtime, Silverlight, accompagné d’un outil de développement payant Expression Blend, pour créer des applications mixtes fonctionnant sur les Web ou sur le bureau (voir les outils XAML).
Le langage alternatif à PHP, ASP de Microsoft est proche du Basic. Il ne fonctionne que sur un serveur Windows. Pour des applications lourdes, on utilise souvent Java (Facebook utilise PHP tandis que Twitter est passé sous Scala). Java existe en version langage de script, JSP, fonctionnant coté serveur comme PHP.
Coté navigateur, on utilise JavaScript et de plus en plus souvent dans le cadre de la technique en vogue actuellement, Ajax.
Coldfusion est une variante de JavaScript, mais le standard se nomme ECMAScript.
Pour le développement, le plugin Firebug pour Firefox contrôle les échanges entre le serveur et le navigateur, les requêtes et signale les erreurs rencontrées dans un script JavaScript.
XML devient indispensable comme format de fichier notamment avec le développement d’Ajax, même si JSON s’emploie aussi fréquemment.
Créer une documentation
Pour le manuel d’emploi, le plus simple est d’utiliser LibreOffice qui produira un document Word, HTML pour le web, ou PDF imprimable . La légèreté du code HTML produit par la version 2 est impressionnante par rapport aux versions précédentes ou d’autres logiciels.
Si vous voulez aller plus loin, cet article; Docbook décrit les principaux formats de documentation technique, et vous aide à choisir.
Dans le cas ou votre programme fournit les sources, inutile de décrire les fonctions une à une, un générateur de documentation de code source peut faire cela pour vous Doxygen (W/L), et il en existe de nombreux autres.
La distribution du logiciel
Les logiciels sous Windows sont souvent intégrés à un installeur qu’il suffit de lancer pour avoir les icônes, etc.
Vous disposerez d’un tel système en téléchargeant un générateur d’installeur complet comme Inno Setup.
Il propose un wizard (bon génie) pour générer le script d’installation. On peut ensuite ajouter des options manuellement.
Préparez ensuite une image écran de 640×480, une icône 32×32, cela en format gif ou jpg.
Une archive peut être créée avec un logiciel d’archivage gratuit. Vous avez le choix entre 7-Zip, ou IZArc.
Documents
- L’empire et l’anarchie.
La guerre des RIA a opposé deux formats d’interface: XUL et XAML. XAML, après Silverlight aura une nouvelle vie dans la plateforme Metro de Windows 8, mais c'est HTML 5 qui a pris le dessus pour les applications Web.
Ressources et outils
- Codes Sources. Trouver des codes sources en plusieurs langages.
- PSPad est un éditeur pour Windows assez complet avec interface en français, qui dispose de coloration syntaxique pour tous les langages de programmation. NetBeans est une EDI pour Java, PHP et HTML 5.
- Outils pour programmeurs.
|
|
|
