Vous êtes sur la page 1sur 5

C

Le C est l'un des langages les plus utilisés par les programmeurs de
part le monde. Et ce pour une raison particulière : c'est l'un des langages les plus rapides en
exécution. Pour ceux qui ne le savent pas, la plupart des interpréteurs d'autres langages
(logiciels qui lisent directement les programmes pour les exécuter) sont fait en C, du moins à
la base. Mais cette rapidité impose un avantage et un inconvénient qui sont en fait la même
chose : vous devez TOUT gérer.
Et là se pose un problème : c'est très contraignant de tout gérer. C'est comme pour un outil tel
un couteau par exemple, tout gérer signifie que vous devriez extraire les matières premières
pour la fabrication, le fabriquer, l'utiliser puis ensuite le recycler de manière « propre ». Bref,
c'est très astreignant, mais vous savez comment tout fonctionne et vous pouvez tout calibrer
pour que ça aille le plus vite possible. Mais attention, un seul grain de poussière et votre
couteau casserait sur une simple motte de beurre. C'est pourquoi beaucoup de monde trouve
que c'est un langage lourd, compliqué et pas forcément utile. Mais c'est tout de même l'un des
langages les plus puissants.

Il est donc utilisé quand de gros calculs sont à effectuer (de grosses banques de données à
comparer, comme avec BLAST, ou bien des dynamiques moléculaires à faire avec
GROMACS par exemple). C'est aussi le langage qui se cache dans vos différents systèmes
d'exploitation.

Java
Le Java est certainement le langage le plus utilisé dans les entreprises privées tout
simplement parce qu'il permet, à partir du même code, d'être utilisé sur n'importe quel ordinateur ayant au
préalable Java d'installé. Il existe en effet de nombreuses différences entre les ordinateurs suivant leurs
systèmes d'exploitation (GNU/Linux, Windows, iOS ...). Java a la particularité d'avoir ce que l'on appelle
une machine virtuelle qui lui permet d'avoir une couche intermédiaire entre les lignes de codes et le
langage ordinateur.
Autre avantage par rapport au C c'est qu'il gère lui même la création et la destruction des objets. Pas
besoin de lui dire de détruire le couteau, il sait qu'il doit le faire. Mais il le fait... quand il le veut. Il ne
s'amuse pas à recycler ses couteaux un par un, mais régulièrement il fait des vérifications pour savoir si
certains ne sont pas inutiles, et au besoin les recycle tous d'un coup. Ceci peut prendre un peu de temps.
En dehors de ces légers temps de latences, le Java est presque aussi rapide que le C.

Comme exemple de logiciel écrit en Java, il existe Artemis, un logiciel de gestion et d'annotation de
génome. Les suites Open Office et Libre Office sont aussi codées en Java, mais avec une couche de C++
(C « amélioré ») pour les fonctions demandant beaucoup de temps de calcul.

Python

Le Python est plus utilisé comme langage de script et non comme langage de
programmation. Tout simplement parce qu'il est bien plus lent que le C ou le Java (entre 10 et 100 fois plus
lent). Sur un programme comme un éditeur de texte, ça ne se ressent absolument pas, mais pour réaliser
des dynamiques moléculaires, qui durent plusieurs jours même en C... Il serait hors de question d'attendre
plusieurs centaines de jours pour obtenir le même résultat.
Mais alors quel est l'intérêt du Python ? Sa rapidité d'écriture. Là où en C il faudrait une dizaine de lignes
pour afficher le résultat de 1+1, en Python une seule ligne suffit. Bref, c'est très simple à utiliser, aussi
puissant que le C ou le Java, ça s'écrit très vite et, même si c'est un peu lent, ça suffit amplement pour faire
des tâches automatisées.

Autre avantage énorme par rapport aux deux autres, c'est la lecture/écriture de fichiers. Ces opérations
extrêmement fastidieuses en temps normal (lecture caractère par caractère) est simplifiée. Il devient donc
très facile de lire un fichier formaté, comme un fasta, ou un PDB. Il existe en plus de nombreuses
bibliothèques (codes déjà écrits par d'autres et qui évite de réinventer la roue à chaque fois) pour gérer les
données biologiques, comme les fichiers PDB : BioPython, l'une des bibliothèques les plus au points. C'est
pour ça qu'il est utilisé pour faire des programmes généralement courts qui peuvent facilement être
améliorés.
Mais il peut être utilisé pour faire de beaux et puissants programmes : PyMOL par exemple utilise de
nombreux scripts Python (d'où le Py) pour lire les fichiers PDB ou pour ajouter des plug-in facilement.

Perl

Je vais passer assez rapidement sur le Perl non pas car il ne présent aucun intérêt, mais parce qu'il a à peu
près les mêmes utilités et les mêmes caractéristiques que le Python.

Sa syntaxe est (très) différente et la philosophie un peu plus axée sur les expressions régulières, servant
elles aussi à lire un fichier ou toute autre information apportée au programme. Il existe une « guerre » entre
les utilisateurs de Python et de Perl, chacun ayant ses préférences. Mais la principale différence est juste
une question d'habitude, Python étant tout de même plus facilement lisible que Perl pour les non initiés.

Pour un exemple de programmation en Perl, Aurélien C. devrait bientôt présenter un script écrit en Perl.

R n'est pas vraiment un langage de programmation, mais est très utilisé en bioinformatique.
R est en réalité un programme écrit en C qui permet de faire de grosses, très grosses statistiques très
simplement. Il est déjà tout prêt à être utilisé et a des commandes simples et intuitives... pour quelqu'un qui
ne programme pas.
C'est l'un de ses deux inconvénients : quand on est habitué à utiliser la programmation, certains aspects de
R semblent absurdes. Second inconvénient, si on utilise R en dehors des boites à outils déjà faites pour
nous, il devient très, très lent ! Il permet par contre de faire de jolies graphiques très rapidement
(généralement ceux présents dans les publications scientifiques sont créés sous R, parfois un peu
retouchés à la main par la suite).

Vous aimerez peut-être aussi