Python élu meilleur langage 2011
Par les lecteurs du linuxjournal

Le , par afranck64, Membre éprouvé
Pour la troisième fois d affilé, Python a été élu meilleur langage par les nombreux lecteurs du linuxjournal. Il continue de dominer bien que cette année, il aura été talonné d'à peine 6% par son ainé, C++.

sources : readers-choice-2011 - linuxjournal

- Partagez vous cet Avis?
- Quel est d après vous le langage qui devrait cette année être au sommet du podium?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Jiyuu Jiyuu - Rédacteur/Modérateur http://www.developpez.com
le 12/12/2011 à 11:55
Citation Envoyé par afranck64  Voir le message
Et que la déclaration des blocs par indentation oblige à faire du code propre (aux antipodes de ce que je croise actuellement au boulot)

C'est l'une des choses qui me plait beaucoup chez Python. J'ai essayé à plusieurs reprises Java et C++, mais il faut bien avouer une chose... C'est souvent illisible comme code.

En plus (pour ma part) Java et C++ c'est l'art et la manière de rajouter des trucs qui servent à rien... Corrigez moi si je me trompe mais, fût un temps du moins, :

Code java : Sélectionner tout
String s="treyhgtrfdre";
Code python : Sélectionner tout
s="treyhgtrfdre"

Et je parle pas de tout le reste... ça sur 10 000 lignes de codes, ça fait mal aux yeux

Cela n'empêche que dès que je trouverai 5min, je me lancerai dans le C++ uniquement pour découvrir Qt (qui a permis PyQt et PySide et qui reste pour moi les meilleures biblio Python, voir même des langages à part entière puisque avec, un tas d'autres biblio deviennent inutiles, mais là je m’égare ^^ ) dans son environnement natal.
Avatar de Robin56 Robin56 - Responsable Java http://www.developpez.com
le 12/12/2011 à 12:05
Citation Envoyé par cegDv  Voir le message
C'est l'une des choses qui me plait beaucoup chez Python. J'ai essayé à plusieurs reprises Java et C++, mais il faut bien avouer une chose... C'est souvent illisible comme code.

Désormais, les formatters de code (au moins au sein d'Eclipse) font que ces soucis d'indentation ne font plus légions. L'IDE les gère automatiquement à chaque sauvegarde.

Citation Envoyé par cegDv  Voir le message
En plus (pour ma part) Java et C++ c'est l'art et la manière de rajouter des trucs qui servent à rien... Corrigez moi si je me trompe mais, fût un temps du moins, :

Code java : Sélectionner tout
String s="treyhgtrfdre";
Code python : Sélectionner tout
s="treyhgtrfdre"

C'est pas la même philosophie. Un java-iste veut la plupart du temps savoir le typage de ses variables là où (si je ne me trompe pas) Python le fait dynamiquement. Alors autant la philosophie de typage dynamique fera hurler les développeurs Java. Autant la philosophie de typage statique fera hurler les développeurs Python.

En tout cas dans toute la discussion nous nous focalisons uniquement sur la structuration de Python via l'indentation. Même si c'est le plus visible, je ne pense pas que ce soit le seul argument en faveur du Python (surtout avec des IDE qui font le boulot maintenant).
Avatar de _skip _skip - Expert éminent http://www.developpez.com
le 12/12/2011 à 12:07
Citation Envoyé par DevTroglodyte  Voir le message
Disons que de mon point de vue, définir les variables, type statiquement, ça me permet de savoir où je vais et d'avoir des classes bien carrées.


+1
J'ai toujours été fort partisan du typage statique. Pour plusieurs raisons :

1) Quand j'écris une fonction J'aime dire "je veux qu'on me passe des pommes, pas des poires", même si en me passant des poires ça fonctionne.
2) Les types sont pour moi une forme de documentation et un filet de sécurité contre la mauvaise utilisation d'un code.
3) Le typage donne plus facilement lieu à de l'optimisation runtime (dans le cas de JIT par exemple) et permet des fonctionnalités IDE plus avancées (analyse, complétion, refactoring).

