Python : pour ou contre ?

A

Anonyme

Invité
Bonjour

Python est-il un langage simple pour des élèves débutants ? Je n'ai pas trouvé de tutos simples pour débuter sur mac. Auriez vous un livre à conseiller ?

Merci

Albert
 
Je n'ai que très peu fait du python, il semble être un langage hybride entre le script et l'objet. C'est un langage qui est sans nul doute très bien mais j'ai du mal à accroché à sa syntaxe particulière qui le rend difficile à lire et donc pas facile à la compréhension du code d'autrui quand les fichiers commence à être nombreux et les fonctions un peu longues. Maintenant je ne penses pas que dans les langages sur diffusés comme C/C++, Java, Python et consort il y ait un langage mieux ou moins bon pour l'apprentissage, le tout est de savoir quelle philosophie du développement on souhaite acquérir. :p :D :D
 
[Vezøul]Numerø41;5246905 a dit:
Je n'ai que très peu fait du python, il semble être un langage hybride entre le script et l'objet. C'est un langage qui est sans nul doute très bien mais j'ai du mal à accroché à sa syntaxe particulière qui le rend difficile à lire et donc pas facile à la compréhension du code d'autrui quand les fichiers commence à être nombreux et les fonctions un peu longues. Maintenant je ne penses pas que dans les langages sur diffusés comme C/C++, Java, Python et consort il y ait un langage mieux ou moins bon pour l'apprentissage, le tout est de savoir quelle philosophie du développement on souhaite acquérir. :p :D :D

Il fait partie de la liste des logiciels conseillés par l'éducation nationale : nous devons enseigner l'algorithmique en secondes. Mais que choisir ?
Albert
 
