Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 16/11/2007, à 15:59

aleph

Re : quel language pour un debutant motive!

> Martopioche

> PC + apareillage = LabView non ?

Pas nécessairement, LabView, vee ou quelque chose d'autre. Mon intention n'était pas de montrer la supériorité d'un vb (dans cet exemple), mais juste de signaler qu'un produit qu'il soit propriétaire, Open Source ou GPL, peu importe, peut toujours être utile à quelqu'un malgré qu'un million d'autres le trouve mauvais.

Cela est vrai pour les applications, les os ou les langages de programmation. C'est tout. Et c'est ce que la majorité des intervenants n'est pas capable de faire ou n'a pas assez de recul et/ou d'expérience pour le faire. Chacun défend son pré carré.

>  2 exemple de mon vécu :...

Ben oui, mais ce ne sont que des exemples.

---

> manatlan

> Mais python est surtout TRES SIMPLE d'accès (contrairement à ruby),

Cf remarque précédente. Python oui, c'est bien, même excellent, mais pourquoi *clairement* Python ?

> Mais python est surtout TRES SIMPLE...

Il paraît, il n'empêche que sur ce forum j'en n'ai pas vu beaucoup qui comprennent fondamentalement son fonctionnement.  Comme quoi, rien n'est simple.

Je suis un grand utilisateur de ce langage (et même plus), je ne le qualifierais pas de simple, mais plutôt d'élégant.
Si je le conseille ou conseillerais, ce n'est pas pour ses propriétés intrinsèques mais parce que Python (comme Ruby d'ailleurs) dispose d'une interface interactive qui rend un apprentissage amusant.

#27 Le 16/11/2007, à 16:25

manatlan

Re : quel language pour un debutant motive!

pluviotor a écrit :

J'avoue que je comprend pas que Python prend place par rapport à java, puisqu'il est libre.

C'est uniquement un problème médiatique, et une histoire de gros sous (Python est plus vieux que java d'ailleurs).
(je ne pense pas que ça soit due aux différences typages statiques/typages dynamiques)

Tu es une entreprise, sans aucune culture informatique. Tu dois choisir ton language de dev, tu as le choix entre
- java, avec la grande entreprise qu'est SUN derrière
- python, développé par un illuminé (monthy python fan, qui se fait appelé BDFL (benevol dictator for life)), qui fonctionne de manière communautaire avec un système de validation via les PEP.

tu choisis, comme ton "voisin/concurrent" a choisi : java (modulo le fait que .net se fait entendre de plus en plus, et attendre un peu ;-)

Cependant sun a dépensé beaucoup beaucoup d'argent en mediatisation de java ... ils ont réussé à faire passer leur message, à le faire connaître rapidement !
Python : 0 sous, 0 pubs ...

pluviotor a écrit :

Heu, c'est quoi un langage plus multi-plate forme que multi plate-forme?

En fait, tu retrouves une implémentation de python sur beaucoup plus de plateformes que java. (même feu le commodore 64 possède une implémentation de python)
J'avais une liste des os/machine où python tournait, par rapport à la jvm, et il y a clairement pas photo ! Cependant, ça doit tenir plus du côté "sources ouvertes et disponibles, qui facilite amplement le portage sur un autre matos ...
Ce qui était impossible pour java (closed source) jadis ... cependant, un java sous c64, j'en doute encore ...

pluviotor a écrit :

J'avoue, j'insiste mais j'essaye de faire changer certains d'avis sur ce langage, comme je le fais avec mes collègues qui sont 100% barré .net (sous windows).

Malheuresuement, je ne fais que du c#/.net au boulot ... et je prefererai faire du JAVA, (uniquement pk GPL now ! donc plus en adéquation avec mes convictions)
Cependant, comme on dit, C# c'est du java++, ils ont repompé énormément de choses, et ont amélioré, et eviter tous les petites défauts de java ... Avec le concept de la CLR en plus.
Je ne lance pas un troll ... je prefererai, moi même, faire du java quand même !

Cependant je trouve ça aussi lourd que .net. Comme en java, le premier lancement d'une appliquette de 100ko va être super long, le temps de monter en mémoire la machine virtuelle. (après ça boost : on est d'accord)

pluviotor a écrit :

Car des applications comme SweetHome3D (faite par un de mes mentors!) ou HomePlayer sont des applications qui sont loin d'être ridicule et qui tourne sous notre environnement préféré non?

Argh ... oui mais homeplayer est vraiment un très mauvais exemple ...
J'ai toujours eu une aversion pas possible contre ce programme (qu'il m'est arrivé d'utiliser).
C'est incroyablement lourd pour le peu que c'est censé apporté ...
ça descend toute la JVM et tout TOMCAT/apache ... pour servir une page par minute à 1 client : 1 freebox ... C'est complètement démesuré ! Et ça me choque énormément.
C'est donner du lard au cochon. Si encore c'était pour piloter 10000 à 20000 freebox avec un serveur : why not ... mais pour 1 seule : c'est démesurer !
Tomcat pour 1 client freeplayer : non !

