OVH Cloud OVH Cloud

Qui êtes-vous ? Que faites-vous ?

105 réponses
Avatar
Pierre
Salut à tous,

Je me présente, utilisateur Windows et développeur occasionnel en VB
pour le boulot, principalement pour réaliser des interfaces utilisateur
avec des systèmes d’acquisition de mesures physiques ou des commandes de
machines. Pourquoi VB ? Pour rester dans la continuité de ce qui avait
déjà été réalisé auparavant, tout simplement, le choix ne s'est jamais posé.
Actuellement, je cherche à évoluer dans un autre langage et à essayer
d’intégrer de plus en plus Linux, que se soit pour une utilisation
personnelle ou professionnelle.

Renseignements pris, Python me semble être un langage en vogue et promis
à un bel avenir !
Je n’ai malheureusement pas trouvé (je n’ai peut être pas bien cherché)
beaucoup d’exemples d’applications écrites en Python. Pouvez-vous m’en
citer ?
J’aurais également désiré connaître votre profil de programmeur ? D’où
venez-vous, pourquoi et pour quelles tâches utilisez-vous Pyhton ?
Utilisez-vous un environnement de développement tel que Boa ?

Merci,
Pierre.

10 réponses

1 2 3 4 5
Avatar
jean-michel bain-cornu
Bonjour,
Si tu dois te mettre a un nouveau langage, je te conseillerais plutot
Ruby, beaucoup plus expressif et mieux documente que Python. Perl est
tres bien aussi, meme si il ne dispose pas d'un framework de
developpement web reconnu (non, pas CGI.pm !). A mon avis, Python est
puissant mais son manque d'expressivite (certains diront la simplicite
de sa syntaxe) fait qu'il n'est pas evident a lire et donc a maintenir.
J'avoue que je ne comprends pas cette remarque, ayant toujours eu du mal

à comprendre quelque chose à un script perl. AMHA, python est beaucoup
plus clair.
Que des parenthese et des points, ca n'aide pas a s'y retrouver, sans
parler de ces choix malheureux d'absence de marqueur de fin de bloc et
d'identation forcee.
C'est tout le contraire ! Qu'est-ce que c'est pénible d'avoir à

délimiter des blocs, et de ne pas s'y retrouver dans des programmes qui
n'ont pas correctement été indentés ! La structure d'un script python
restera toujours lisible, quelle que soit la négligence du programmeur.
Enfin le mieux reste d'essayer ces trois langages a
peu pres equivalents en terme de fonctionnalites et d'adopter celui qui
te plait le mieux.
Ruby dispose-t-il d'autant de modules que python ?


Avatar
Laurent Pointal
Pierre wrote:
Renseignements pris, Python me semble être un langage en vogue et promis
à un bel avenir !


Si tu dois te mettre a un nouveau langage, je te conseillerais plutot
Ruby, beaucoup plus expressif et mieux documente que Python. Perl est
tres bien aussi, meme si il ne dispose pas d'un framework de
developpement web reconnu (non, pas CGI.pm !). A mon avis, Python est
puissant mais son manque d'expressivite (certains diront la simplicite
de sa syntaxe) fait qu'il n'est pas evident a lire et donc a maintenir.
Que des parenthese et des points, ca n'aide pas a s'y retrouver, sans
parler de ces choix malheureux d'absence de marqueur de fin de bloc et
d'identation forcee. Enfin le mieux reste d'essayer ces trois langages a
peu pres equivalents en terme de fonctionnalites et d'adopter celui qui
te plait le mieux.


Ah, les goûts et les couleurs... et les arguments basés dessus.

Hé bien moi la définition des blocs d'instruction par l'indentation
c'est une des choses qui m'ont fait aimer Python: on voit tout de suite
la portée d'un bloc, pas besoin d'aller chercher l'accollade (d'ailleurs
j'indentais déjà comme ça mes sources C/C++). Et on est obligé de la
respecter pour que le programme tourne.

