Partage
  • Partager sur Facebook
  • Partager sur Twitter

Python ou Perl ?

30 novembre 2005 à 15:59:27

bonjour !

voilà, on m'a conseillé de choisir entre le python et le perl pour débuter dans la programmation mais je ne sait pas lequel choisir ! je pencherais plutot pour le python mais bon... voilà quelques avis de zer0s ne seront pas de refus ! et si vous avez quelques liens d'IDE+compilateur :p

merci !
  • Partager sur Facebook
  • Partager sur Twitter
30 novembre 2005 à 16:05:55

Python
Beaucoup plus Simple
Beaucoup plus performant
Beaucoup plus propre niveau Syntax
comparre un script perl et un script python tu comprendra toute suite :D
et surtout BEAUCOUP plus compact
Python sans hésiter
la syntax du perl est une des pire que j'ai jamais vu
  • Partager sur Facebook
  • Partager sur Twitter
30 novembre 2005 à 16:19:12

pour débuter dans la programmation?

ni l'un ni l'autre

tourne toi vers le JAVA ou delfi et pourquoi pas C
  • Partager sur Facebook
  • Partager sur Twitter
30 novembre 2005 à 17:16:45

Meuh non, le delphi fera parfaitement l'affaire.
  • Partager sur Facebook
  • Partager sur Twitter
30 novembre 2005 à 17:19:21

Le python!