Si l'intiateur du projet est partie avec tomcat, je pense que c'est uniquement pk il maitrisait tomcat ... Car je suppute qu'en java, tu dois quand même pouvoir te faire un serveur web qui arrive à répondre 1page/min à un client (en python, avec les libs de base de python : c'est 10 lignes de code : grand max !)


pluviotor a écrit :

Ca se fait des générateurs de code python?

il y en a ... mais ce qu'il faut se poser à quoi sert un générateur ?
En a t on besoin en python ?!
En moyenne, on écrit la même chose en python qu'en java/c# avec 5à10x moins de ligne de code, tout en restant lisible evidemment.
java et c# necessite beaucoup plus de syntaxe, mais également beaucoup de typage et de transtypage.
Fabriquer un iterator (ou appeler une méthode dynamiquement)  en c#/java, prendra au bas mot 10 lignes, quand en python, ça se fait en une ...
Alors tu prendra plus de temps à saisir ton uml dans un outil et à faire générer les classes, qu'à les coder directement. (en passant outre le coté pratique que de voir ses classes en diagramme uml. Cependant en python, y a un outil qui prends le code python et le transforme en uml, c'est déjà plus bluffant, et pratique pour entrer dans un code)

python a une syntaxe simplissime et limpide, qui te permet, quand tu developpes, de te concentrer sur l'algo que tu veux implémenter. Ave c#/java, dans un ide ou non, tu es sans cesse obligé de tenir compte en plus de la syntaxe "ai-je bien mis le ';' ?", "ai je bien fermé les crochets ?", "ai je bien déclarer cet entier en int ?", etc ...
ça c'est vraiment qqchose de flagrant ... et ce n'est pas une question d'habitude.
Je fais du c#/dot.net depuis qques années maintenant, sous vs, mon esprit est en permanence perturbé par ces détails synatxiques ....
En python, j'écris comme je pense ... ou je pense comme j'écris .... bref, ça "fit my brain"

(svp : pas de trolls language dynamique / statique)


"Oui, oui."
                -- Shakespeare (Richard III, Acte I, Scène IV)

Hors ligne

#28 Le 16/11/2007, à 17:36

manatlan

Re : quel language pour un debutant motive!

aleph a écrit :

> Mais python est surtout TRES SIMPLE d'accès (contrairement à  ruby),
Cf remarque précédente. Python oui, c'est bien, même excellent, mais pourquoi *clairement* Python ?

Sans dire qu'ubuntu n'existerait pas sans python, car Mark S., son géniteur, est devenue riche pk il a vendu, au bon moment, son système de certificat à  thawte, réalisé en python.
C'est un grand fan de python, qu'il pratique encore. Beaucoup d'outils tournant autour de la distrib sont naturellement fait en python ...

