• [^] # Re: C'est bien dommage

    Posté par . En réponse au journal Un livre libre de tutoriels en traitement et analyse d'images. Évalué à 5.

    Il y a plusieurs choses. "L'inertie" des profs peut avoir plusieurs raisons, et je vais essayer d'en expliquer une partie. Mais ça bouge aussi...

    Pour le calcul scientifique, Matlab est vraiment très, mais alors très très bien foutu : interface très agréable, debugger au top, très performant d'un point de vu vitesse d'exécution. Et je ne parle pas de simulink que je n'utilise pas.
    Et le langage est super lisible quand on vient des maths. Bref, pour faire du calcul scientifique et du prototypage rapide, je n'ai rien vu de mieux.

    Les deux seuls inconvénients de matlab (amha) sont qu'il n'est pas libre et qu'il est très très cher. Comme matlab existe depuis longtemps maintenant, beaucoup de chose se sont développé avec. Et surtout, en recherche, on a pris l'habitude de travailler avec. Parce que ça va vite.

    Ensuite, vient python. On me l'a "vendu" comme vraiment LA bonne alternative à matlab, que c'est même mieux etc. etc. Et en plus c'est libre.
    Alors oui, c'est libre. Oui, avec Numpy et scipy, on a quelque chose de très proche de matlab. Mais très franchement, je trouve le code matlab plus "fluide" que le code python (question d'habitude !). Jusque là, pour ma recherche, python ne m'apporte aucun "plus" que Matlab. Ce qui risque d'ailleurs de changer un peu, vu que python s'est imposé pour tout ce qui est deep learning.

    Pour l'enseignement c'est autre chose. En général, pour ce qui est proposé, octave suffit lorsque l'étudiant ne peut pas accéder à matlab. Et effectivement, le besoin de matlab arrive finalement assez tard dans le parcours (plutôt vers la L3), alors qu'ils ont déjà eu des cours d'informatique (souvent du C). Et puis Matlab étant utilisé dans l'industrie, ça se justifie aussi.
    Pour le coup, les choses évoluent (en tout cas dans mon université). Python présente l'avantage d'être un "vrai" langage (c'est d'ailleurs ce que je lui "reproche" quand je fais du prototypage: j'ai l'impression d'utiliser un truc pensé par des informaticiens, pas par des matheux). Python peut être alors utilisé pour enseigner l'informatique au lieu du C. Dans les formations, les étudiants commencent maintenant dès le départ avec python, alors autant continuer avec. Donc, lorsqu'on doit ensuite faire des TP plus orientés "calcul scientifique", autant utiliser ce que l'étudiant connait déjà, et passer à python.

    Utiliser les deux, ce n'est pas vraiment un problème. Tant que je peux utiliser matlab pour ma recherche, je continuerai (parce que je suis plus efficace comme ça). Pour l'enseignement, aujourd'hui je laisse les étudiants choisir ce qu'ils veulent: matlab ou python. Le jour où utiliser python me rendra plus efficace pour mon boulot de recherche, je ferai la bascule. Ou bien qu'on ne puisse plus me payer une licence matlab. Mais dans ce cas, je regarde plutôt du coté de Julia...