Et il faut avouer que les exemples que j'ai croisé quand lors de ma brève incursion dans le python m'ont pas mal choqué (des listes contenant des trucs de types divers et variés )


C'est le risque... cependant c'est un débat sans fin de savoir si une feature qui pourrait potentiellement donner lieu à de mauvaises utilisations devrait être interdite ou non.
Je suis d'avis qu'il est surtout important, à travers le typage, de pouvoir éviter ou détecter plus facilement les fautes "involontaires". Les erreurs de conceptions quant à elles sont du ressort du développeur et peu importe les barrières qu'on y met, il y aura toujours des façons de faire du n'importe quoi.
Avatar de Paul TOTH Paul TOTH - Expert éminent sénior http://www.developpez.com
le 12/12/2011 à 12:46
Citation Envoyé par Robin56  Voir le message
Désormais, les formatters de code (au moins au sein d'Eclipse) font que ces soucis d'indentation ne font plus légions. L'IDE les gère automatiquement à chaque sauvegarde.

C'est pas la même philosophie. Un java-iste veut la plupart du temps savoir le typage de ses variables là où (si je ne me trompe pas) Python le fait dynamiquement. Alors autant la philosophie de typage dynamique fera hurler les développeurs Java. Autant la philosophie de typage statique fera hurler les développeurs Python.

En tout cas dans toute la discussion nous nous focalisons uniquement sur la structuration de Python via l'indentation. Même si c'est le plus visible, je ne pense pas que ce soit le seul argument en faveur du Python (surtout avec des IDE qui font le boulot maintenant).

j'ai parlé indentation car j'ai en tout et pour tout écrit 2 scripts Python et quand je dis écris...j'ai surtout recopier et compris des scripts existants

parlons donc d'une seconde chose...j'ai utilisé Python dans le cadre du binding UNO d'OpenOffice...ben c'est écrit clairement que pour que ça marche il faut utiliser le Python de Ooo... c'est assez dommage quand on veux pouvoir dialoguer avec un Ooo distant de devoir installer un Ooo local
Avatar de afranck64 afranck64 - Membre éprouvé http://www.developpez.com
le 12/12/2011 à 18:15
Les renforts sont arrivés
Flinguez-me les tous
Avatar de Robin56 Robin56 - Responsable Java http://www.developpez.com
le 12/12/2011 à 19:44
Citation Envoyé par Paul TOTH  Voir le message
j'ai parlé indentation car j'ai en tout et pour tout écrit 2 scripts Python et quand je dis écris...j'ai surtout recopier et compris des scripts existants

Oui oui et c'est comme moi durant mes études. Ma remarque s'adressait plutôt aux "connaisseurs" de Python qui sont heureux de la place de Python comme "meilleur langage" sur ce sondage. Je suis curieux et j'espérais qu'il me donne les raisons du pourquoi (autre que l'indentation et le typage dynamique) ?

Citation Envoyé par afranck64
Les renforts sont arrivés
Flinguez-me les tous

Euh.. tu peux développer ?
Avatar de afranck64 afranck64 - Membre éprouvé http://www.developpez.com
le 12/12/2011 à 20:45
Citation Envoyé par Robin56  Voir le message
Oui oui et c'est comme moi durant mes études. Ma remarque s'adressait plutôt aux "connaisseurs" de Python qui sont heureux de la place de Python comme "meilleur langage" sur ce sondage. Je suis curieux et j'espérais qu'il me donne les raisons du pourquoi (autre que l'indentation et le typage dynamique) ?

Je ne sais même plus d où vient le fait que l on papote autant à propos de l indention.
-1: Les commandes de base Python, sont plus explicites que celles des autres langages.
&& vs and
|| vs or
! vs not

-2: C est vrai que ca vaut aussi pour C/Cpp mais. Essayez de formatter le réel 12.2545345 à l affichage en 12.2545 en Java

-3: C est bohneur de n avoir plus à créer/supprimer les objets crées "dynamiquement" (J en viendrai même à dire que ce terme est utilisé abusivement par les autres langages )

-4: La standard lib est vraiment bien foutue et ne manque pas de documentaton.

-5: Je suis encore nostalgique de ma première GUI montée en Python, en moins de 5 lignes. En C/Cpp, je me souviens juste de tas de constantes qui me donnaient le tourni.

-6: pour plus tard
Avatar de Robin56 Robin56 - Responsable Java http://www.developpez.com
le 13/12/2011 à 0:34
Citation Envoyé par afranck64  Voir le message
-3: C est bohneur de n avoir plus à créer/supprimer les objets crées "dynamiquement" (J en viendrai même à dire que ce terme est utilisé abusivement par les autres langages )

Comment ça ?
Avatar de Paul TOTH Paul TOTH - Expert éminent sénior http://www.developpez.com
le 13/12/2011 à 5:05
Citation Envoyé par afranck64  Voir le message
Je ne sais même plus d où vient le fait que l on papote autant à propos de l indention.
-1: Les commandes de base Python, sont plus explicites que celles des autres langages.

comme en Pascal alors ?
Citation Envoyé par afranck64  Voir le message
-2: C est vrai que ca vaut aussi pour C/Cpp mais. Essayez de formatter le réel 12.2545345 à l affichage en 12.2545 en Java

-3: C est bohneur de n avoir plus à créer/supprimer les objets crées "dynamiquement" (J en viendrai même à dire que ce terme est utilisé abusivement par les autres langages )

comme les composants Delphi instanciés automatiquement lors du chargement du GUI et libérés de même. (bien que ce ne soit pas le cas des classes en général)
Citation Envoyé par afranck64  Voir le message
-4: La standard lib est vraiment bien foutue et ne manque pas de documentaton.

-5: Je suis encore nostalgique de ma première GUI montée en Python, en moins de 5 lignes. En C/Cpp, je me souviens juste de tas de constantes qui me donnaient le tourni.

Sous Delphi tu n'aurais pas utilisé la moindre ligne de code
Citation Envoyé par afranck64  Voir le message
-6: pour plus tard

Avatar de Jon Shannow Jon Shannow - Membre expert http://www.developpez.com
le 13/12/2011 à 8:33
@Paul TOTH > C'est vrai que le Pascal et son extension visual Delphi est un langage génial.

Pour moi, c'est le meilleur langage que j'ai utilisé, et que, hélas, je n'utilise plus beaucoup.
Avatar de DevTroglodyte DevTroglodyte - Membre éclairé http://www.developpez.com
le 13/12/2011 à 12:02
Citation Envoyé par afranck64  Voir le message
-1: Les commandes de base Python, sont plus explicites que celles des autres langages.

Un peu léger là. Et puis bon, l'avantage de la "norme" que tu trouves non explicite, c'est d'être commune a la plupart des langages utilisés. C'est vrai que c'est pas super clair au premier regard, mais on s'y habitue vie.

-2: C est vrai que ca vaut aussi pour C/Cpp mais. Essayez de formatter le réel 12.2545345 à l affichage en 12.2545 en Java

Mouais. C'est un peu particulier comme exemple, hein

-3: C est bohneur de n avoir plus à créer/supprimer les objets crées "dynamiquement" (J en viendrai même à dire que ce terme est utilisé abusivement par les autres langages )

Hein ?

-4: La standard lib est vraiment bien foutue et ne manque pas de documentaton.

Il est vrai que les lib java (et la javadoc), ainsi que le framework .net sont assez pauvres...
Offres d'emploi IT
Consultant technique éditeur logiciel h/f
Florian Mantione Institut - Languedoc Roussillon - Montpellier (34000)
H/F Développeur logiciel expérimenté
Index Education - Provence Alpes Côte d'Azur - Marseille (13000)
Développeur web php H/F
Cabinet Valexane - Rhône Alpes - Valence (26000)

Voir plus d'offres Voir la carte des offres IT
Responsables bénévoles de la rubrique Pascal : Gilles Vasseur - Alcatîz -