根据徽标选择新语言的语法

时间:2013-01-16 18:39:27

标签: programming-languages logo-lang

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

原件:

:variable

新:

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

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

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

1 个答案:

答案 0 :(得分:0)

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

初级程序员应该与类型绝缘。没有那种复杂程度,有很多具有挑战性的事情要学习。徽标非常出色,因为它可以在具体结果的早期阶段鼓励可编程性和问题分解等思维模式。我相信你比我更了解这一点。

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

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

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

它让我回到Basic的早期方言,并且痛苦不堪。

相关问题