Il y a bien longtemps je vous avez parlé de 7 libs Python vraiment chouettes, puis quelques articles pour vous signaler des remplaçants, ici et là.
Comme je ne m’attends pas à ce que vous suviez le blog article par article, voici une petit synthèse, la conclusion de l’évolution de ma boîte à outils Python.
via Ma boîte à outils Python, mise à jour | Sam & Max: Python, Django, Git et du cul.
Tiens a noter défis que l’envie de faire du python finisse par me prendre =)
Python or not ? Premières impresssions
Bien, comme il est question depuis un moment de reprendre un vieux projet web, je me demande si je je vais pas en profiter pour mettre le nez dans une autre techno ou plus exactement un autre langage. Parmi tout ceux qui existent ma tendance est plutôt d’aller vers python (j’en parlais d’ailleurs dans ce billet). C’est un langage assez mature avec plein de qualités. Sans compter que de base je déteste les trucs « tendance » qui n’ont de qualité que d’être « hype » à un moment avant de disparaitre définitivement.
Bon ce n’est pas mon premier langage, j’ai commencé en PHP (plus pratiqué depuis longtemps) pour faire actuellement du Java EE. Le fait est que d’apprendre de nouvelles choses peut faire grandir même si cela peut rebuter clairement au premier abord. Et puis après tout il faut quand même se poser les bonnes questions. Faire du nouveau pour le nouveau ou se perfectionner dans ce qu’on ne maitrise finalement jamais complètement ?
Bref, pour le moment je ne sais pas trop encore quelle sera ma décision et le fait est que beaucoup beaucoup de paramètres rentrent en jeu. Pour l’instant je survole pas mal de documentation python.
La lecture du matin :
- http://www.siteduzero.com/informatique/tutoriels/apprenez-a-programmer-en-python
- http://stackoverflow.com/questions/156230/python-dependency-injection-framework
- http://wiki.openihs.org/PEP_8_fran%C3%A7ais#Introduction
- https://docs.djangoproject.com/en/1.5/intro/overview/
Premières impressions
Attention avis purement perso et surement influencé par le premier contact. Il est donc susceptible d’évoluer.
Donc, impressions assez mitigées je l’avoue. La façon de coder, de nommer et de mettre en place les mécanismes me semble assez particulière (cela dit c’est nouveau donc résistance au changement etc).
Par exemple, la façon de faire de l’objet me déplait un peu et me semble quelque peu en mode « a la bonne franquette ». Au hasard, pas d’interface et à la place un héritage multiple. Ne parlons pas du typage dynamique des conventions de nommage disparates qui ont tendance à me faire faire des grimaces.
De plus, le coté bloc d’instruction avec espaces pourquoi pas mais j’ai l’impression de faire du COBOL sur MVS avec ça (attention les x premières colonnes sont réservées @_+). Dans un langage, le fait que des caractères « non visibles » ou positionnels comme l’espace ou la tab aient du sens à la compilation me dérange toujours.
Par contre je reconnais que le langage est sans doute très puissant, très pratique et portable. A première vue j’en ferai un compagnon idéal pour faire des programmes systèmes bien plus qu’un script ou php-cli.
Coté web les choses ne sont pas franchement roses non plus. Niveau framework c’est bien simple il n’y a globalement que Django qui soit de taille et de maturité critique (il a l’air sympa aussi). Il y a quelques autres choses à gauche et à droite mais qui à première vue ne méritent pas trop le détour. Quand on vient du monde PHP ou Java où l’on est habitué à devoir faire le choix entre pas mal de solutions reconnues et matures ça donne un arrière gout bizarre dans la bouche. Du coup la question naturelle se pose est-ce que python est un bon choix pour le web ?
En conclusion mon avis n’est donc pas très tranché mais il est clair que je suis loin d’avoir des étoiles dans les yeux. A la limite j’aurais presque envie de faire du Java EE 7 pour ce fameux projet mais je reconnais volontier que tout ce que cela implique est tout de même très lourd pour un petit projet web. Mais bon, d’un coté me passer de pouvoir faire des choix de composants excitant comme CDI, Arquilian, Selenium, OpenEJB, JPA et j’en passe me donne une impression de sacrifice. Sacrifice pourquoi pas mais dans quel but ?
10 raisons pour lesquelles je suis toujours marié à Python | Sam & Max: Python, Django, Git et du cul
C’est une chance d’avoir un métier qu’on aime. Et l’avantage, c’est qu’on se sent l’énergie d’essayer plein de choses. J’ai codé (à plus ou moins grande échelle) en de nombreux langages : VB, C, C#, Java, Ruby, PHP, Javascript, Lisp, Bash, Erlang, SQL et leurs dérivés (langages générateurs, surcouches, etc).
Et j’en ai apprécié beaucoup. Ils m’ont fait découvrir des choses, on fait de moi un meilleur professionnel. Et m’ont donné des tas de perspectives sur mon métier, sur la résolution de certains problèmes, sur la philosophie de dev…
Je continue à utiliser d’autres langages au quotidien pour divers tâches, j’ai remarqué qu’un marteau était beaucoup plus pratique qu’un tourne-vis pour enfoncer des clous, mais quand j’ai le choix, je reviens toujours à Python.
Et en voici les raisons.
via 10 raisons pour lesquelles je suis toujours marié à Python | Sam & Max: Python, Django, Git et du cul.
J’avoue que j’en suis arrivé à la croisée des chemins. J’ai pratiqué PHP il y a longtemps. Je pratique aujourd’hui Java. Je ne parle pas des autres langages dont la pratique a été trop brève.
Il y a du bon et du mauvais dans les deux. Aujourd’hui je me pose la question de faire un new projet et la question du langage se pose. Je suis bien tenté de tester python mais j’avoue qu’apprendre un new langage me plait moyen… En même temps ça ne peut pas me faire de mal…