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.
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 sous Ubuntu 9.04
La maison
mère, in english, mais c'est là que vous aurez la
dernière version de RebolView.
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 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 !!
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.
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.
.
La devise de BCX:
"La simplicité du Basic et la puissance du C".
Utilise la librairie Wxwidgets pour le GUI, entre autres.
Interpréteur qui
permet de générer un autoexécutable.
Disponible ici.
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©.
Disponible ici.
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.
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
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
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
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
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
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
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...
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).

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.
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)
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)
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
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/