Journal : Python et les décideurs
Posté par Gilles G. () le 20 novembre 2007
Bonjour à tous,
je suis actuellement en train de pousser dans ma boite pour pouvoir développer en Python (au lieu de Java).
Les bonnes raisons pour utiliser Python sont:
* c'est simple
* c'est rapide à développer
* c'est flexible
* c'est vraiment simple...
* j'aime bien Python
Les deux gros obstacles que je rencontre dans mon argumentation sont:
* java saymieux (sans arguments c'est plus facile)
* Python c'est pas fiable puisque c'est dynamique
* on trouve facilement des développeurs Java alors que personne connait Python
* Python c'est lent
(Vous pouvez d'ailleurs constater que même des gens qui ne connaissent quasiment pas Python sont capable de troller comme des malades)
Je sais répondre calmement et de manière argumentée à la plupart des trolls (c'est dur de trouver un développeur Python??)
J'imagine que je ne suis pas le premier qui se retrouve face à ce genre d'argumentation sans trop de fondements, et je commence à avoir envie de troller à mon tour dans l'autre sens.
Je suis donc à la recherche de trolls (sauvages et poilus) sur Java-et-ses-potes histoire de lutter à armes égales avec mes adversaires...
Merci d'avance!
PS: si vous avez des vrais arguments, ça m'intéresse aussi.
je suis actuellement en train de pousser dans ma boite pour pouvoir développer en Python (au lieu de Java).
Les bonnes raisons pour utiliser Python sont:
* c'est simple
* c'est rapide à développer
* c'est flexible
* c'est vraiment simple...
* j'aime bien Python
Les deux gros obstacles que je rencontre dans mon argumentation sont:
* java saymieux (sans arguments c'est plus facile)
* Python c'est pas fiable puisque c'est dynamique
* on trouve facilement des développeurs Java alors que personne connait Python
* Python c'est lent
(Vous pouvez d'ailleurs constater que même des gens qui ne connaissent quasiment pas Python sont capable de troller comme des malades)
Je sais répondre calmement et de manière argumentée à la plupart des trolls (c'est dur de trouver un développeur Python??)
J'imagine que je ne suis pas le premier qui se retrouve face à ce genre d'argumentation sans trop de fondements, et je commence à avoir envie de troller à mon tour dans l'autre sens.
Je suis donc à la recherche de trolls (sauvages et poilus) sur Java-et-ses-potes histoire de lutter à armes égales avec mes adversaires...
Merci d'avance!
PS: si vous avez des vrais arguments, ça m'intéresse aussi.
> Lire le journal (70 commentaires, moyenne: 3,3).
Vous avez demandé le commentaire #883612.



Java
Je dirais qu'une des forces de Java, c'est que c'est un langage pour mauvais programmeurs. C'est suffisamment rigide et complet pour que les dégâts causés par les mauvais programmeurs soient réduits. Des langages plus souples donnent tellement de liberté et permettent tellement de manières de programmer qu'il faut plus de discipline et de compétence pour produire du bon code qui va correctement s'interfacer avec le code de ses coéquipiers.
Étant donné qu'employer uniquement des bons programmeurs coûte cher, et qu'il est assez difficile de s'assurer de la compétence de ses employés, je pense qu'utiliser Java est un choix cohérent. Ça va coûter plus cher en temps et en personnel, mais tu as un minimum de garantie que le code soit ré-exploitable et que ta main d'oeuvre est interchangeable.
Maintenant, si tu veux les convaincre de choisir ton langage dynamique favori, il faut surtout leur montrer qu'on peut obtenir la même chose. Je ne connais pas Python alors je parle pour Ruby: un argument peut-être que le dynamisme du langage incite à utiliser son framework de tests. En rédigeant correctement ses tests unitaires et fonctionnels, on obtient souvent une meilleure qualité de code que lorsque l'on fait trop confiance à un compilateur dont les capacités sont limitées. Ruby rend l'écriture de tests très facile. (Je ne connais pas le framework de tests de Java, mais il me semble qu'il a bonne réputation aussi.)
[^]Re: Java
Mouhahaha ca me fait bien marrer de lire des inepties comme ça !
Java c'est un langage pour les programeurs qui ont un peu d'humilité et qui aiment pouvoir modifier leur code 1 an après sans que ca plante de partout parce qu'ils ont oublié de changer un nom de méthode à un endroit.
Aussi bon programmeur sois tu, l'erreur est humaine ... ou alors il faut voir ce que tu appelles bon programmeur, si pour toi c'est quelqu'un qui passe son temps à faire le boulot d'un compilateur ...
[^]Re: Java
J'aime bien troller sur les différences entre les langages, mais j'avoue manquer un peu de temps, alors j'ai triché, je viens de chercher sur Google "java bad programmers", et j'ai trouvé ça qui résume une partie de ce que je voulais dire:
http://home.pacbell.net/s-max/scott/re-java.html
Avec en particulier la conclusion:
Bien sûr, ce n'est qu'une partie du problème, et je ne suis pas sûr que la comparaison avec le C++ soit la meilleure chose à faire...
Un bon programmeur, c'est quelqu'un qui sait quand il est opportun d'utiliser une fonctionnalité avancée d'un langage, parce que ça rend le code plus élégant et plus facile à maintenir. Un mauvais programmeur, c'est quelqu'un qui n'a pas une idée très claire de ce qu'il fait, et qui choisit donc la manière de le faire un peu au hasard parmis toutes celles qu'il connait ou trouve sur le net.
Conséquence de cette définition, il vaut mieux limiter les possibilités du mauvais programmeur. Si tu lui donnes la possibilité de faire de l'héritage multiple, de surcharger les opérateurs ou, pire, de faire de la métaprogrammation, il risque de s'en servir à tort et à travers et de produire du code difficile à maintenir (et faux).
[^]Re: Java
Faut arrêter, un bon programmeur c'est quelqu'un qui à de l'expérience dans son langage de prédilection, qui a su retirer quelque choses de ses erreurs passées.... C'est tout.
Un mauvais programmeur, c'est un débutant. En Java, t'as donc de bon programmeurs et des mauvais. En C/C++, idem.
[^]Re: Java
Évidemment, un bon programmeur a de l'expérience, et l'expérience s'acquiert en faisant des erreurs. Mais je pense que lier ça à un langage de prédilection est une erreur. J'aurais plus confiance dans quelqu'un qui a une expérience moyenne dans plusieurs langages sensiblement différents que dans une personne qui ne code que dans un seul.
Je n'ai pas l'impression d'avoir dit quelque chose impliquant que les développeurs Java étaient tous mauvais. J'ai dit que le langage était conçu pour de mauvais programmeurs. Ça n'empêche pas les bons programmeurs de s'en servir.
[^]Re: Java
Je ne relèverais pas la phrase sur Java comme étant un langage pour mauvais programmeurs.
Par contre, effectivement, je confirme que Java dispose d'un framework de tests unitaires efficaces, JUnit ... Quoique de plus normal, vous allez me répondre, puisque celui-ci est le portage dans Java du premier framework de tests unitaire qui se trouve être SUnit (un framework de tests unitaires Smalltalk).
[^]Re: Java
Il fallait peut-être lire "Java est un *bon* language pour mauvais programmeurs".
Comme ça Pierre Tramo ne te sautera pas dessus...
[^]Re: Java
En suivant ta logique PHP serait un langage pour les dieux de la programmation. :)