Mon langage de prédilection est le Python.
Avantages :
- Syntaxe claire et lisible.
- Convention d'écriture (PEP8) largement diffusés et utilisés par les pythonistas.
- Bibliothèque standard riche.
- Des bibliothèques third-party très nombreuses, et qui touchent à tout les domaines.
- Langage polyvalent (web, logiciel, script, etc...).
- Une aide disponible en nombre sur internet, en particulier sur stackoverflow.
- Plusieurs paliers dans l'apprentissage, c'est toujours agréable de découvrir de nouvelles choses même après plusieurs années.
- Possibilité de coupler avec du C de manière facile (ctypes, cython, cpython, etc...)
- Par défaut dans les distributions linux.
Inconvénients :
- La documentation officielle manque d'exemples, et n'est pas très intuitif si l'on ne sait pas vraiment ce que l'on recherche/si on débute.
- Version 3 qui oblige à revoir les codes écrit en 2.7, et coexistance entre les deux.
- Autant est abondamment utilisés sous Linux, autant est totalement absent de l'esprit Windows.
- La communauté francophone est assez petite.
- Peu utilisé en France et bien plus difficile de trouver un job en rapport.
- En utilisant ce langage, on a souvent la mauvaise habitude de réécrire from scratch beaucoup de petites chose, alors qu'il suffirait d'aller fouiller sur le net pour trouver une bibliothèque qui répond déjà au besoin de manière simple (personnellement, ça m'est encore arrivé la semaine dernière, et au moins deux fois de plus les trois derniers mois...).
- La communauté se traine une réputation de sale élitiste croquant du noob. À titre personnel, je ne l'ai jamais ressenti, essayant d'accompagner au maximum mon entourage qui s'y mettait, mais c'est quelque chose que l'on m'a souvent dit/qui est souvent reproché sur le net.
Pas évident d'être objectif face au langage que l'on apprécie le plus.
Un autre inconvénient auquel je viens de penser. Peut-être pas le langage le plus adapté pour de gros projets impliquant plusieurs dizaines de personnes. J'ai toujours travaillé dans des petites structures avec une poignée de développeurs, et je ne connais pas la réalité dans les SSII ou les grosses sociétés, mais à priori, je me demande si il n'est pas plus sûr de prendre un langage plus rigoureux comme le java.
Quels projets réalisez-vous avec et pourquoi ?
Concernant les projets. Au niveau professionnel, je l'utilise pour créer toutes sortes de fichiers (html, livre numérique, pdf, etc...) à partir de données en xml+BDD, programmes graphique pour faciliter la vie des non-programmeurs dans des tâches répétitive, serveur http simple utilisé uniquement en interne, etc..
Au niveau personnel, j'ai principalement réalisé quelques petits jeux avec le binding sfml, et de nombreux scripts pour me faciliter la vie.
J'ai choisi le python niveau professionnel car c'est celui avec lequel j'ai le plus de facilité (le nombre d'année de pratique aidant), et qui est un des plus compréhensible par des non développeurs python et donc maintenable avec un minimum de pratique (pour une petite structure, pour des projets qui ne dépassent pas les 10K lignes). Et aussi, le fait qu'il soit facile de l'interfacer avec du C ouvre des perspectives intéressante comme un binding python -> php (hélas, coté C en php est un peu plus compliqué).
Vers quels autres langages pensez-vous évoluer dans le futur ?
Le Javascript, que j'utilise souvent mais sans le connaitre réellement. Le C aussi, que je maitrise en surface mais sans être un power-user. En tout cas, c'est les deux vers lesquels je vais me former de manière intensive dans un futur proche.
Comment vous êtes-vous formé, ou avez-vous été formé sur ce langage ?
D'abord en auto-didacte avec le livre de Gérard Swinnen disponible sur ce site, il y a quelques années maintenant. Puis, les cours à l'université, qui m'ont beaucoup appris (en particulier sur la rigueur et sur des points de vue théorique que j'applique quotidiennement, bien que ce que j'ai appris soit applicable à n'importe quel langage).
Est-ce une utilisation amateur ou professionnelle ?
Les deux.
Avez-vous fait votre choix pour raison professionnelle, par plaisir, par choix personnel ?
Par plaisir avant tout. Toutes les technologies que j'apprends est orienté vers le plaisir que j'ai avec elle. Même si cela aboutit à des compromis (en particulier, plus de difficultés à trouver un job. Et encore, je ne tape pas dans le trop exotique...).
Quels outils vous utilisez (Editeur, EDI, etc.) ?
L'IDE spyder, et tout ces outils intégrés (pylint, pdb, etc...)
[B]Autres langages utilisés, pourquoi ? Dans quel cadre ? Et comparaisons ?[B]
Javascript, C, php, xslt, bash au niveau professionnel. Difficile de comparer, car ces langages ont tous des visées différentes. Sauf peut-être le php, mais je n'aime pas ce langage, et je ne comparais pas car je ne serais pas objectif, et je n'aime pas troller dans le vide (je comprend que beaucoup de personne aime ce langage).
Sur quels systèmes ou plateformes vous travaillez (Windows, DotNET, Linux, etc.) ?
Exclusivement Linux. Les programmes que je réalise sont en partie à destination de Windows, mais je travaille uniquement sous Linux (en particulier debian).
4 |
0 |