PROGRAMMATION


Parce que ça peut toujours servir ;-)

La programmation est un hobby que je pratique de temps à autre et je conserve d'une petite carrière de développeur professionnel une certaine curiosité pour les langages de programmation. Hors des usines à gaz propriétaires et souvent hors de prix, le salut existe, gratuitement, et même carrément open-source pour certains. Point d'exhaustivité dans ce petit point de vue subjectif, juste mes préférés.


Rebol
Un langage qu'il faut vraiment découvrir. Imaginez un langage complet qui tienne largement sur une disquette et qui permette de créer un clone de logiciel de courrier en 50 lignes, avec une interface graphique en plus. Ca existe et c'est Rebol. Avec lui le réseau est juste une extension de votre pc et sa syntaxe pas trop complexe permet des merveilles impensables avec d'autres kits de développement. Disponible pour une quarantaine de plateformes ! 220 Ko pour la version console et 600 Ko pour la version avec bibliothèque graphique, un sacré tour de force.
Sous Ubuntu Jaunty (9.04) L'interface est beaucoup moins jolie que sous Windows©, hélas.
capture rebol linux
Capture sous Ubuntu 9.04


Sur le Rebol Documentation Project vous trouverez de la doc en français.

Rebol.com
La maison mère, in english, mais c'est là que vous aurez la dernière version de RebolView.



AutoIt
Au départ AutoIt était juste un langage de script intéressant mais sa capacité à créer très facilement des interfaces graphiques et sa syntaxe très "basicienne" en ont fait un langage à part entière. Ses possibilités de scritage de n'importe quelle application ou programme installé sur votre machine est proprement stupéfiante. Une sorte de super "visual basic" (®) facile à mettre en oeuvre. Cette petite merveille peut aussi vous préparer un auto-executable (.exe) à partir de votre script. Pratique, très pratique. C'est AutoIt qui a servi à écrire Ani4Chaoscope et CsviewExtractor. C'est sans aucun doute mon couteau suisse dès que j'ai quelquechose à programmer ou un algorithme à tester. Uniquement sous Windows® même si Wine permet de l'utiliser en partie sous Linux.
Le site d'AutoIt Le site principal.
Pour obtenir une vraie plateforme de développement intégré RAD, n'oubliez pas Scite4AutoIt.lui aussi gratuit, c'est son complément indispensable pour le transformer en "Visual Basic" (®) ou presque, en mieux pour un peu plus de 7Mo seulement  ;-)
21 mai 2006, AutoIt a servi à écrire Ani4Chaoscope, un programme qui permet de générer des animations avec Chaoscope.
Nouveau: (décembre 2008): Sortie de la version 3.3.0.0, de plus en plus fort !!



Free Basic
Un langage qui commence à lorgner du coté du grand fère visual. Allez-y voir. Il n'en est encore qu'à la version 0.20 mais c'est déjà très prometteur et utilisable. DOS, Linux et Windows®. Génère du code compilé donc rapide.
FreeBasic FreeBasic



BCX Dev suite pro