Ce que je voulais dire, c'est que la distrib est out-of-the-box, utilisable en python ...
java, gcc et ruby ne sont pas installés par défaut ... mono est "proprio" (et plus difficile d'accès) ...

aleph a écrit :

> Mais python est surtout TRES SIMPLE...

Il paraà®t, il n'empêche que sur ce forum j'en n'ai pas vu beaucoup qui comprennent fondamentalement son fonctionnement.  Comme quoi, rien n'est simple.

Je suis un grand utilisateur de ce langage (et même plus), je ne le qualifierais pas de simple, mais plutà´t d'élégant.

j'aime bien élégant ... mais je persiste à  dire "simple", car son langage se rapproche vraiment de l'algorithmie classique.
Son paradigme qui consiste à  dire "there must be only one way to do this", en pronnant l'explicite plutà´t que l'implicite  et son système d'indentation  sont de très bonnes choses : La lecture du code, la reprise du code de qqu'un d'autre, la maintenance, sans trouve énormément facilité ... c'est un énorme plus, et ça contribur à  la "simplicité" (à  l'élégance aussi)

Là , c'est le contraire de ruby, o๠l'on peut écrire la même chose de différentes manières (qui laisse, on est d'accord, plus de liberté aux programmeurs) introduit forcément une complexité, que je trouve non necessaire ... (en ruby, il y a également, beaucoup de syntaxe cabalistique (pas clair au 1er abord), qui complexifie la lecture du code)

aleph a écrit :

Si je le conseille ou conseillerais, ce n'est pas pour ses propriétés intrinsèques mais parce que Python (comme Ruby d'ailleurs) dispose d'une interface interactive qui rend un apprentissage amusant.

C'est un petit plus ... que peuvent se permettre des langages dynamiques.
(mais c'est vrai que personnellement, je n'utilise plus trop cette interactivité, du coup je ne m'en rends pas compte)


"Oui, oui."
                -- Shakespeare (Richard III, Acte I, Scène IV)

Hors ligne

#29 Le 16/11/2007, à 19:54

aleph

Re : quel language pour un debutant motive!

> manatlan (à propos de l'interpréteur interactif - Python)

> C'est un petit plus ... que peuvent se permettre des langages dynamiques.
(mais c'est vrai que personnellement, je n'utilise plus trop cette interactivité, du coup je ne m'en rends pas compte)

Ne sous-estime pas la puissance de l'interpréteur interactif. Exemples illustrant ceci.

1) http://mail.python.org/pipermail/python-3000/2007-November.txt

2)   

img2hj0.png

3) Traçage de données via un interpréteur interactif http://spinecho.ifrance.com/psi.html (module psiplot)

#30 Le 17/11/2007, à 00:01

pluviotor

Re : quel language pour un debutant motive!

@aleph merci de m'avoir répondu  très précisement et d'en avoir pris le temps wink

- python 1990, java 1995 je m'incline.
- Pour la médiatisation qu'on en fait, dès le début c'était à  mes oreilles d'étudiant "oui  mais c'est interprété". Pour python, de nos jours linux en est bourré, je trouve donc que python est plus médiatisé en environnement Linux. Pour .net, billou a  le monde informatique dans la poche... C'est pas trop complexe à  lire hélas. Voilà  pourquoi tu fais du .net à  ton taff ( ah les decideurs)...   

- Pour le multi-plate forme, commodore64 c'est sympa comme référence. big_smile
Mon téléphone portable comme la plupart des téléphones possède une machine virtuelle java. tu peux surveiller les téléchargements d'amule avec (faut être un sacré geek quand même lol).

Malheuresuement, je ne fais que du c#/.net au boulot ... et je prefererai faire du JAVA, (uniquement pk GPL now ! donc plus en adéquation avec mes convictions)
Cependant, comme on dit, C# c'est du java++, ils ont repompé énormément de choses, et ont amélioré, et eviter tous les petites défauts de java ... Avec le concept de la CLR en plus.

- La CLR c'est la machine virtuelle de .net. la jvm celle de java. L'original est mieux que la copie, elle tourne sous notre distrib (en kde gnome).
Je t'accorderai que Java fut un peu très compliquer à  une époque (pour les grosses applis d'entreprise) avec les ejb (entity) ca a en a dégouter plus d'un. Mais celà  était très inovant rien n'existait de tel en concurence. tellemnt innovante qu'aujourd'hui .Net en a fait de même en simplifiant la notion. Le concept est déjà  devenu trop simple avec Java depuis J2EE 1.4 (hier).
Fais nous plutà´t du Java sans licence de riche que du .net wink!

- HomePlayer le peu que ca peut t'apporter? bah ca te lis tes vidéos Pc sur ta freebox tout de même.  Tomcat c'est pas ce qui va te bouffer tout ton cpu. Faut arrêter, c'est pas si lourd que ça. Dans le concept en effet tu as besoin de mettre un serveur web. 
(les 1ere versions de homeplayer étaient très légères maintenant avec les thèmes..). 
-Pas de critiques sur sweethome3D (j'aime mieux ça! wink)

-

à  quoi sert un générateur de code?

je suis très orienté orm (object relationnal mapping)  et mda comme garçon.
http://www.omg.org/mda/
Bah par le biais d'UML, ca me sert à  gérer une base de données le code qui va avec, par le biais d'hibernate (orm). De rendre une base relationelle en base objet.
Le but peut aller jusqu'à  générer une interface avec.
De me justifier à  mon boss qu'il s'est planter sur une association/agrégation d'un contenant et d'un contenu. L' association/agrégation est la notion que je trouve la plus abstraite à  faire de tête (avant de coder et après pour s'y retouver lorque l'on en a plein) il faut toujours que je les notent sur papier.
En principe, on fait plutà´t l'inverse (en Mda) on définit d'abord ce qu'on fait (en uml) on génére ensuite (pas de reverse enginering) afin de tout le repercuter sur la base qui suit derrière.

Pour Uml et mda on est loin de petite application perso je te l'accorde. wink
Mais c'est bien de penser que "petite application ira loin" et qu'on a le support derrière
et de plus normalisé.

Je pense que ca fait longtemps que tu as touché à  du java, car pour ce qui est de faire 10 lignes pour réaliser une itération je suis curieux de voir comment tu t'y prends.

Pour python, je trouve vraiment pas ca lisible non plus. Quand on à  fait du c , la syntaxe de java est très ressemblante. Sauf quand on manipule de l'objet. Puisqu'en en c, l'objet n'existe pas.

Dernière modification par pluviotor (Le 17/11/2007, à 00:02)

Hors ligne