De plus, quand j'ai eu un choix à faire c'est (entre autres) la trop
grande expressivité de Perl qui a fait que je m'en suis détourné. Ca
permet trop à des développeurs d'écrire des choses illisibles
(attention, je ne dis pas que tous le font, mais que c'est nettement
plus courant qu'en Python).
Et pour Ruby, pour moi il est arrivé trop tard (déjà mes habitudes en
Python, et déjà trouvé tout plein de modules pour faire ce dont j'ai
besoin). Et en plus... il a repris en partie l'idée des syntaxes abscons
de Perl.


http://www.python.org/doc/Humor.html#zen
The Zen of Python (by Tim Peters)

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!


Bon, je stoppe le troll ici, si Pierre a fait son choix c'est qu'il a
déjà dû regarder les différentes options possibles, ce qui est déjà
utilisé dans son domaine (hors VB)...


Avatar
bruno.desthuilliers
On 14 fév, 04:04, Alex Marandon
wrote:
Pierre wrote:
Renseignements pris, Python me semble être un langage en vogue et pro mis
à un bel avenir !


Si tu dois te mettre a un nouveau langage, je te conseillerais plutot
Ruby, beaucoup plus expressif et mieux documente que Python.


Heu... C'est un troll ? Bon, tant pis, je marche dedans...

En ce qui concerne le "mieux documenté", la dernière fois que j'ai ét é
jeter un oeil, c'était très loin d'être le cas.

Perl est
tres bien aussi,


Pour des scripts d'admin, peut-être. Pour du développement applicatif,
curieusement, on voit beaucoup de développeur Perl venir à Python...
Il y a probablement une raison.

meme si il ne dispose pas d'un framework de
developpement web reconnu (non, pas CGI.pm !). A mon avis, Python est
puissant mais son manque d'expressivite


Tiens, c'est curieux, l'expressivité est justement un des
qualificatifs généralement associés à Python.

(certains diront la simplicite
de sa syntaxe) fait qu'il n'est pas evident a lire et donc a maintenir.


Tiens, c'est curieux, la lisibilité est justement un des qualificatifs
généralement associés à Python. Entre autres par les développeurs
Perl !-)

Accessoirement, s'il est vrai que sur certains points, Ruby est plus
"expressif" que Python, c'est justement au détriment de la lisibilité.
Par exemple, en Ruby, en l'absence d'un return explicite, c'est la
valeur de la dernière expression évaluée qui est retournée. En Pyth on,
il faut préciser explicitement la valeur de retour. Personnellement,
je trouve la seconde solution plus lisible...

Que des parenthese et des points, ca n'aide pas a s'y retrouver,


Oui, c'est vrai qu'en Ruby, les $ et les @ *en plus*, ça aide un
maximum. Hem...

sans
parler de ces choix malheureux d'absence de marqueur de fin de bloc


Mais si, il y a des marqueurs de fin de block. Sinon, comment pourrait-
il y avoir des blocks ?

et
d'identation forcee.


Certains préfère des règles de nommage forcées...

Honnêtement, là, on est dans le subjectif le plus total. Un des
avantages de l'indentation significative est qu'il n'y pas de
gueguerre à ce sujet... Idem d'ailleurs pour les conventions de
nommage en Ruby AMHA, dont je regrette parfois qu'elles ne soient pas
adoptées en Python.

Enfin le mieux reste d'essayer ces trois langages a
peu pres equivalents en terme de fonctionnalites et d'adopter celui qui
te plait le mieux.


En termes de "fonctionnalités", Ruby et Python sont effectivement très
proches. Ruby est globalement plus élégant, mais souvent au détriment
de la lisibilité. En termes de qualité d'implémentation, de
bibliothèques disponibles, et de taille de la communauté, Python a
clairement l'avantage de l'ancienneté.

En bref : Ruby est certes un langage intéressant, et je comprends
parfaitement qu'on le préfère à Python. Mais de là à dire des con tre-
vérités et demi-vérités pour le vendre, il y a un pas que je ne me
permettrait pas de franchir.

Accessoirement, je commence à en avoir un peu marre de l'agressivité
de certains adeptes de Ruby vis à vis de Python, et des conneries
qu'on peut trouver dans leur discours. En aucun cas je ne me
permettrais d'intervenir sur un ng Ruby pour casser Ruby et conseiller
Python à la place. A bon entendeur, salut.


Avatar
Pierre
Whaaa, quel enthousiasme et que d’applications !
Avant de me décider je désirais savoir qui étaient les utilisateurs
programmeurs et leurs applications.
Là c’est tout bon, je suis convaincu…
Je télécharge, j’imprime et lis le livre disponible là :
http://www.cifen.ulg.ac.be/inforef/swi/python.htm

Merci,
Pierre.
Avatar
Rakotomandimby (R12y) Mihamina
wrote:

Accessoirement, je commence à en avoir un peu marre de l'agressivité
de certains adeptes de Ruby vis à vis de Python, et des conneries
qu'on peut trouver dans leur discours. En aucun cas je ne me
permettrais d'intervenir sur un ng Ruby pour casser Ruby et conseiller
Python à la place. A bon entendeur, salut.


