2013-01-16 2 views
3

Je construis un projet qui se compose d'un port Web de LogoWR (Tutle Graphics), mais je veux apporter quelques modifications à la syntaxe, comme les variables de manière sont nommés .Le choix d'une syntaxe d'une langue nouvelle basée sur Logo

Original:

:variable 

Nouveau:

#number_variable 
$text_variable 
:indistinct (Can be number or text or other) 

L'objectif est de former les enfants (environ 10 à 14 ans) d'utiliser des variables. Il devrait aussi leur apprendre à lancer le type (et à utiliser différents types de variables), mais avec une "vue physique" - en faisant toujours le casting explicitement. Je veux quelque chose comme $text = text(#number), de sorte que l'utilisateur peut voir le type d'une variable sans voir sa déclaration.

La question est, à votre avis, est-il trop difficile pour les enfants à suivre ces règles?

+1

Cela ressemble à une question de plus pour http://programmers.stackexchange.com/ - une bonne idée cependant. Ce n'est pas trop compliqué, les types de variantes IMO peuvent conduire à plus de confusion avec les codeurs novices que je trouve. Il est plus facile d'être explicite qu'implicite. Cela dit, la plupart des utilisateurs de Logo utilisent rarement des types de texte. – Orbling

Répondre

0

Cela dépend beaucoup de qui les enfants sont et à quel stade ils en sont.

Les programmeurs débutants devraient être isolés des types. Il y a beaucoup de choses difficiles à apprendre sans ce niveau de complication. Le logo est excellent parce qu'il encourage les schémas de pensée tels que la programmabilité et la décomposition des problèmes très tôt avec des résultats concrets. Je suis sûr que vous le savez mieux que moi.

Les types sont à bien des égards inutiles à moins que les enfants maîtrisent les bases et doivent relever des défis de programmation très sophistiqués. Les langages utilisés par les programmeurs professionnels (Python, Ruby, etc.) peuvent avoir des valeurs typées mais pas des variables typées, et cela fonctionne bien pour les problèmes de leur domaine. Personnellement je trouve le besoin de convertir des nombres en chaînes et en arrière ennuyeux plutôt que n'importe quoi d'autre.

Si vous voyez un réel besoin pour les variables typées et les conversions de type I éviterait la chose qui ressemble à une fonction ordinaire. Considérez également que les conversions peuvent déclencher des exceptions (ou un type d'erreur). Je pense que je préfère soit une fonction de conversion explicite avec un défaut, soit la syntaxe as '.

$text = Text.convert(#number, "?") 
$text = #number as Text 

Cela me ramène aux premiers dialectes de base, et beaucoup de douleur.

Questions connexes