Je me suis mis aussi au python (en venant du C) il y a quelques temps, et je dois dire que je trouve ça pas simple:
Certes on élimine la compilation, mais ce faisant on perd aussi toute l'habitude qu'on avais de l'environnement : Makefile, messages d'erreur du compilo,...
En python, il faut tout réapprendre, en particulier, les messages d'erreurs que je trouve d'une confusion extrême. (Il existe un débuggeur ligne par ligne en python ? Un gdb pour python, en fait)
De plus les problèmes de version/lib sont toujours là ! J'ai passé un temps fou à trouver l'origine d'un message d'erreur obscur, pour m'apercevoir qu'entre python 2.3 et 2.5 la syntaxe d'un truc avais changé et que mon code ne faisait plus ce que je pensais.
Ce problème est commun a la plupart des langages interprétés, j'ai eu le même type de truc en ruby.
Et surtout, même si c'est qu'une question d'habitude, il faut re-apprendre toute l'API: A chaque ligne, je suis obligé d'aller voir la doc: Ouvrir un fichier, vérifier les permissions, récupérer un signal.... bref, bien des fois je me suis dis qu'avec le temps que je perdais à faire ça, j'aurais déjà fini depuis longtemps en C.
Peut-être que ça payera un jour...
(Et pourtant, les bouquins le python pour les nul et les linux-mag dédiés au sujet traînent partout à la maison)
Par contre, il faut avouer que en terme de bibliothèque, le langage est bien fourni, les fonction de haut-niveau (comme les dessins ou le numérique) c'est autre chose que le C, c'est là ou je pense gagner du temps sur le long terme.
[^] # Re: Avantage
Posté par C. OB (site web personnel) . En réponse à la dépêche Publication de la version 2009Q2 de Unladen Swallow. Évalué à 4.
Je me suis mis aussi au python (en venant du C) il y a quelques temps, et je dois dire que je trouve ça pas simple:
Certes on élimine la compilation, mais ce faisant on perd aussi toute l'habitude qu'on avais de l'environnement : Makefile, messages d'erreur du compilo,...
En python, il faut tout réapprendre, en particulier, les messages d'erreurs que je trouve d'une confusion extrême. (Il existe un débuggeur ligne par ligne en python ? Un gdb pour python, en fait)
De plus les problèmes de version/lib sont toujours là ! J'ai passé un temps fou à trouver l'origine d'un message d'erreur obscur, pour m'apercevoir qu'entre python 2.3 et 2.5 la syntaxe d'un truc avais changé et que mon code ne faisait plus ce que je pensais.
Ce problème est commun a la plupart des langages interprétés, j'ai eu le même type de truc en ruby.
Et surtout, même si c'est qu'une question d'habitude, il faut re-apprendre toute l'API: A chaque ligne, je suis obligé d'aller voir la doc: Ouvrir un fichier, vérifier les permissions, récupérer un signal.... bref, bien des fois je me suis dis qu'avec le temps que je perdais à faire ça, j'aurais déjà fini depuis longtemps en C.
Peut-être que ça payera un jour...
(Et pourtant, les bouquins le python pour les nul et les linux-mag dédiés au sujet traînent partout à la maison)
Par contre, il faut avouer que en terme de bibliothèque, le langage est bien fourni, les fonction de haut-niveau (comme les dessins ou le numérique) c'est autre chose que le C, c'est là ou je pense gagner du temps sur le long terme.
voilà, my 2c