Aller au contenu

[Débutant] Quel langage pour la bioinformatique?


bhulip

Messages recommandés

Bonsoir à toutes et tous,

Voila l'année prochaine je pars en fac mention informatique. J'espère plus tard rentrer dans la filière bioinformatique car c'est un domaine qui m'intéresse vraiment énormément. Mais voila, je ne sais quel est le langage le plus couramment utilisé dans ce domaine.

Java?

C?

C++?

Python?

J'aimerais me mettre déjà dans un langage afin d'en faire un maximum avant la rentré pour partir sur de bonnes bases. Si celui ci me servira plus tard, c'est une bonne raison en plus pour l'apprendre.

Merci d'avance et bonne soirée.

Lien vers le commentaire
Partager sur d’autres sites

Salut !

De toute façons, tu trouvers des similitudes dans tous ces langages au moins au niveau de la syntaxe.

Je ne suis pas sûr qu'un langage prédomine en bioinformatique.

Je crois que le fortran est pas mal utilisé par les scientifiques.

Si j'étais je commencerai par regarder du côté de Fortran, puis le C, puis le C++ et enfin Java.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Schématiquement, on peut répartir les langages utilisés en bioinformatique en deux catégories.

Tu as d’un côté ceux utilisés pour écrire les programmes dont les performances sont cruciales, comme par exemple le moteur de recherche Entrez du NCBI ou les programmes d’alignement de séquences (BLAST, CLUSTALW, etc.). Là, c’est essentiellement le C qui domine.

À côté de ça, tu as ceux utilisés pour automatiser des tâches courantes ou faire une analyse ponctuelle très précise. Ce ne sont alors pas trop les performances qui sont importantes, mais surtout la rapidité et la facilité de développement. Perl et Python sont particulièrement utilisés. Ces deux langages disposent d’un grand nombre de modules spécialement destinés à la bioinformatique, respectivement BioPerl et BioPython.

Bonne chance (on a besoin de bioinformaticiens). :transpi:

Lien vers le commentaire
Partager sur d’autres sites

Pour avoir eu l'occasion de participer a des projets de bioinfo (irisa/inria/inra), je confirme ce que dit gouttegd.

Suivant le besoin et les contraites on choisi le ou les langages les plus adaptés.

Par exemple, l'un de mes derniers projet consistait en la mise en place d'un moteur de simulation de l'evolution des proteines en fonction d'un réseau de gene.

Bref, le gros noyau central - moteur de simulation - avait été codé en C++, principalement pour des question de perf, mais aussi parce qu'on possaidait les outils et techniques de developpement orientées performance...

Et c'est d'ailleurs souvent ce qui prime :)

(coder dans un langage tres performant mais mal maitrisé produit généralement une appli moins performante que si elle avait été codé dans un langage legerement moins performant mais mieux maitrisé)

A coté de ca, on avait une partie compilateur de fiche GNA pour la construction du réseau de gene, réalisée en perl.

La partie IHM étant déporté sur des postes client, le moteur de simu etant lui sur un calculateur dédié, il nous fallait une interface réseau client/server réalisée en Corba.

Et donc coté IHM il nous fallait un langage capable de gérer le corba, tout en étant multiplateforme (parc informatique hétérogène), avec possibilité de graphes dynamique. Donc le choix s'est porté naturellement vers java.

Bref, suivant les besoins et surtout les contraintes tel ou tel langage sera choisi.

Pour ma part je te conseillerais plutot de partir sur du C++ pour commencer, fréquemment utilisé, et l'adaptation vers du C, du Java ou du Perl est vraiment aisée ensuite.

Ou alors commencer par du java, peut etre plus abordable au premier abord.

Lien vers le commentaire
Partager sur d’autres sites

D'un point de vue abordabilité et par expérience personnelle, je te conseillerais plutôt de commencer par java.

Ca permet de voir beaucoup d'aspect de la programmation, sans les ennuis.