L'algorithmique c'est de la théorie suivant un style de programmation bien particulier (script/procédural/objet/logique/bas niveau/et bien d'autres philosophies), nul besoin d'un langage particulier mais je suppose qu'il y aura des TP qui suivront donc il te faut prendre un langage sera à l'image de ta théorie. Je pense que le python est conseillé parce que comme je l'ai dit, pour le peu que j'en ait fait cela semble un langage à la philosophie un peu hybride ou plutôt offrant différentes vision dans le développement. :p :D :D
 

Merci mais rien pour mac dans tout ceci.

Ca commence comme ça :
Tapez le caractère EOF (Control-D sur Unix, Control-Z sur DOS ou Windows) à l'invite (prompt) principale pour quitter l'interpréteur avec un code de retour de zéro. Si ça ne marche pas, vous pouvez quitter l'interpréteur en tapant les commandes suivantes: "import sys; sys.exit()".

mais sous Mac ?
Albert

---------- Nouveau message ajouté à 12h39 ---------- Le message précédent a été envoyé à 12h37 ----------

[Vezøul]Numerø41;5246958 a dit:
L'algorithmique c'est de la théorie suivant un style de programmation bien particulier (script/procédural/objet/logique/bas niveau/et bien d'autres philosophies), nul besoin d'un langage particulier mais je suppose qu'il y aura des TP qui suivront donc il te faut prendre un langage sera à l'image de ta théorie. Je pense que le python est conseillé parce que comme je l'ai dit, pour le peu que j'en ait fait cela semble un langage à la philosophie un peu hybride ou plutôt offrant différentes vision dans le développement. :p :D :D

Merci. Il me reste à trouver un tuto pour Mac ou un livre.
Albert
 
Merci mais rien pour mac dans tout ceci

Ben en fouillant un peu les liens que je t'ai donnés, tu finiras peut-être par trouver un tuto pour Mac. Et puis de toute façon, les tutos de programmation sont souvent prévus pour Windows ou Linux. Bref faut être un peu démerde, ce qui me paraît bien si tu veux apprendre à programmer, non? ;)
 
Ben en fouillant un peu les liens que je t'ai donnés, tu finiras peut-être par trouver un tuto pour Mac. Et puis de toute façon, les tutos de programmation sont souvent prévus pour Windows ou Linux. Bref faut être un peu démerde, ce qui me paraît bien si tu veux apprendre à programmer, non? ;)

Je sais programmer. Je demande un avis sur Python. Et surtout comment démarrer : je ne comprends rien ! Quoi installer ? Comment exécuter ?
Mais je cherche pour mac, c'est pourquoi j'ai posé la question ici
Albert
 
Je sais programmer. Je demande un avis sur Python. Et surtout comment démarrer : je ne comprends rien ! Quoi installer ? Comment exécuter ?
Mais je cherche pour mac, c'est pourquoi j'ai posé la question ici
Albert
On a inventé Google : "python mac osx" te donne en 2 seconde ceci (un peu vieux mais à mon avis toujours valable) ou encore cela. :zen:
Ensuite à ton terminal et au boulot :rateau:

Et comme dit plus haut "Bref faut être un peu démerde" :rateau:
 
[Vezøul]Numerø41;5246958 a dit:
L'algorithmique c'est de la théorie suivant un style de programmation bien particulier (script/procédural/objet/logique/bas niveau/et bien d'autres philosophies), nul besoin d'un langage particulier mais je suppose qu'il y aura des TP qui suivront donc il te faut prendre un langage sera à l'image de ta théorie. Je pense que le python est conseillé parce que comme je l'ai dit, pour le peu que j'en ait fait cela semble un langage à la philosophie un peu hybride ou plutôt offrant différentes vision dans le développement. :p :D :D

Bonsoir

Bon, j'ai creusé un peu : ça ne me semble pas l'idéal pour commencer l'algorithmique avec des élèves de secondes.
Je me trompe ?
Albert
 
Bah ils demandent quoi précisément l'éducation nationale ? Parce que je dirais bien que le plus facile c'est l'algorithmique procédurale mais bon, après le langage tu en as pas mal comme le pascal ou le C mais concernant le C avec ses structures et ses pointeurs ce n'est peut-être pas le plus aisé mais il y a toujours moyen de faire des TP assez simples en C sans en arriver à ce genre de complications pour un débutant même si le pointeur devient vite la base du développeur. :p :D :D
 
Au lycée j'avais fais du Pascal moi, la syntaxe est un peu verbeuse, mais ça peut aussi être un plus pour la lisibilité du code. Enfin je te cache pas que vu la façon dont c'était enseigné, en turbopascal sous dos, j'en ai pas que des bons souvenirs, sous Delphi j'aurais peut-être plus accroché, et puis on a aussi la logique de pointeurs qui me parait pas forcément facile à aborder pour des lycéens, quand on voit que certains développeurs l'ont toujours pas assimilée…*:-/
Si on veut éviter ça, il reste les langages de script, qui pour beaucoup n'ont pas une syntaxe évidente (à part les langages du web, genre php, …), ou le Java. J'aurais tendance à pencher pour ce dernier, d'autant que la syntaxe est un peu plus conventionnelle.
Y'a quoi dans la liste conseillée par l'enseignement nationale ? Et c'est quel genre d'algorithmique ? Quels objectifs ? Le but c'est de comprendre un peu comment marche la machine ? Ou au contraire de s'abstraire le plus possible du langage pour se concentrer sur l'algo et pas perdre de temps avec les aspects plus techniques ?
 
Salut.

Si on veut éviter ça, il reste les langages de script, qui pour beaucoup n'ont pas une syntaxe évidente (à part les langages du web, genre php, …), ou le Java. J'aurais tendance à pencher pour ce dernier, d'autant que la syntaxe est un peu plus conventionnelle
Le Java, je suis pas certain... La programmation orienté objet c'est pas forcément le plus simple pour commencer. Je pense également que le procédurale est un peu moins abstrait pour commencer.

J'ai également fait du Pascal au lycée, j'en ai pas un souvenir déplaisant.

On a fait pas mal de macro en VB sous excel aussi. Je sais, c'est pas folichon mais au moins, ça pourra toujours resservir (pas besoin de bosser dans l'informatique pour croiser une feuille de calcul Excel dans le monde professionnel).

Sinon, l'ADA, c'est rigoureux, un bon langage pour l'apprentissage.

@+
iota
 
Je partage ton avis sur le Java et surtout l'objet pour commencer l'algorithmique. Par contre l'Ada est un bon langage, j'ai bien aimé, disons qu'il est plus compréhensible que le Prolog, mais avec l'Ada dans mes souvenir s'il est assez procédural, il reste un langage assez orienté Logique. :p :D :D
 
[Vezøul]Numerø41;5247674 a dit:
Je partage ton avis sur le Java et surtout l'objet pour commencer l'algorithmique. Par contre l'Ada est un bon langage, j'ai bien aimé, disons qu'il est plus compréhensible que le Prolog, mais avec l'Ada dans mes souvenir s'il est assez procédural, il reste un langage assez orienté Logique. :p :D :D
Le prolog compliqué ?! Dans son utilisation oui, parce que c'est une logique un peu particulière, mais au contraire ça s'apprend super vite, d'un point de vu algo justement c'est hyper intéressant. C'est vraiment un truc que j'ai bien aimé.
 
Bonsoir

Bon, j'ai creusé un peu : ça ne me semble pas l'idéal pour commencer l'algorithmique avec des élèves de secondes.
Je me trompe ?
Albert

je fesais deja du basic a cet age, mais n'importe quel language fait l'affaire pour poser les bases de l'algo, regarde du coter de Ruby ou de Perl si tu veux, mais bon, tu auras toujours des gens qui n'y arriveront jamais meme en t'ennervant des heures, quel est ton objectif? la base de l'algo c'est les maths pas besoin d'un language de programmation pour ca Huffman ou Turing n'ont pas utilisé de language de programmation pour creer leur algos, tu pourrais aussi utiliser OCaml qui serait somme toute la chose la plus proche "de la syntaxe/logique mathematique" et la plus approriée pour transcrire un algo en language de programmation.

si je voulais enseigner les bases de l'algo j'utiliserais en premier un "simple jeux d'echec" pas un ordinateur, apprend a tes eleves a jouer aux echecs.
 
Pour des élèves de seconde commencer avec du Java ou du Perl c'est un peu Hard non ? :mouais:
A la limite faire un peu de Turing, oui... Le but étant d'accrocher une majorité d'élèves je pense que le Turing peut permettre cela oui ;)... Après le Pascal aussi, mais je dirais à la limite plus Première, Terminal... :)
 