Comme l'a dit Kedare, la syntaxe est très bien. Et c'est plutôt simple, (ça ne veut pas dire que ce n'est pas performant, LOIN de là!) donc très bien pour débuter!

Pour l'IDLE, tu vs sur www.python.org.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
30 novembre 2005 à 18:03:29

"pour débuter dans la programmation?
ni l'un ni l'autre
tourne toi vers le JAVA ou delfi et pourquoi pas C"
-> On aimerait savoir pourquoi (à part parce que ces trois langages sont moins simples et pour au moins l'un d'entre eux plus crade que Python)

Perl : super quand tu sais coder (programmer stautre chose (oui y'en a qui font la distinction), vraiment à éviter quand tu débutes.
-> Python (propre, efficace, t'oblige à bien coder, permet de commencer par un style impératif et de passer peu à peu dans l'objet, tout en restant agréable et avec pas mal de bons modules).

Cours : http://www.ulg.ac.be/cifen/inforef/swi
  • Partager sur Facebook
  • Partager sur Twitter
30 novembre 2005 à 18:07:07

[edit] @rthur > autant pour moi :euh: desolé

Sachez quand même que le PageRank de Google est fait en Python, MusicBrainz est fait en Python, Zope et Plone en Python...
  • Partager sur Facebook
  • Partager sur Twitter
30 novembre 2005 à 18:16:22

Citation : phisto

Citation : @rthur


ça ne veut pas dire que ce n'est pas performant, LOIN de là!


Le Python pas performant ? Tu m'en diras des nouvelles. Le PageRank de Google est fait en Python, MusicBrainz est fait en Python, Zope et Plone en Python...



Heu...Justement, ma phrase veut dire que le python est performant!
  • Partager sur Facebook
  • Partager sur Twitter
30 novembre 2005 à 19:10:55

A choisir, python est un tres bon langage, bien fait et facile a prendre en main. C'est un langage objet, mais on peut ne pas en faire (ce qui est plus facile pour commencer)
le perl c'est un langage obscure :D
choisi python.
je pense que c'estun bon langage pour commencer :)
mais peu etre que le mieux serait pascal :)
  • Partager sur Facebook
  • Partager sur Twitter
30 novembre 2005 à 19:55:09

python n'est surement pas le plus rapide mais il est simple et précis, c'est donc un bon début
Dans le même style les profs conseillent souvent ada car c'est un langage très précis qui force la reflection ... mais comme il est plus dur :p

par contre les trucs genre delphi ou VB donne de très mauvaise habitudes : à éviter absolument

Le C par contre peut aussi faire un bon support mais il est un peu plus complexe que python
  • Partager sur Facebook
  • Partager sur Twitter
30 novembre 2005 à 21:05:52

ok merci pour vos réponses, je vais m'orienter vers le python !
  • Partager sur Facebook
  • Partager sur Twitter
30 novembre 2005 à 21:56:44

<mode Bluestorm on> Sinon y'a aussi l'OCamL <mode bluestorm off>
  • Partager sur Facebook
  • Partager sur Twitter
30 novembre 2005 à 22:13:53

Jme suis fait oun3d, là :D

Mais oui, il y a aussi le Ocaml, qui est mieux que le python selon moi pour commencer.

D'ailleurs, c'est entre autre un peu le successeur du PASCAL, et pierrot_la_lune a cité le PASCAL : tout concorde.
  • Partager sur Facebook
  • Partager sur Twitter
1 décembre 2005 à 0:48:28

Franchement je trouve le python bien plus simple que l'ocaml ... :p
  • Partager sur Facebook
  • Partager sur Twitter
1 décembre 2005 à 7:29:56

Hmmmmmpfff ah oui ?

Tu as des exemples ? Ca m'intéresse hein

(De plus, le ocaml c'est mieux non seulement parce que c'est plus simple (ca a l'air de te faire douter, donc je trouve un autre argument) mais aussi parce que c'est fortement, statiquement typé, parce qu'on peut écrire en fonctionnel, etc...)
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
1 décembre 2005 à 7:34:47

Quel est l'interêt du fonctionnel pour quelqu'un qui va passer au C tôt ou tard (c'est une vraie question).

De manière générale, ça serait bien que *toi* tu nous expliques pourquoi tu aimes oCaml (d'ailleurs à cause de toi et d'un autre fanatique je vais m'y mettre)
  • Partager sur Facebook
  • Partager sur Twitter
1 décembre 2005 à 7:41:19

Faut pas croire que les programmeurs C sont des espèces de codeurs complètement scotchés à leur machine et qui n'ont aucune notion de fonctionnel ou de programmation plus abstraite. :p

D'ailleurs, la plupart des codeurs C utilisent aussi un langage fonctionnel pour le scripting tel que le LISP.
  • Partager sur Facebook
  • Partager sur Twitter
1 décembre 2005 à 12:51:42

Oui le python est bienn plus simple que l'ocalm ca saute toute suite aux yeux , la syntax de l'ocalm est presque aussi horrible que le perl avec leur { } ; qui se ballade partout , le python pas besoin de tout ces truc inutiles
puis je pense pas que ca soit aussi compact que le python pour faire un programme
  • Partager sur Facebook
  • Partager sur Twitter
1 décembre 2005 à 13:09:34

Tu trouves un {} dans un code ocaml, et tu reviens pour me le montrer, ok ?
Le seul exemple de {} que je retrouve rapidement, c'est une syntaxe facultative pour les declarations de fonctions que j'ai jamais vu utilisee autre part que dans une doc bien precise (le manuel camlp4 je crois).
  • Partager sur Facebook
  • Partager sur Twitter
1 décembre 2005 à 16:51:39

Perso je trouve que les {} délimite bien mieux un blocs que rien du tout mais bon.
il suffit de regarder les {} en première collonne et on voit de suite les fonctions
bien sur une bonne indentation est quoi qu'il arrive obligatoire ^^
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
1 décembre 2005 à 17:33:31

...alors autant s'en contenter :)

bluestorm> Tu veux pas répondre ?

rz0> Nan mais (du peux que je viens de lire du fonctionnel en Caml) par exemple pour le coup d'une fonction récursive, c'est beau... mais ça correspond pas du tout à "l'idéologie" du C.
  • Partager sur Facebook
  • Partager sur Twitter
1 décembre 2005 à 20:25:23

---Hors_sujet---
Note aux modérateurs :
Si j'ai créé un topic à troll, voyez-en moi sincèrement désolé... ^^
--/Hors_sujet--
  • Partager sur Facebook
  • Partager sur Twitter
1 décembre 2005 à 20:33:01

Je ne comprends pas pourquoi vous affirmez que pour se lancer dans la programmation, il faut commencer par les langages les plus simples.
Je penses qu'il faut commencer par les langages les plus classiques, les plus représentatifs de la programmation(à savoir, par exemple, le C), même si on ne les approfondis pas trop, en maîtriser un, c'est après acquérir de solides bases pour tous.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
1 décembre 2005 à 20:43:10

Citation : Tyr@el

Je ne comprends pas pourquoi vous affirmez que pour se lancer dans la programmation, il faut commencer par les langages les plus simples.



Mon point de vue n'est pas que Python est simple. Python, comme tous les langages, demande de l'investissement. Et Visual Basic, par exemple, est plus simple.

Mon point de vue est qu'avec un bon tutoriel sur Python, on peut *tout* voir sans problèmes. C'est en effet un langage qui permet la programmation impérative au début puis de passer à l'objet (en respectant *presque* (un peu moins que Ruby à vrai dire) le "tout objet" Smalltalkien), qui dispose de nombreux modules permettant de présenter plusieurs côtés de la programmation, et qui ne prend pas la tête à l'utilisateur (note que je ne dis pas "le programmeur", on parle bien de débutants là) avec des concepts dont la plupart se foutent, comme la mémoire.

Pourquoi cette dernière phrase ? Parce que sur le forum C/C++, couramment, on voit des aberrations en C, des trucs qui sortent complètement de la logique du langage (remarque : pour moi, scanf sort déjà lui-même de la logique du langage :D ). C'est du, de mon point de vue, au fait que les débutants doivent débuter (logique) autant sur le plan "conceptualisation d'un programme" (algorithmie) que sur le plan "écriture du code", EN PLUS en devant apprendre quelques notions compliquées liées au fonctionnement de leur machine. On n'avance à rien comme ça. Python permet d'échapper à tout ça.

Citation

Je penses qu'il faut commencer par les langages les plus classiques, les plus représentatifs de la programmation(à savoir, par exemple, le C), même si on ne les approfondis pas trop, en maîtriser un, c'est après acquérir de solides bases pour tous.



Je pense moi qu'il faut commencer par un aperçu de la programmation pour savoir dans quelle voie on sera le plus à même de se diriger.

Je crois également que le principe est d'y prendre plaisir. Lorsque je m'arrachais les cheveux à savoir pourquoi je faisais un Seg fault, je n'y prenais pas plaisir. J'espère éviter aux autres ce genre de désagrément en leur conseillant un chemin pas trop caillouteux.

Et enfin, je suppose qu'un langage rapidement accessible tel que Python pour présenter des concepts tels les exceptions (blabla, exceptions tout ça, exemple en 5 lignes, tout ça) permet ensuite de passer en "vraie grandeure", en C. Qui a dit qu'il ne fallait apprendre qu'un langage ?
  • Partager sur Facebook
  • Partager sur Twitter
1 décembre 2005 à 21:30:49

Perso, mon problème avec python, c'est le typage qui est hyper ultra méga laxiste sur certains points : quand on peut multiplier des entiers par des listes, il y a un gros problème dans le langage.

L'autre problème, c'est que le python a été fait par un seul mec qui est un peu psychorigide, et qui a des positions un peu de merde parfois.


Pour l'histoire du fonctionnel (désolé, j'étais au bahut, donc j'ai posté en 'coup de vent'), je dirais plusieurs choses :
- 'passer au C', c'est une finalité en soit ?
- la programmation fonctionnelle, c'est avant tout une autre manière de voir les programmes, le code...

Apprendre plusieurs points de vue, c'est à mon avis essentiel en programmation : on est plus efficace en impératif quand on a bien compris la différence entre impératif et fonctionnel, comme on est plus efficace en POO quand on a compris ce qui différencie un objet des struct purement 'variables' ou des 'tas de fonctions'.

De plus, ca permet de coder plus simplement pas mal de choses. Par exemple, tous les gens qui ont écrits des interpreteurs/compilateurs en ocaml ont eu l'air vraiment ravi des facilités du Ocaml dans ce domaine et de la programmation fonctionnelle en général.

Ensuite, la programmation fonctionnelle est beaucoup plus facilement formalisable. Je sais que c'est pas forcément important pour tout le monde, mais moi ca me plait de savoir que la manière dont je code fait qu'on pourrait démontrer que mon programme ne va pas faire d'erreurs, etc...

Ce qui est vraiment bien en ocaml, c'est que tu es extrêment libre sur la manière dont tu veux coder, et que tu peux exploiter les richesses de chaque style, même en les mélangeant si tu le souhaites.
Exemple : tu peux faire un crible d'erathostène en impératif et ensuite faire des manipulations récursives puissantes sur les nombres premiers qui en ressortent.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
1 décembre 2005 à 21:36:55

Wah, je reviens pile au moment où tu postes.

"il y a un gros problème dans le langage. "
-> Nan, c'est juste une surcharge d'opérateur :)

"- 'passer au C', c'est une finalité en soit ? "
-> C'est vrai que non. C'est très crétin de ma part, surtout que j'aime pas le C plus que ça. Oublie.

"Ensuite, la programmation fonctionnelle est beaucoup plus facilement formalisable. Je sais que c'est pas forcément important pour tout le monde, mais moi ca me plait de savoir que la manière dont je code fait qu'on pourrait démontrer que mon programme ne va pas faire d'erreurs, etc... "
-> Si je comprends bien tout, c'est vrai que c'est vrai. Merci déjà pour ça.

"Apprendre plusieurs points de vue, c'est à mon avis essentiel en programmation"
-> Ok (c'est pour ça que je me lance dans Caml).

"comme on est plus efficace en POO quand on a compris ce qui différencie un objet des struct purement 'variables' ou des 'tas de fonctions'. "
-> Voir l'histoire de la surcharge des opérateurs pour les listes et le * ;)


Enfin d'accord, merci pour ton point de vue.
  • Partager sur Facebook
  • Partager sur Twitter
1 décembre 2005 à 22:40:11

La surcharge d'opérateurs, je vois bien ce que c'est. Cependant, tu trouves vraiment qu'il est judicieux de surcharger la multiplication pour qu'elle accepte nativement des listes ?

Je comprends pas comment on peut apprendre ca comme c'est, et ne pas se demander pourquoi on n'a pas le droit d'ajouter des listes et des strings en divisant le tout par des classes.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
2 décembre 2005 à 7:36:08

En partant du principe que ce n'est pas une multiplication de nombres, mais du nombre d'objets dans la liste.

Comme toutes les surcharges d'opérateurs, c'est une simplification d'un truc qui devenait lourd, à force.
  • Partager sur Facebook
  • Partager sur Twitter
24 octobre 2006 à 18:58:01

Tu devrais plutot te concentrer sur la programmation sur Ti mdr!!!Nn pour moi c'est 100% Python
  • Partager sur Facebook
  • Partager sur Twitter
24 octobre 2006 à 20:08:04

Un up d'un an... non merci
  • Partager sur Facebook
  • Partager sur Twitter