Le Java s'exécute dans une machine virtuelle qui gère beaucoup de choses à ta place (typiquement, la mémoire).

Il est plus facile à débugger et est donc plus adapté pour l'apprentissage.

Si tu aimes le challenge tu peux commencer directement par C++.

Par contre, je déconseille de commencer par Python ou Perl, qui sont très pratiques à utiliser, mais qui ont une syntaxe trop lâche.

(A utiliser une fois que l'on a acquis de la rigueur dans le codage, chose qui est obligatoire avec java ou c++).

Lien vers le commentaire
Partager sur d’autres sites

Oui c'est sur que Java est plus abordable que le C/C++, principalement par l'absence dans Java de certains mecanisme "complexe" comme la gestion de la mémoire ou le multihéritage (fait un bout de temps que j'ai pas touché a java, ils ne l'ont toujours pas implementé ?) et autre joyeuseté du genre.

Après faut voir le niveau de connaissance en programmation de bhulip aussi.

S'il est totalement néophite et qu'il n'a jamais programmé (genre pas de basic, pas de php, pas de pascal, ...) alors je lui conseil clairement Java pour commencer par se familiariser avec les concepts de base de la programmation.

S'il a déjà une experience minimale, mieux vaut partir vers le langage le plus complet, en particulier celui qui propose la gestion de la mémoire.

Plus tot on est confronté a ce mécanisme et aux contraintes qu'il impose, plus tot on acquiert les automatismes de programmation qui vont bien.

Et l'apprentissage du Java par quelqu'un connaissant deja bien le C++ est beaucoup plus simple/rapide que l'apprentissage du C++ par quelqu'un connaissant le Java ;)

Bref, s'il a déjà programmé un minimum, et qu'il a déjà touché a un langage orienté objet, je lui conseil de partir sur du C++, surtout s'il veut aller dans la Bioinfo.

Sinon, mieux vaut commencer plus soft et aller sur du Java.

Lien vers le commentaire
Partager sur d’autres sites

le multihéritage (fait un bout de temps que j'ai pas touché a java, ils ne l'ont toujours pas implementé ?)

"Ils" ne l'implémenteront jamais, c'est totalement incompatible avec les principes fondamentaux de java (arborescence d'héritage unique, par exemple). Pour palier, il y a les interfaces. :arrow:

Lien vers le commentaire
Partager sur d’autres sites

oue je connais le principe des interfaces, qui m'avaient justement été présentées comme le paliatif a l'absence de multiheritage :)

et bon, ca serait pas la premiere fois ou un editeur annonce qu'ils ne feront pas certains truc, et qui quelques années après implemente finalement :transpi:

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

Bonsoir,

Le domaine de la BioInformatique m'intéresse aussi.

Les langages les plus utilisés sont le C et le Python?

Car en première année à la fac on voit le Java, cela me sera utile comme langage plus tard?

Merci d'avance, j'essais de commencer un peu le developpement dans un langage que j'utiliserai j'espère beaucoup dans mon futur métier (je croise les doigts).

C'est les vacances et je souhaite vraiment faire ça plus tard.

Bonne soirée.

Lien vers le commentaire
Partager sur d’autres sites

Comme le dit fabien au dessus, plus important que l'apprentissage d'un langage informatique, c'est l'apprentissage des concepts de programmation et de méthodologie de développement qui prévaut. Si tu maitrises les concepts et méthodologie de développement, passer d'un langage à l'autre équivaut souvent a modifier la syntaxe (modulo quelques subtilités liées aux langages).

Commencer par apprendre le Java n'est pas forcément un mauvais choix, même si ce n'est pas le langage le plus utilisé dans le domaine de la bio informatique, il est relativement abordable et simple d'apprentissage, et syntaxiquement proche du C++ permettant un passage de l'un à l'autre assez rapide.

Et puis si t'es encore qu'en première année de fac, il te reste encore quelques années pour pouvoir découvrir d'autres langages :dd:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...