Python est un bon choix pour enseigner les bases de la programmation:
- double approche procédural/objet => Bien pour enseigner les bases de l'algorithmique avant de s'attaquer à du lourd.
- pas de déclarations => il n'existe qu'une poignée de types de données
- langage interprété => pas de phase de compilation, et s'arrête sur la ligne qui bloque à son exécution.
- introspection => déboguer sans apprendre à se servir d'un débogueur.
- messages d'erreurs compréhensibles.

J'ai surtout programmé Python sous Windows, mais le développement sur Mac n'a rien de particulier. Par contre, tu vas sans doute vouloir utiliser un éditeur de texte comme Smultron plutôt que vi.
Tu peux tout faire sous le terminal, même lancer Smultron:
Bloc de code:
smultron monprogramme.py
python monprogramme.py

Il faut quand même être clair, ce n'est pas pendant quelques ateliers de deux heures que les élèves vont construire de gros programmes.
 
Pour Turing je suis d'accord, c'est une théorie de base. Par contre le jeu d'échec à mon sens c'est plus orienté vers de l'heuristique qu'une simple machine à état et là on commence à toucher à du plus complexe.

Comme je l'ai dit je n'ai que peut touché à python mais son approche me semblait bien hybride comme expliqué par Céroce, par contre question lisibilité avec son système de tabulation je le trouve un peu rude mais bon tout langage a sa syntaxe et parfois ses petits désagréments.

PS: prolog j'ai bien aimé mais quand on s'y met à un certains niveau, il y a quelques concepts qui sont moins faciles à appréhender qu'en Ada, enfin moi c'est ce qui m'a semblé. :p :D :D