Un ensemble de développement complet et performant qui transforme votre source Basic en langage C et la compile avec un compilateur gratuit (Pelles C par défaut livré avec l'installeur mais les principaux gratuits sont supportés). Avec lui vous avez donc accès à du vrai compilé. Disponible ici. C'est ce pack qui a permis la réalisation de la nouvelle version d'Ultimatrix. 10 Mo de bonheur, seulement sous Windows© hélas.
. Logo BCX
La devise de BCX: "La simplicité du Basic et la puissance du C".



WxBasic

Utilise la librairie Wxwidgets pour le GUI, entre autres. Interpréteur qui permet de générer un autoexécutable. Disponible ici.




Freestyle Basic Script Language (FBSL)     

Encore un bel ensemble de programmation, rapide et performant. Un forum très actif. A essayer absolument! Langage interprété mais permet de générer un exécutable autonome sous Windows©.

LogoFBSLDisponible ici.



Euphoria

Celui-là est un extra-terrestre. Pas vraiment un Basic, disons plutôt un enfant terrible de la famille. Peut fonctionner en interprété mais peut aussi générer du code compilé, supporte aussi bien Windows© que Linux, dispose de quelques bibliothèques graphiques telles que wxWidgets et sa communauté est à la fois large et compétente. Si vous êtes un curieux de la programmation une visite s'impose. Disponible ici.





Basic alternative compilers for windows and linux Parce qu'il n'y a pas que les poids lourds du marché. Une belle liste bien organisée de différents compilateurs basic ou assimilés, gratuits ou non.




Du coté du C et du C++

Après avoir vu ce qui ressemblait plus ou moins à du Basic il est temps de regarder du coté de ces deux langages phares que sont le C et le C++. En prenant un peu de temps et en lisant quelques documentations ces deux langages sont accessibles, même si je ne les conseillerais pas pour apprendre la programmation.
Commençons par le C:
Un petit rappel au passage, BCX est une bonne passerelle pour apprendre le C l'air de rien, juste en lisant les sources C qu'il génère. Vous programmez quelques lignes en BCX et vous allez ensuite lire la source C générée, ce n'est pas sans intérêt. C'est comme ça que vous prendrez conscience que ce langage n'est pas si compliqué que la rumeur le laisse entendre. Pas compliqué mais pointilleux, très pointilleux même, vous voila prévenus, la rapidité d'exécution et la puissance sont à ce prix.
Il existe pas mal de compilateurs C gratuits et même quelquefois open-source, la très grande majorité des compilateurs C++ compileront d'ailleurs le C sans aucun problème. Voici une liste non exhaustive des programmes qui contiennent des compilateurs gratuits qui ne s'occupent que du C et pas du C++, sous Windows© uniquement puisque Linux est livré avec GCC et ne nécessite donc rien d'autre qu'un éditeur.


PELLES C Compiler:  
Logo Pelles
C'est le compilateur installé par défaut en version allégée avec BCXDevSuitePro. En téléchargeant la version complète vous avez accès, en plus du compilateur, à quelques outils bien pratiques tels qu'un éditeur de code, un déboggueur, un éditeur d'images, un éditeur de registre, un visualisateur de process, un éditeur de ressources et plein d'autres utilitaires, bref, il est très complet. Un temps de compilation raisonnable, des éxécutables minis et une rapidité tout à fait respectable. Sans aucun doute mon préféré dès qu'il s'agit d'un compilateur exclusivement C, respecte une grande partie des derniers standarts du langage. Pour un peu plus de 7Mo ça vaut vraiment le coup de l'essayer.

LCC-WIN 32
Un peu vieillot mais toujours sur le coup, un compilateur toujours apprécié. 5 Mo


Les programmes qui embarquent des compilateurs C++ (compilent aussi le C):

Turbo C++ Explorer
Logo Borland
La version gratuite de C++ Builder de chez Borland. Usine à gaz! Existe en version française, aide comprise, c'est là son principal intérêt. Demande l'installation préalable d'un paquet de 235 Mo et l'installeur principal pèse 384 Mo. C'est du lourd ;-)


Open Source Watcom / OpenWatcom C/C++ Compiler
Logo Watcom
Un GRAND compilateur C et C++, une multitude d'outils plus utiles les uns que les autres, il est TRES complet! Normal, 62 Mo quand même. Vous pouvez aussi lui adjoindre un compilateur Fortran pour 45 Mo de plus.

Bloodshed Dev-C++
Après des années de mises à jour suivies, il semble qu'aujourd'hui Dev-C++ soit quasiment abandonné depuis quelques mois. Il reste quand même très intéressant et demeure une référence dans le monde des compilateurs gratuits. 9 Mo

Code::Blocks IDE
Une solution de développement complète et extensible, 13 Mo avec le compilateur Mingw (GNU). 

wx-Dev CPP
Dev C++ est semble t'il abandonné après des années de bons et loyaux services. Un groupe de développeurs a eu l'excellente idée de reprendre le flambeau en lui ajoutant une extension qui permet de programmer avec la librairie graphique (et autres) wxWidgets. Du coup vous voilà face à un outil de développement RAD très performant. 44 Mo



Les langages de script

Ces langages sont au départ des langages destinés à accomplir des tâches répétitives telles que l'installation de programmes sur des parcs de machines mais certains d'entre eux sont devenus de véritables langages "à tout faire", disponibles pour toutes les plateformes courantes. 

Python
Logo Python
LE langage à tout faire par excellence. Excellent pour s'initier à la programmation, puissant, largement utilisé et disposant d'une vaste variété de bibliothèques, tout ou presque peut-être réalisé en Python. Probablement déjà installé sous Linux, la version proposée par ActiveState est recommandée sous Windows(®), disponible ici.




Ruby
Logo Ruby
Avec lui TOUT est objet. Parti du Japon, sa renommée s'est étendue à toute la planète en quelques années. Séduisant par sa simplicité qui cache une redoutable efficacité, il est aujourd'hui aux toutes premières places derrière Python et dispose de presque autant de bibliothèques spécifiques. Si vous aimez uniquement la programmation orientée objet, Ruby saura à coup sur vous séduire. Multiplateforme.




Lua
Logo Lua
Langage embarqué très utilisé pour scripter des jeux, vous l'avez déjà peut-être utilisé sans le savoir. Une syntaxe simple, proche du Pascal, une taille réduite et une rapidité suffisante en font un outil agréable à utiliser. Depuis qu'il dispose de bibliothèques en bon nombre, il est utilisable comme langage à part entière et multiplateforme.




Tcl/Tk
logo tcl
L'un des ancêtres des trois premiers en ce sens que c'est le premier langage de script à avoir embarqué une bibliothèque graphique qui est devenue le standard des trois autres, Tk. Il n'a commencé à être supplanté par Python et les autres qu'à l'apogée de la programmation objet. Les dernières versions peuvent aujourd'hui utiliser ce paradigme de programmation et il existe encore bon nombre d'applications qui fonctionnent avec ce langage et une communauté vaste et riche. Tcl/Tk n'est pas mort! Une seule phrase pour le définir, avec lui "TOUT est commande". Multiplateforme, sous windows(®), la version proposée par ActiveState est recommandée, diponible ici.





Les inclassables ou presque.


 Un assembleur virtuel multiplateforme et facile, impossible? N'en soyez pas si surs...
Logo Linoleum
Voyez donc Linoleum. Sur le forum vous trouverez une traduction du tutoriel que j'ai commise en français. Attention, ce langage est addictif ;-) Hélas disponible uniquement pour Windows©.




HLA
High Level Assembly, assembleur de haut niveau, tout est dit. Pour Windows (®) seulement mais le concept est intéressant, nettement au dessus des macro-assembleurs conventionnels. La version 2 en gestation promet encore de belles surprises. Attention, pas vraiment conseillé pour apprendre la programmation, ça reste quand même de l'assembleur. Pour s'initier à l'assembleur sans trop de prise de tête, Linoleum est plus conseillé.




 Entre un langage de prog et un langage de maths, un dialecte avec des noms, des adverbes et des verbes, voilà un langage qui cache une puissance incroyable. Impossible de définir J, il faut l'essayer pour comprendre. Attention, prévoir quand même deux ou trois aspirines ;-) Multiplateforme, fonctionne parfaitement sous Linux (Ubuntu 9.04 Jaunty).
JJ, le site




 Vous avez pris les aspirines? Vous voilà donc prèts à affronter Squeak, c'est du smalltalk, tout est objet... et vice versa ;-). A la fois langage, plateforme de developpement et environnement, c'est une expérience à tenter, seulement 12Mo. Déjà tellement complet qu'il contient des utilitaires fonctionnels inclus dans la distribution. Un CD peut aussi être téléchargé avec un maximum de documentation sur Smalltalk et Squeak.
Squeak
Si le smalltalk vous tente toujours après cette prise de contact vous trouverez des distributions gratuites très complètes:
VisualWorks (multi-plateformes) et ObjectStudio (Win seulement) chez Cincom Smalltalk, un CD complet!
Smalltalk/X chez eXept Software, open-source multiplateforme, permet de développer des exécutables autonomes 50Mo.
Dolphin Smalltalk Community Edition chez Object Arts. 18 Mo, l'idéal pour se familiariser avec Smalltalk sans devoir télécharger des centaines de Mo's.
Squeak CD: une compilation de plusieurs implémentations de Smalltalk et de la documentation à gogo.




DrScheme (MLT Sheme)
logo scheme
Open-source, multiplateforme, encore un langage intéressant, dérivé du Lisp, l'éditeur propose aussi des jeux pour le cas où vous voudriez vous détendre entre deux séances de codage. Le gros plus de cette distribution c'est que le niveau du langage s'adapte à votre connaissance de celui-ci. Simple pour les débutants, plus complexe ensuite pour aller plus loin dans les détails. 25 Mo seulement pour découvrir un nouveau monde sous Windows© et 40 Mo pour Ubuntu 9.04 Jaunty. Produit des exécutables.


Des langages utilisant la machine virtuelle JAVA

JAVA est un langage à part entière mais certaines de ses fonctionnalités ne le rendent pas forcément facile à appréhender. Personnellement je ne cours pas du tout après... Il est doté depuis quelques dernières versions d'une machine virtuelle très performante et très bien documentée ce qui permet de s'en servir pour écrire d'autres langages sur la base de cette machine. Ainsi, une fois le SDK JAVA installé, toute une ribambelle de langages différents peuvent tourner "sous" JAVA, c'est à dire sous Windows©, Linux, Mac OS etc etc et avec toute la vitesse dont est capable Java c'est à dire plutôt rapidement. Java est donc devenue une plate forme de développement à part entière comme .NET et Mono le sont respectivement pour Windows et Linux.
Voici (en anglais) une page qui en recence plus de 240 !!!

Parmi cette longue liste j'en ai trouvé 2 qui retiennent particulièrement mon attention.

 Processing (Utilisable même sans installer Java si vous téléchargez la version qui inclut Java avec Processing, recommandé avec Windows)

 processin langage
Un langage très proche de Java mais spécialement orienté vers l'artistique, aussi bien visuel que sonore et même interactif temps-réel. La version finale 1.0 vient juste de sortir. Il est livré avec une belle boite à outils, des bibliothèques et tout un tas d'exemples convaincants. Vous pouvez exporter vos programmes d'un simple clic, soit en applet dans une page web soit carrément en éxecutable. Ne lui manque qu'un éditeur un peu plus perfectionné pour être parfait. Coté possibilités allez donc faire un tour sur ces sites, attention ça arrache!
- Le site de Dave Bollinger : http://www.davebollinger.com/works/
- Le site de Jared Tarbell : complexification.net
Ce ne sont que quelques exemples, le net regorge de démonstrations, le site de Processing vous en donne toute une liste ici:
http://processing.org/exhibition/index.html
Sur le site d'open processing vous trouverez des centaines d'exemples téléchargeables.
Bonnes balades, vous voilà scotchés pour quelques heures ;-)





 Groovy
groovy
J'oserais dire que c'est un Java plus facile et plus performant. Sans aucun doute beaucoup plus facile à apprendre et à maitriser que Java.

 J'arrète là cette petite liste et vous laisse achever ce petit tour par ces quelques liens où d'autres langages vous attendent. Chaque langage de programmation est une sorte d'oeuvre d'art en soi et comme en toute matière artistique les goûts et les couleurs ne se discutent pas. Il y en a pour toutes et tous, bonnes découvertes. Pour obtenir plus d'informations sur ces langages, n'importe quel moteur de recherche fera l'affaire.

http://www.thefreecountry.com/compilers/index.shtml  

http://www.freeprogrammingresources.com/frcomplr.html

http://freebyte.com/programming/

http://www.programmersheaven.com/

http://www.idiom.com/free-compilers/


Home

Valid HTML 4.01 Transitional