我正在建立一个教育游戏,通过它的模块化,允许教学生如何编程.它本质上是一种可以轻松修改的通用纸牌游戏.
游戏的主干应该是完全不可编辑的(至少在理论上),所以我需要建立一个"卡"类型,允许匿名功能,因为它的行动(更糟糕,或者甚至更有趣,它需要一个匿名函数,可以有任意数量的参数).
我还需要一个强大的GUI库,它需要是可移植的,如果可能的话,它应该是一个Web语言.它应该对模块化有广泛的支持,面向对象,并且希望足够清楚,以至于它不需要有经验的程序员来理解语法.这是很多要求,但我应该详细说明,我想要一个具体的答案以及为什么它是一个好的选择,所以我应该尽可能多地提供信息.我并不真正需要语言的效率,因此在这种情况下不需要低级语言,非常高级的语言将足够快.
Python不够强大.Ruby可能是但我对它的功能还不够熟悉.Haskell和Scheme拥有最强大的支持,但不是网络语言,据我所知,大多数情况下都没有GUI库.C#可能是合理的,我对它的功能并不十分熟悉,但我特别担心可移植性.如果可能的话我想避免使用javascript,但如果这真的是最好的选择,我可能不得不朝那个方向前进.
Javascript似乎是一个完美的选择 - 一流的功能,可移植,基于Web,清晰的语法,良好的库支持.我知道你正试图避免它,但我希望一旦你评估并拒绝所有其他选择,你将给Javascript另一次机会.