3

我正在构建一个包含 LogoWR (Tutle Graphics) 网络端口的项目,但我想对语法进行一些更改,例如变量的命名方式。

原来的:

:variable

新的:

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

目标是训练儿童(大约 10 到 14 岁)使用变量。它还应该教他们类型转换(以及关于使用不同的变量类型),但要使用“物理视图” - 始终明确地进行转换。我想要类似的东西$text = text(#number),以便用户可以查看变量的类型而无需查看其声明。

问题是,在您看来,孩子们遵守这些规则是否太难了?

4

1 回答 1

0

这在很大程度上取决于孩子是谁以及他们处于什么阶段。

初级程序员应该与类型隔离。没有那种复杂程度,有很多具有挑战性的东西要学。Logo 非常棒,因为它鼓励了诸如可编程性和问题分解等思维模式,并在很早的时候就产生了具体的结果。我相信你比我更清楚这一点。

除非孩子们已经掌握了基础知识并且需要接受相当复杂的编程挑战,否则类型在很多方面都是不必要的。专业程序员(Python、Ruby 等)使用的语言可能具有类型值但没有类型变量,并且它适用于他们领域中的问题。就个人而言,我发现需要将数字转换为字符串并返回烦人而不是其他任何东西。

如果您确实确实需要类型化变量和类型转换,我会避免使用看起来像普通函数的东西。还要考虑转换可能会触发异常(或某种错误)。我认为我更喜欢具有默认值的显式转换函数或as' 语法。

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

这让我回到了Basic的早期方言,非常痛苦。

于 2014-04-30T11:12:00.737 回答