我儿子正在用Scratch热情地编写简单的游戏。然而,Scratch 是一个非常简单的编程环境(甚至没有子例程),我可以看到他很快将需要转向其他事情。
有谁知道一种很好的学习语言,它可以使图形变得简单,但提供“真正的”编程特性,如数据结构、函数、数组和列表?
如果它在 Linux (Ubuntu) 下运行,则可以加分。“带有库 Bar 的语言 Foo”形式的答案也是一种选择。
我儿子正在用Scratch热情地编写简单的游戏。然而,Scratch 是一个非常简单的编程环境(甚至没有子例程),我可以看到他很快将需要转向其他事情。
有谁知道一种很好的学习语言,它可以使图形变得简单,但提供“真正的”编程特性,如数据结构、函数、数组和列表?
如果它在 Linux (Ubuntu) 下运行,则可以加分。“带有库 Bar 的语言 Foo”形式的答案也是一种选择。
卢阿呢?
有一个很好的图形“引擎”,叫做LOVE,它在 lua 中是完全可编程的。它有很好的文档,而且不是很难。
还有其他几个使用 lua 的类似引擎:
还有另一个 2d 引擎,但我现在找不到它,它类似于 LOVE,但处理方式略有不同。
我会向初学者推荐 LOVE,因为它非常简单,有很好的教程,最重要的是你可以马上做一些很好的事情。
lua 也是常用的游戏脚本语言。比如魔兽世界的所有插件都是用lua写的,实际上所有的界面都是用lua写的。这意味着在 lua 中很容易找到游戏相关问题的答案。此外,如果您碰巧拥有一个使用 lua 作为脚本语言的游戏,您可以轻松地将自己的东西添加到其中。
我是从游戏的角度写的,但是有很多项目使用 lua 作为脚本语言。
您也可以尝试 python,但它没有那么好的开箱即用、易于学习/理解的工具。
这里还有一个 lua手册的链接。
如果 Scratch 开始受到一些限制,但他们还没有准备好应对文本编辑器编码的艰辛,请查看 Scratch-derivative "BYOB" (Build Your Own Blocks)。说真的,它把 Scratch 变成了一个成熟的编程环境,包含函数(以及递归)、数据结构、多线程和一切!
还有Panther,但我对它印象不深(在 Panther 中创建新块似乎需要直接在 Squeak 中对其功能进行编码,而在 BYOB 中,您可以使用通常的拖放 Scratch 样式构建它们)。
看看处理。
它的绝技是图形、动画和视觉操作。它也可以在 Linux 下运行。
Processing 是一种开源编程语言和环境,适用于想要对图像、动画和交互进行编程的人们。它被学生、艺术家、设计师、研究人员和业余爱好者用于学习、原型设计和生产。它的创建是为了在视觉环境中教授计算机编程的基础知识,并用作软件速写本和专业生产工具。
这里的一篇不错的评论建议 Alice and Shoes after Scratch ——我在这件事上没有个人经验,但从评论来看,它们似乎值得一试。
这可能只是一个更大的跳跃,但是 Python 与PyGame将允许您的学生制作许多与他或她已经习惯使用 Scratch 相同类型的程序,但对整个事情如何进行非常严格的控制作品。
Scratch 是用Squeak(在 Linux、Windows 和 Mac 上运行)编写的,所以我会说升级到 Smalltalk!唯一的问题是缺乏一本非常好的关于该语言的初学者书籍,当你考虑它的起源时,这很奇怪。但是,基本概念很容易学习(几乎没有语法),并且环境鼓励实验。
这是一个有趣的微软项目,叫做Small Basic,它是一个很好的、简单的、免费的学习编程环境,基于 BASIC。
由于缺少ubuntu,没有加分,但是很酷的学习工具。
QuickBasic 还在吗?这就是我在 7-8 岁时开始做的事情,我能够在没有任何外部库的情况下制作成熟的游戏等。
编辑:查看有关 FreeBasic 的链接:
http://linux.about.com/b/2006/11/10/freebasic-open-source-alternative-to-quickbasic.htm
好吧,有一个古老的标志——不确定结构,但你确实得到了列表、带参数的函数和图形非常简单。也有很多好的实现。Logo 甚至被比作“没有括号的口齿不清”。
我建议使用 CodingBat。尽管 CodingBat 不提供图形,但它确实提供了“编程功能”和涉及字符串、数组和逻辑的直接练习。我认为这个网站有助于开发编程背后的基本基础。