En meme temps, un groupe n'est pas forcément dédié à l'entraide technique.
Et les débats, enflammés ou pas, peuvent faire avancer certaines choses.
Personnellement, de ma petite expérience, Ocaml est aussi à prendre en
considération dans ce genre de débats.
Enfin, tu parlais de "l'avantage de l'ancienneté" de Python par rapport à
Ruby, mais je pense qu'il n'est pas très fondé dans la mesure ou justement
Perl est plus ancien et plus fréquenté, ça n'en fait pas forcément un
langage plus recommandé.

Avatar
hg
Alex Marandon wrote:

Oui c'est vrai que Perl reste de loin le mieux documente.



Y'a pas le choix !!! quand je rentre en France, je vais lire les
hyeroglyphes place de la concorde just pour me rappeler que j'aime pas PERL

hg

Avatar
BertrandB

Seul problème que je vis c'est quand derrière un "if" j'oublie de réduire
l'indentation:

if ceci:
cela
et cela


#pas assez de café
pas cela
Bizarrement autant l'indentation m'a emb... avec OCCAM autant avec

Python je n'ai jamais été géné. Mais je comprends que ça change.

Avatar
Alex Marandon
jean-michel bain-cornu wrote:>
La structure d'un script python restera toujours lisible, quelle que soit
la négligence du programmeur.


Si cette affirmation semble theoriquement tenir debout, la pratique
montre que ce n'est pas malheureusement pas le cas, le programmeur
negligent prendra en effet soin d'alterner entre espaces et tabulations
et fera varier le nombre de ces espaces et tabulations au fil de son code.

Avatar
Bruno Desthuilliers
wrote:


Ruby est globalement plus élégant



"no flame"

Que veux-tu dire ?


C'est bien sûr subjectif... Essentiellement, je pensais à ce que
permettent les blocks, ainsi qu'aux symboles et à quelques autres
détails syntaxiques, qui rendent certaines constructions moins
"pataudes" qu'en Python. Mais aussi - toujours AMHA - moins lisibles,
parce que moins explicites.


Avatar
Alex Marandon
wrote:
On 14 fév, 04:04, Alex Marandon
Si tu dois te mettre a un nouveau langage, je te conseillerais plutot
Ruby, beaucoup plus expressif et mieux documente que Python.


Heu... C'est un troll ? Bon, tant pis, je marche dedans...


Bien sur, j'espere que tu ne m'en voudras pas, je souhaitais juste
apporter un peu de sel a la beatitude generale :)

En ce qui concerne le "mieux documenté", la dernière fois que j'ai été
jeter un oeil, c'était très loin d'être le cas.

Perl est
tres bien aussi,



Oui c'est vrai que Perl reste de loin le mieux documente.

Pour des scripts d'admin, peut-être. Pour du développement applicatif,
curieusement, on voit beaucoup de développeur Perl venir à Python...
Il y a probablement une raison.


La hype ?

Tiens, c'est curieux, la lisibilité est justement un des qualificatifs
généralement associés à Python. Entre autres par les développeurs
Perl !-)


Ah les traitres !-)

Oui, c'est vrai qu'en Ruby, les $ et les @ *en plus*, ça aide un
maximum. Hem...


Pas que ca, par exemple voici trois instructions equivalentes, laquelle
est la plus lisible:

o = plop() # Python
o = Plop.new # Ruby
my $o = plop->new; # Perl

Comme tu le faisait remarquer, la regle de nommage de Ruby est utile
ici. D'un autre cote en Perl sous le mode strict, on a un renseignement
sur la portee et l'historique de la variable.

Accessoirement, je commence à en avoir un peu marre de l'agressivité
de certains adeptes de Ruby vis à vis de Python, et des conneries
qu'on peut trouver dans leur discours. En aucun cas je ne me
permettrais d'intervenir sur un ng Ruby pour casser Ruby et conseiller
Python à la place. A bon entendeur, salut.


Desole, c'est vrai que ce n'est pas tres poli. Mais moi ce qui m'ennuie
parfois c'est les adeptes de Python qui disent que c'est le langage
ultime qui fait tout bien, rend le code propre et lisible
automagiquement, etc. Le cote "adepte" est justement particulierement
prononce dans cette communaute, il n'est pas rare de voir des projets
citer "Ecrit en Python !" comme une des qualites remarquables du projet,
certains on meme l'outrecuidance d'ajouter "donc facile a maintenir et a
modifier". Ce n'est pas plus le cas que pour un autre langage. Pour
l'indentation je reste convaincu que ca apporte plus de problemes que ca
n'en evite, meme si ce n'est pas non plus redibitoire.


1 2 3 4 5