Bonjour,
Je voulais partager avec vous ceci:
http://www.pawfal.org/dave/index.cgi?Projects/Scheme%20Bricks
Je m'intéresse à la programmation dite visuelle et je fais le tour de la question régulièrement sur internet.
C'est ce que j'ai trouvé de de plus constructif et de plus crédible. L'idée de programmer sans clavier. On va juste chercher des blocs. Au niveau productivité ça doit pas être terrible.
Le gros problème de la programmation visuelle c'est ça:
http://en.wikipedia.org/wiki/Deutsch_limit
C'est pour cette raison que tous les systèmes à base de "flow chart" on échoués (Smalltalk et compagnie). On se retrouve avec un sac de noeuds. Une grosse soupe saté.
Il y a aussi d'autres choses comme:
-Racket (du lisp) On peut faire (circle 40) et ca dessine un cercle
-Coda (application tablette, du lua) Un peu comme Racket
-Les outils de jeux a base de grilles (chaque case est une action, comme une collision entre deux sprites)
-Scratch et consort (des sortes de pièces de puzzle tordues qu'on emboite)
J'en oublie plein, c'est sur.
La grande star du moment est un gars qui s'appelle Brett Victor. J'aime pas trop car il la joue un peu "Je suis opprimé donc j'ai le droit d'être en colère". C'est un ancien Apple.
On dit aussi (Paul Graham, je crois mais pas sur) que les exemples traditionnels de programmation visuelle sont eux-même visuels et donc faciles. ("Je veux un rectangle, c'est facile je le prends dans la toolbar et je le pose ou je veux")
Bien sur tout les Visual Machin de Microsoft ne rentrent pas dans ce cadre. En fait, ce sont des éditeurs de boites de dialogues.
# Deutsch limit
Posté par errno . Évalué à 1.
Comme il est dit dans l'article wikipedia, la fameuse "Deutsch limit" peut-être contournée par un systeme modulaire.
Dans Virtools (maintenant détruit par Dassault Systemes depuis qu'ils l'ont rachetés et transformé en 3DVia) il y avait les Building Blocks qui étaient vraiment bien fait et accessible.c (par exemple: http://psm-serv.pu-pm.univ-fcomte.fr/~bpiranda/CMs/di_virtools.pdf page 3).
On trouve également cette approche dans Grasshopper http://www.grasshopper3d.com
[^] # Re: Deutsch limit
Posté par datz . Évalué à -2.
Oui, la limite est contournée.
Il y a aussi Talend qui fait pour des moulinettes de conversion.
Ca peut peut-être marcher sur des DSL (spécifique).
Sur les captures d'écran de "grasshopper", on voit bien que les "fils" sortent tout de suite de l'écran. Tu passes ton temps à scroller dans un système comme ça.
On pourrait dire que c'est pareil avec une approche "texte". On scrolle, mais moins.
C'est fatal si tu pense à l'entropie de l'écran en mode texte. 80x25x127 (colonnes x lignes x caractères), ça fait beaucoup de possibilités.
Je lisais (j'ai plus la référence) une personne dire que l'activité de programmation est une activité de traduction. Tu traduis ce que tu as dans ta tête en texte.
# Mon expérience avec scratch
Posté par HSimpson . Évalué à 3.
Franchement, pour aborder la programmation avec des jeunes, c'est vraiment un super système.
J'ai monté un club "programmation de jeux vidéo" au collège où je travaille. L'immense avantage de scratch est le fait d'avoir très rapidement un truc visuel et qui "rend bien" et motivant pour les élèves. En 3 séances d'une heure, mes élèves (majoritairement des 5èmes) sont capables de réaliser un petit jeu style labyrinthe avec des méchants. Il reste encore beaucoup à aborder pour avoir des jeux "présentables" (les messages, les variables, le clonage de perso,…), mais c'est vraiment stimulant (j'ai l'impression qu'il passe une bonne partie de leur temps libre à hacker du scratch).
Par contre c'est vrai que je pense que d'ici la fin de l'année il faudra que je passe à autre chose (surement pygame, a moins qu'il existe un "rugame" (je préfère ruby à python)) pour pouvoir structurer un peu les choses. Parce qu'en scratch c'est très rapidement un gros sac de nœud indéfaisable.
En plus scratch est vraiment dans un esprit open-source, tout le monde peux voire les sources et les réutiliser/adapter très facilement (d'ailleurs il faudrait que je regarde en détail ce qu'il dise niveau licence "par défaut" pour les projets). Un point important pour le libriste que je suis.
Par contre point négatif, le nouvel environnement scratch nécessite une vm non libre (flash) alors que la précédente était basé sur squeak.
Bon, je me rends compte que ce message est un peu brouillon, mais j'ai l'intention d'en parler plus longuement dans un futur nourjal.
[^] # Re: Mon expérience avec scratch
Posté par xcomcmdr . Évalué à 3. Dernière modification le 30 novembre 2013 à 20:16.
libgosu. (pas encore testé mais a l'air très bien)
Avant j'utilisais rubygame, mais c'est abandonné depuis très longtemps.
Y'a aussi ruby-sfml
"Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)
[^] # Re: Mon expérience avec scratch
Posté par HSimpson . Évalué à 2.
Merci pour les liens, je regarderais ça (une fois que les conseils de classe seront passés :)
[^] # Re: Mon expérience avec scratch
Posté par datz . Évalué à -2.
C'est bien ce que tu fais. Ils ont de la chance tes élèves.
Moi à leur age, j'étais obligé d'attendre le prochain épisode des "Petits Génies" ou une rediffusion de "Wargame" pour rêver un peu.
PyGame, l'idée est belle mais personnellement j'ai jamais accroché avec le Python. L'idée que les "blancs" soit signifiant est une hérésie pour moi.
Le contraire de Python, conçu par et pour l'éducation est Racket (un Scheme, une sorte de Lisp).
http://racket-lang.org/
L'exemple de base:
(cicle 40) ;et hop, ça dessine un cercle de 40 pixels de diamètre
Je pense que c'est pas mal pour des enfants de passer du coté Lego de Scratch au texte de Racket tout en gardant l'effet immédiat et concret du Logo (la tortue).
Ce gars est très intéressant:
http://www.infoq.com/presentations/Racket
Je suis déçu d'apprendre que le nouveau Scratch tourne en Flache. C'est une grosse erreur pour leur projet.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.