Donc je bosse dans un collège, et la saison des subvention permet
d'acheter des poste. Et ceux de PS étant intéressant niveau prix/config,
ce sont ceux qu'on a acheté.
Résultat : Le Mandrake linux Discovery annoncé est en fait un Linpus
Linux, distribution basée Mdk, sur laquelle je n'ai pas réussit à faire
un chti urpmi, ni même à trouver un outil graphique pour maj.
Bref, moi qui espérait un peu là-dessus pour convaincre de faire migrer
la salle info sous linux, pas de pot avec cette config à 2 sous...
Ouais, je sais, on en a pour son argent. Mais quand même...
La fin de l'aventure, totalement HS ici, mais bon, c'est que j'ai tout
viré pour refoutre win98 dessus (et ouais, je sais :-(). Ai pour ça
utilisé une knoppix, et QTParted, en 2 fois (obligation de redémarrer au
milieu), pour pouvoir supprimer les partitions et préparer/formater en
fat32. Et le fin du fin, aucun pilote fourni. Heureusement qu'il y a un
site.
En bref, le prix, 350 l'UC pour 80Go, Celeron D et 512 Mo Ram se justifie.
Je me demandais quel serait le meilleur langage à utiliser pour une initiation à la programmation disons en une trentaine d'heure pour des jeunes de 15 ans, quels sont les concepts qu'on peut raisonnablement faire passer, et quels types d'exercices donner.
Combien d'heures / semaine ?
1 h par semaine.
Contraintes supplémentaires : - programmation objet (pas besoin d'héritage multiple) - typage fort - multi-plateformes (Windows et GNU/Linux éventuellement avec émulateur) - bibliothèque graphique (la même sous les différentes plateformes) - on doit pouvoir programmer sans savoir comment fonctione le compilateur - on doit pouvoir programmer sans savoir comment fonctione le système d'exploitation - on doit pouvoir écrire soi-même un mini gestionnaire d'événements
J'aurai dit Python, comme Michel Talon, mais la contrainte du typage fort l'exclut. Dommage...
-- Richard
Stephane Zuckerman écrivait :
Je me demandais quel serait le meilleur langage à utiliser pour une initiation
à la programmation disons en une trentaine d'heure pour des jeunes de 15 ans,
quels sont les concepts qu'on peut raisonnablement faire passer, et quels types
d'exercices donner.
Combien d'heures / semaine ?
1 h par semaine.
Contraintes supplémentaires :
- programmation objet (pas besoin d'héritage multiple)
- typage fort
- multi-plateformes (Windows et GNU/Linux éventuellement avec émulateur)
- bibliothèque graphique (la même sous les différentes plateformes)
- on doit pouvoir programmer sans savoir comment fonctione le compilateur
- on doit pouvoir programmer sans savoir comment fonctione le système d'exploitation
- on doit pouvoir écrire soi-même un mini gestionnaire d'événements
J'aurai dit Python, comme Michel Talon, mais la contrainte du typage
fort l'exclut. Dommage...
Je me demandais quel serait le meilleur langage à utiliser pour une initiation à la programmation disons en une trentaine d'heure pour des jeunes de 15 ans, quels sont les concepts qu'on peut raisonnablement faire passer, et quels types d'exercices donner.
Combien d'heures / semaine ?
1 h par semaine.
Contraintes supplémentaires : - programmation objet (pas besoin d'héritage multiple) - typage fort - multi-plateformes (Windows et GNU/Linux éventuellement avec émulateur) - bibliothèque graphique (la même sous les différentes plateformes) - on doit pouvoir programmer sans savoir comment fonctione le compilateur - on doit pouvoir programmer sans savoir comment fonctione le système d'exploitation - on doit pouvoir écrire soi-même un mini gestionnaire d'événements
J'aurai dit Python, comme Michel Talon, mais la contrainte du typage fort l'exclut. Dommage...
-- Richard
Stephane TOUGARD
Stephane Zuckerman wrote:
Sans aucun doute python, pour ce genre d'initiation. C'est ce qu'ils utilisent maintenant à Paris 6. Gros avantage on peut faire simple ou compliqué en fonction de la progression. Ultra simple c'est le tutoriel qui vient avec la doc de python, sophistiqué c'est "Dive into python". Ca permet aussi d'apprendre les objets avec un barrage au début moins important que dans Java. C'est plus accessible (à mon humble avis) que ruby, et infiniment moins merdique que perl.
J'ai commencé à apprendre la programmation par moi-même avec Perl. Et je ne m'en porte pas plus $etat.
Nomme des variables avec des $, les tableaux avec des @ et les hash avec des %, c'est plutot tres malin et ca evite bien des probleme. Typage fort a venir avec Perl6 et ca sera parfait.
-- http://www.unices.org Les meilleurs modules de Perl http://www.unices.org/photo/ plus de 250 photos Libres de droits
Stephane Zuckerman wrote:
Sans aucun doute python, pour ce genre d'initiation. C'est ce qu'ils utilisent
maintenant à Paris 6. Gros avantage on peut faire simple ou compliqué en
fonction de la progression. Ultra simple c'est le tutoriel qui vient
avec la doc de python, sophistiqué c'est "Dive into python". Ca permet aussi
d'apprendre les objets avec un barrage au début moins important que dans
Java. C'est plus accessible (à mon humble avis) que ruby, et infiniment moins
merdique que perl.
J'ai commencé à apprendre la programmation par moi-même avec Perl. Et je
ne m'en porte pas plus $etat.
Nomme des variables avec des $, les tableaux avec des @ et les hash avec
des %, c'est plutot tres malin et ca evite bien des probleme. Typage
fort a venir avec Perl6 et ca sera parfait.
--
http://www.unices.org Les meilleurs modules de Perl
http://www.unices.org/photo/ plus de 250 photos Libres de droits
Sans aucun doute python, pour ce genre d'initiation. C'est ce qu'ils utilisent maintenant à Paris 6. Gros avantage on peut faire simple ou compliqué en fonction de la progression. Ultra simple c'est le tutoriel qui vient avec la doc de python, sophistiqué c'est "Dive into python". Ca permet aussi d'apprendre les objets avec un barrage au début moins important que dans Java. C'est plus accessible (à mon humble avis) que ruby, et infiniment moins merdique que perl.
J'ai commencé à apprendre la programmation par moi-même avec Perl. Et je ne m'en porte pas plus $etat.
Nomme des variables avec des $, les tableaux avec des @ et les hash avec des %, c'est plutot tres malin et ca evite bien des probleme. Typage fort a venir avec Perl6 et ca sera parfait.
-- http://www.unices.org Les meilleurs modules de Perl http://www.unices.org/photo/ plus de 250 photos Libres de droits
Jean-Francois BILLAUD
Michel Talon écrivait :
Combien d'heures / semaine ?
1 h par semaine.
Contraintes supplémentaires : - programmation objet (pas besoin d'héritage multiple) - typage fort - multi-plateformes (Windows et GNU/Linux éventuellement avec émulateur) - bibliothèque graphique (la même sous les différentes plateformes) - on doit pouvoir programmer sans savoir comment fonctione le compilateur - on doit pouvoir programmer sans savoir comment fonctione le système d'exploitation - on doit pouvoir écrire soi-même un mini gestionnaire d'événements
Raison de plus, soit python, avec python-QT ou wxpython pour le graphique,
Pour des élèves de seconde http://www.wxpython.org/test7.py.html je me demande ce que ça peut donner.
soit Java. L'avantage de Java est que le graphique vient avec, l'inconvénient est que c'est "objet" dés le départ. Dans les deux cas existent d'excellentes documentations, c'est multiplateforme, etc. Il me semble que 30 heures c'est une durée assez courante pour des premiers cours de Java, et que c'est trés large pour des premiers cours de python
Quand on fait trois petits calculs en fac ça passe. Quand on fait du graphisme il me semble qu'il faut expliquer le gestionnaire d'événements qui est caché derrière.
(évidemment en supposant que les élèves fassent quelque chose à la maison).
J'ai bien peur que passser du temps là-dessus ne soit pas une priorité pour la majorité.
JFB
--
Michel Talon écrivait :
Combien d'heures / semaine ?
1 h par semaine.
Contraintes supplémentaires :
- programmation objet (pas besoin d'héritage multiple)
- typage fort
- multi-plateformes (Windows et GNU/Linux éventuellement avec émulateur)
- bibliothèque graphique (la même sous les différentes plateformes)
- on doit pouvoir programmer sans savoir comment fonctione le compilateur
- on doit pouvoir programmer sans savoir comment fonctione le système d'exploitation
- on doit pouvoir écrire soi-même un mini gestionnaire d'événements
Raison de plus, soit python, avec python-QT ou wxpython pour le graphique,
Pour des élèves de seconde http://www.wxpython.org/test7.py.html
je me demande ce que ça peut donner.
soit Java. L'avantage de Java est que le graphique vient avec, l'inconvénient
est que c'est "objet" dés le départ. Dans les deux cas existent d'excellentes
documentations, c'est multiplateforme, etc. Il me semble que 30 heures c'est
une durée assez courante pour des premiers cours de Java, et que c'est trés
large pour des premiers cours de python
Quand on fait trois petits calculs en fac ça passe.
Quand on fait du graphisme il me semble qu'il faut expliquer le gestionnaire
d'événements qui est caché derrière.
(évidemment en supposant que les élèves fassent quelque chose à la maison).
J'ai bien peur que passser du temps là-dessus ne soit pas une priorité pour
la majorité.
Contraintes supplémentaires : - programmation objet (pas besoin d'héritage multiple) - typage fort - multi-plateformes (Windows et GNU/Linux éventuellement avec émulateur) - bibliothèque graphique (la même sous les différentes plateformes) - on doit pouvoir programmer sans savoir comment fonctione le compilateur - on doit pouvoir programmer sans savoir comment fonctione le système d'exploitation - on doit pouvoir écrire soi-même un mini gestionnaire d'événements
Raison de plus, soit python, avec python-QT ou wxpython pour le graphique,
Pour des élèves de seconde http://www.wxpython.org/test7.py.html je me demande ce que ça peut donner.
soit Java. L'avantage de Java est que le graphique vient avec, l'inconvénient est que c'est "objet" dés le départ. Dans les deux cas existent d'excellentes documentations, c'est multiplateforme, etc. Il me semble que 30 heures c'est une durée assez courante pour des premiers cours de Java, et que c'est trés large pour des premiers cours de python
Quand on fait trois petits calculs en fac ça passe. Quand on fait du graphisme il me semble qu'il faut expliquer le gestionnaire d'événements qui est caché derrière.
(évidemment en supposant que les élèves fassent quelque chose à la maison).
J'ai bien peur que passser du temps là-dessus ne soit pas une priorité pour la majorité.
JFB
--
Stephane Zuckerman
J'ai commencé à apprendre la programmation par moi-même avec Perl. Et je ne m'en porte pas plus $etat.
Nomme des variables avec des $, les tableaux avec des @ et les hash avec des %, c'est plutot tres malin et ca evite bien des probleme. Typage fort a venir avec Perl6 et ca sera parfait.
Oui, mais ils veulent supprimer la distinction $tableau[indice]/@tableau[indice], et je trouve que c'est une bien belle bêtise... :-/ Ca rompt avec la cohérence du langage.
-- "Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce que je veux !" "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers." (Bill Gates, The Road Ahead)
J'ai commencé à apprendre la programmation par moi-même avec Perl. Et je
ne m'en porte pas plus $etat.
Nomme des variables avec des $, les tableaux avec des @ et les hash avec
des %, c'est plutot tres malin et ca evite bien des probleme. Typage
fort a venir avec Perl6 et ca sera parfait.
Oui, mais ils veulent supprimer la distinction
$tableau[indice]/@tableau[indice], et je trouve que c'est une bien belle
bêtise... :-/ Ca rompt avec la cohérence du langage.
--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)
J'ai commencé à apprendre la programmation par moi-même avec Perl. Et je ne m'en porte pas plus $etat.
Nomme des variables avec des $, les tableaux avec des @ et les hash avec des %, c'est plutot tres malin et ca evite bien des probleme. Typage fort a venir avec Perl6 et ca sera parfait.
Oui, mais ils veulent supprimer la distinction $tableau[indice]/@tableau[indice], et je trouve que c'est une bien belle bêtise... :-/ Ca rompt avec la cohérence du langage.
-- "Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce que je veux !" "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers." (Bill Gates, The Road Ahead)
Blaise Potard
Jean-Francois BILLAUD wrote:
1 h par semaine.
Contraintes supplémentaires : - programmation objet (pas besoin d'héritage multiple) - typage fort - multi-plateformes (Windows et GNU/Linux éventuellement avec émulateur) - bibliothèque graphique (la même sous les différentes plateformes) - on doit pouvoir programmer sans savoir comment fonctione le compilateur - on doit pouvoir programmer sans savoir comment fonctione le système d'exploitation - on doit pouvoir écrire soi-même un mini gestionnaire d'événements
Moi j'aurais bien dit Ocaml, qui respecte sans problème toutes ces conditions, et a en plus une syntaxe très agréable, avec des vrais types génériques. Par contre, si c'est pour des secondes, faudra pas oublier de voir la notion de fontions avant, sinon ils risquent d'être un peu perdu.
Jean-Francois BILLAUD wrote:
1 h par semaine.
Contraintes supplémentaires :
- programmation objet (pas besoin d'héritage multiple)
- typage fort
- multi-plateformes (Windows et GNU/Linux éventuellement avec émulateur)
- bibliothèque graphique (la même sous les différentes plateformes)
- on doit pouvoir programmer sans savoir comment fonctione le compilateur
- on doit pouvoir programmer sans savoir comment fonctione le système d'exploitation
- on doit pouvoir écrire soi-même un mini gestionnaire d'événements
Moi j'aurais bien dit Ocaml, qui respecte sans problème toutes ces
conditions, et a en plus une syntaxe très agréable, avec des vrais types
génériques. Par contre, si c'est pour des secondes, faudra pas oublier
de voir la notion de fontions avant, sinon ils risquent d'être un peu
perdu.
Contraintes supplémentaires : - programmation objet (pas besoin d'héritage multiple) - typage fort - multi-plateformes (Windows et GNU/Linux éventuellement avec émulateur) - bibliothèque graphique (la même sous les différentes plateformes) - on doit pouvoir programmer sans savoir comment fonctione le compilateur - on doit pouvoir programmer sans savoir comment fonctione le système d'exploitation - on doit pouvoir écrire soi-même un mini gestionnaire d'événements
Moi j'aurais bien dit Ocaml, qui respecte sans problème toutes ces conditions, et a en plus une syntaxe très agréable, avec des vrais types génériques. Par contre, si c'est pour des secondes, faudra pas oublier de voir la notion de fontions avant, sinon ils risquent d'être un peu perdu.
Stephane Zuckerman
Moi j'aurais bien dit Ocaml, qui respecte sans problème toutes ces conditions, et a en plus une syntaxe très agréable, avec des vrais types génériques. Par contre, si c'est pour des secondes, faudra pas oublier de voir la notion de fontions avant, sinon ils risquent d'être un peu perdu.
Honnêtement, la prog fonctionnelle me semble difficile à aborder pour des personnes sortant du collège.
-- "Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce que je veux !" "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers." (Bill Gates, The Road Ahead)
Moi j'aurais bien dit Ocaml, qui respecte sans problème toutes ces
conditions, et a en plus une syntaxe très agréable, avec des vrais types
génériques. Par contre, si c'est pour des secondes, faudra pas oublier
de voir la notion de fontions avant, sinon ils risquent d'être un peu
perdu.
Honnêtement, la prog fonctionnelle me semble difficile à aborder pour des
personnes sortant du collège.
--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)
Moi j'aurais bien dit Ocaml, qui respecte sans problème toutes ces conditions, et a en plus une syntaxe très agréable, avec des vrais types génériques. Par contre, si c'est pour des secondes, faudra pas oublier de voir la notion de fontions avant, sinon ils risquent d'être un peu perdu.
Honnêtement, la prog fonctionnelle me semble difficile à aborder pour des personnes sortant du collège.
-- "Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce que je veux !" "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers." (Bill Gates, The Road Ahead)
Jean-Francois BILLAUD
Blaise Potard écrivait :
1 h par semaine.
Contraintes supplémentaires : - programmation objet (pas besoin d'héritage multiple) - typage fort - multi-plateformes (Windows et GNU/Linux éventuellement avec émulateur) - bibliothèque graphique (la même sous les différentes plateformes) - on doit pouvoir programmer sans savoir comment fonctione le compilateur - on doit pouvoir programmer sans savoir comment fonctione le système d'exploitation - on doit pouvoir écrire soi-même un mini gestionnaire d'événements
Moi j'aurais bien dit Ocaml, qui respecte sans problème toutes ces conditions, et a en plus une syntaxe très agréable, avec des vrais types génériques.
Ah oui, merci. Je l'avais éliminé il y a quelques années pour des stupides raisons techniques genre difficultés d'installation (du style la bibliothèque graphique qui ne compilait pas).
Je vais regarder ce que ça donne maintenant.
Par contre, si c'est pour des secondes, faudra pas oublier de voir la notion de fontions avant, sinon ils risquent d'être un peu perdu.
On peut faire des choses relativement impératives, et de toute façon il faudra sélectionner sévèrement les concepts à présenter (« Bon, vous rajoutez vos trucs à cet endroit là, je vous expliquerai le reste plus tard. »)
JFB
PS Squeak c'est pas mal non plus : http://www.squeak.org/ mais on va m'accuser de pervertir la jeunesse.
-- You have the capacity to learn from mistakes. You'll learn a lot today.
Blaise Potard écrivait :
1 h par semaine.
Contraintes supplémentaires :
- programmation objet (pas besoin d'héritage multiple)
- typage fort
- multi-plateformes (Windows et GNU/Linux éventuellement avec émulateur)
- bibliothèque graphique (la même sous les différentes plateformes)
- on doit pouvoir programmer sans savoir comment fonctione le compilateur
- on doit pouvoir programmer sans savoir comment fonctione le système
d'exploitation
- on doit pouvoir écrire soi-même un mini gestionnaire d'événements
Moi j'aurais bien dit Ocaml, qui respecte sans problème toutes ces
conditions, et a en plus une syntaxe très agréable, avec des vrais types
génériques.
Ah oui, merci. Je l'avais éliminé il y a quelques années pour des stupides
raisons techniques genre difficultés d'installation (du style la bibliothèque
graphique qui ne compilait pas).
Je vais regarder ce que ça donne maintenant.
Par contre, si c'est pour des secondes, faudra pas oublier de voir la notion
de fontions avant, sinon ils risquent d'être un peu perdu.
On peut faire des choses relativement impératives, et de toute façon il faudra
sélectionner sévèrement les concepts à présenter (« Bon, vous rajoutez vos
trucs à cet endroit là, je vous expliquerai le reste plus tard. »)
JFB
PS Squeak c'est pas mal non plus : http://www.squeak.org/ mais on va m'accuser
de pervertir la jeunesse.
--
You have the capacity to learn from mistakes. You'll learn a lot today.
Contraintes supplémentaires : - programmation objet (pas besoin d'héritage multiple) - typage fort - multi-plateformes (Windows et GNU/Linux éventuellement avec émulateur) - bibliothèque graphique (la même sous les différentes plateformes) - on doit pouvoir programmer sans savoir comment fonctione le compilateur - on doit pouvoir programmer sans savoir comment fonctione le système d'exploitation - on doit pouvoir écrire soi-même un mini gestionnaire d'événements
Moi j'aurais bien dit Ocaml, qui respecte sans problème toutes ces conditions, et a en plus une syntaxe très agréable, avec des vrais types génériques.
Ah oui, merci. Je l'avais éliminé il y a quelques années pour des stupides raisons techniques genre difficultés d'installation (du style la bibliothèque graphique qui ne compilait pas).
Je vais regarder ce que ça donne maintenant.
Par contre, si c'est pour des secondes, faudra pas oublier de voir la notion de fontions avant, sinon ils risquent d'être un peu perdu.
On peut faire des choses relativement impératives, et de toute façon il faudra sélectionner sévèrement les concepts à présenter (« Bon, vous rajoutez vos trucs à cet endroit là, je vous expliquerai le reste plus tard. »)
JFB
PS Squeak c'est pas mal non plus : http://www.squeak.org/ mais on va m'accuser de pervertir la jeunesse.
-- You have the capacity to learn from mistakes. You'll learn a lot today.
remy
Tu lui demandes donc de rajouter le chapitre "threads" à son cours ... ça va être sympa à expliquer ...
ce ne sont que plusieurs bouts de codes qui s'executent de maniere a faire comme s'ils s'executaient en meme temps d'où les notions de noyaux importants
autrement plusieurs obj rectangles dans un tableau ou vecteur et un obj qui lit les valeurs ,couleur , position et qui les dessine
plus eventChangeCouleur(int numObj ,int nouvelCouleur ) ou eventChangeCouleur( Obj Polygonne ,int nouvelCouleur )
addPolygonne(... supPolygonne(...
qui cherche le bon obj et change la couleur puis ne redessine que l'obj tu peux meme faire de l'heritage en mettant un obj triangle, carre, rectangle,polygone
pour la recherche un test sur l'instance et une comparaison des valeurs ou juste une recherche sur un numero d'identite comme le veut le prof dans tous les cas l'on est assez loin de word
aujourd'hui j'ai decide que j'avais raison :-))
-- des conneries j'en ai dites oui oui je vous assure... mais elles n'engagent que votre perception remy
Tu lui demandes donc de rajouter le chapitre "threads" à son cours ... ça
va être sympa à expliquer ...
ce ne sont que plusieurs bouts de codes qui s'executent de maniere a faire
comme s'ils s'executaient en meme temps d'où les notions de noyaux
importants
autrement plusieurs obj rectangles dans un tableau ou vecteur
et un obj qui lit les valeurs ,couleur , position et qui les dessine
plus
eventChangeCouleur(int numObj ,int nouvelCouleur ) ou
eventChangeCouleur( Obj Polygonne ,int nouvelCouleur )
addPolygonne(...
supPolygonne(...
qui cherche le bon obj et change la couleur puis ne redessine que l'obj
tu peux meme faire de l'heritage en mettant un obj triangle,
carre, rectangle,polygone
pour la recherche un test sur l'instance et une comparaison des valeurs
ou juste une recherche sur un numero d'identite comme le veut le prof
dans tous les cas l'on est assez loin de word
aujourd'hui j'ai decide que j'avais raison :-))
--
des conneries j'en ai dites oui oui je vous assure...
mais elles n'engagent que votre perception
remy
Tu lui demandes donc de rajouter le chapitre "threads" à son cours ... ça va être sympa à expliquer ...
ce ne sont que plusieurs bouts de codes qui s'executent de maniere a faire comme s'ils s'executaient en meme temps d'où les notions de noyaux importants
autrement plusieurs obj rectangles dans un tableau ou vecteur et un obj qui lit les valeurs ,couleur , position et qui les dessine
plus eventChangeCouleur(int numObj ,int nouvelCouleur ) ou eventChangeCouleur( Obj Polygonne ,int nouvelCouleur )
addPolygonne(... supPolygonne(...
qui cherche le bon obj et change la couleur puis ne redessine que l'obj tu peux meme faire de l'heritage en mettant un obj triangle, carre, rectangle,polygone
pour la recherche un test sur l'instance et une comparaison des valeurs ou juste une recherche sur un numero d'identite comme le veut le prof dans tous les cas l'on est assez loin de word
aujourd'hui j'ai decide que j'avais raison :-))
-- des conneries j'en ai dites oui oui je vous assure... mais elles n'engagent que votre perception remy
Blaise Potard
Stephane Zuckerman wrote:
Moi j'aurais bien dit Ocaml, qui respecte sans problème toutes ces conditions, et a en plus une syntaxe très agréable, avec des vrais types génériques. Par contre, si c'est pour des secondes, faudra pas oublier de voir la notion de fontions avant, sinon ils risquent d'être un peu perdu.
Honnêtement, la prog fonctionnelle me semble difficile à aborder pour des personnes sortant du collège.
Bien expliqué, je pense que ça peut passer, je dirais même que ça peut être un bon moyen de leur faire assimiler la notion de fonctions. La POO par contre, ça me paraît assez ambitieux.
Stephane Zuckerman wrote:
Moi j'aurais bien dit Ocaml, qui respecte sans problème toutes ces
conditions, et a en plus une syntaxe très agréable, avec des vrais types
génériques. Par contre, si c'est pour des secondes, faudra pas oublier
de voir la notion de fontions avant, sinon ils risquent d'être un peu
perdu.
Honnêtement, la prog fonctionnelle me semble difficile à aborder pour des
personnes sortant du collège.
Bien expliqué, je pense que ça peut passer, je dirais même que ça peut
être un bon moyen de leur faire assimiler la notion de fonctions. La POO
par contre, ça me paraît assez ambitieux.
Moi j'aurais bien dit Ocaml, qui respecte sans problème toutes ces conditions, et a en plus une syntaxe très agréable, avec des vrais types génériques. Par contre, si c'est pour des secondes, faudra pas oublier de voir la notion de fontions avant, sinon ils risquent d'être un peu perdu.
Honnêtement, la prog fonctionnelle me semble difficile à aborder pour des personnes sortant du collège.
Bien expliqué, je pense que ça peut passer, je dirais même que ça peut être un bon moyen de leur faire assimiler la notion de fonctions. La POO par contre, ça me paraît assez ambitieux.
Richard Delorme
Jean-Francois BILLAUD wrote:
1 h par semaine.
Contraintes supplémentaires : - programmation objet (pas besoin d'héritage multiple) - typage fort - multi-plateformes (Windows et GNU/Linux éventuellement avec émulateur) - bibliothèque graphique (la même sous les différentes plateformes) - on doit pouvoir programmer sans savoir comment fonctione le compilateur - on doit pouvoir programmer sans savoir comment fonctione le système d'exploitation - on doit pouvoir écrire soi-même un mini gestionnaire d'événements
Moi j'aurais bien dit Ocaml, qui respecte sans problème toutes ces conditions, et a en plus une syntaxe très agréable,
Personnellement, je ne trouve pas la syntaxe d'Ocaml très lisible. Par exemple, dans ce tri rapide :
(* Tri rapide (quicksort ou tri de Hoare) d'une liste *) let rec qsort = function | [] -> [] | x :: l -> let rec coupelist = function | [] -> [], [] | y :: m -> let a, b = coupelist m in if y < x then y :: a, b else a, y :: b in let debut, fin = coupelist l in (qsort debut) @ [x] @ (qsort fin);;
Il y a plein de symboles assez abscons : '->' '::', '|', '@', et j'ai du mal à lire le code.
Le même algorithme en Python, m'a l'air plus "naturel" à lire.
def qsort(x): """Tri rapide (quicksort ou tri de Hoare) d'une liste""" if len(x) > 1: lt = [i for i in x if i < x[0] ] eq = [i for i in x if i == x[0]] gt = [i for i in x if i > x[0]] return qsort(lt) + eq + qsort(gt) else: return x
Mais, bon, c'est sans doute subjectif.
-- Richard
Jean-Francois BILLAUD wrote:
1 h par semaine.
Contraintes supplémentaires :
- programmation objet (pas besoin d'héritage multiple)
- typage fort
- multi-plateformes (Windows et GNU/Linux éventuellement avec émulateur)
- bibliothèque graphique (la même sous les différentes plateformes)
- on doit pouvoir programmer sans savoir comment fonctione le compilateur
- on doit pouvoir programmer sans savoir comment fonctione le système
d'exploitation
- on doit pouvoir écrire soi-même un mini gestionnaire d'événements
Moi j'aurais bien dit Ocaml, qui respecte sans problème toutes ces
conditions, et a en plus une syntaxe très agréable,
Personnellement, je ne trouve pas la syntaxe d'Ocaml très lisible. Par
exemple, dans ce tri rapide :
(* Tri rapide (quicksort ou tri de Hoare) d'une liste *)
let rec qsort = function
| [] -> []
| x :: l ->
let rec coupelist = function
| [] -> [], []
| y :: m -> let a, b = coupelist m in
if y < x then y :: a, b else a, y :: b
in let debut, fin = coupelist l
in (qsort debut) @ [x] @ (qsort fin);;
Il y a plein de symboles assez abscons : '->' '::', '|', '@', et j'ai du
mal à lire le code.
Le même algorithme en Python, m'a l'air plus "naturel" à lire.
def qsort(x):
"""Tri rapide (quicksort ou tri de Hoare) d'une liste"""
if len(x) > 1:
lt = [i for i in x if i < x[0] ]
eq = [i for i in x if i == x[0]]
gt = [i for i in x if i > x[0]]
return qsort(lt) + eq + qsort(gt)
else:
return x
Contraintes supplémentaires : - programmation objet (pas besoin d'héritage multiple) - typage fort - multi-plateformes (Windows et GNU/Linux éventuellement avec émulateur) - bibliothèque graphique (la même sous les différentes plateformes) - on doit pouvoir programmer sans savoir comment fonctione le compilateur - on doit pouvoir programmer sans savoir comment fonctione le système d'exploitation - on doit pouvoir écrire soi-même un mini gestionnaire d'événements
Moi j'aurais bien dit Ocaml, qui respecte sans problème toutes ces conditions, et a en plus une syntaxe très agréable,
Personnellement, je ne trouve pas la syntaxe d'Ocaml très lisible. Par exemple, dans ce tri rapide :
(* Tri rapide (quicksort ou tri de Hoare) d'une liste *) let rec qsort = function | [] -> [] | x :: l -> let rec coupelist = function | [] -> [], [] | y :: m -> let a, b = coupelist m in if y < x then y :: a, b else a, y :: b in let debut, fin = coupelist l in (qsort debut) @ [x] @ (qsort fin);;
Il y a plein de symboles assez abscons : '->' '::', '|', '@', et j'ai du mal à lire le code.
Le même algorithme en Python, m'a l'air plus "naturel" à lire.
def qsort(x): """Tri rapide (quicksort ou tri de Hoare) d'une liste""" if len(x) > 1: lt = [i for i in x if i < x[0] ] eq = [i for i in x if i == x[0]] gt = [i for i in x if i > x[0]] return qsort(lt) + eq + qsort(gt) else: return x