Hello Bastien,

Le 15/03/2016 13:52, Bastien Guerry a écrit :
  "Visual Programming Is Unbelievable ... Here’s Why We Don’t Believe In It"
   
http://www.outsystems.com/blog/2015/03/visual-programming-is-unbelievable.html

Je trouve l'article un peu lapidaire pour un sujet important, il y aurait tant à approfondir.

Évidemment, il manque une sorte de définition de "Visual programming",
ou même une liste des logiciels implicitement visés.
ça on l'a sur wikipedia ;)

De ce que je lis les griefs principaux sont ceux qu'on pourrait avoir contre n'importe quel autre type de langage dont les outils (IDE, debug etc.) ne sont pas au point, dont la communauté est trop petite, les applications ne sont pas visibles au premier plan (car réservés à certaines industries) :

“most visual languages generate unreadable lower level code, only target niche segments, are supported by suicidal startups, or haven’t left the research lab yet (where amazing recent work, like Bret Victor’s, is being done). Real success stories, of people using it in large projects, are still rare, and these communities are still growing.”


> que la réflexion sur les limites de l'extensibilité et notre amour de
> la complexité sont intéressantes.

Je crois que la question de l'extensibilité n'est pas spécifique aux langages visuels.

Amha, ce qu'il considère comme de la complexité est une conséquence de notre appétit à résoudre les problèmes des autres. « Sugar c'est vraiment super pour les enfants tu devrais essayer dans ta classe !
— mais il faut un OLPC non ?
— non ! Tu peux utiliser Sugar on a stick il suffit de flasher une clé
- flasher une clé, cool tu peux m'expliquer ?
- ok je t'appelle ce soir
[deux heures de galère]
une semaine plus tard :
- j'ai testé la clé, chez moi ça marche mais à l'école, ça ne boot pas. Je crois que l'ordinateur de la salle de classe est configuré pour refuser de booter sur clé. — ah oui c'est vrai c'est le conseil départemental qui impose ça ! Attends il y a une solution il te faut un CD spécial qui passera le boot à la clé. — hum, je veux bien essayer mais je ne sais pas si les enfants y arriveront tout seuls.
[…]
un mois plus tard :
- Les enfants s'en sortaient bien mais j'ai laissé tomber, le lecteur de CD ne fonctionne plus. »

Si tu formules dans le problème la nécessité d'avoir une solution simple à mettre en œuvre et robuste (résiliente, pour suivre la mode), cette complexité n'est plus le problème.

Par contre, l'informatique ou la programmation ne forment pas un tout cohérent et simple, il y reste même plein de questions très très vives.

Il faut donc éviter de prétendre que les choses sont simples et que savoir programmer en cobol c'est savoir programmer en erlang. Raison de plus pour ne pas donner à des enfants des trucs qui ne fonctionnent qu'à moitié ou qui ne tiennent pas compte de l'hétérogénéité des situations.

Pour revenir à Scratch, je pense qu'un des points essentiels est qu'il n'est pas offert de générer le code textuel d'un programme Scratch (alors que rien ne s'y oppose dans la syntaxe visuelle) et de pouvoir l'utiliser en mode texte dans un univers de programmation plus vaste. Difficile du coup de passer de scratchJr (avant de savoir lire) à Scratch (avant de savoir un peu taper et voir/corriger des typos) puis à un langage textuel (communauté, REPL, débugage, etc.).

Par exemple imagine deux minutes qu'on puisse extraire le code complet d'un programme Scratch sous la forme d'un code Python (ou autre) nécessitant un seul import pour fonctionner, on aurait fait un net progrès pour le passage aux étapes suivantes de la découverte de la programmation.

En tous cas ça fait écho chez moi à plein de doutes que j'ai quand je
vois Scratch et cie être la norme de l'initiation à la programmation.

Si tu veux partager ces doutes, de mon côté j'aimerai bien en discuter sérieusement avec toi et éventuelle d'autres sur la liste. C'est un sujet qui revient de plus en plus souvent avec des collègues plus ou moins impliqués dans les programmes de l'option d'info au capes ou dans le développement d'outils pour l'initiation à la programmation.


A+
Pierre (université Paris 13)


_______________________________________________
Discussion mailing list
[email protected]
http://listes.jecode.org/cgi-bin/mailman/listinfo/discussion

Répondre à