创建移动编程语言

时间:2009-01-13 14:49:14

标签: programming-languages java-me hecl

我正在考虑创建一种非常容易在手机上键入的小语言(J2ME), 为了在手机中运行它(j2me总是),实现哪种更合适的语言?适当的含义,小/简单的语法,易于在手机中输入。

这是口齿不清吗?某种Basic / Python / Ruby(我认为不是......)?或者另一个新的(你能提出新的语法吗?)?

12 个答案:

答案 0 :(得分:12)

我是这样一种语言的作者:Hecl,http://www.hecl.org。为了使应用程序更加简单,我还创建了一个站点,您可以通过Web界面构建简单的应用程序:http://www.heclbuilder.com。我还写了一篇讨论语言实现的文章:

http://www.welton.it/articles/hecl_implementation

其他值得关注的语言包括Lua和Javascript,两者都有移动实现。

答案 1 :(得分:6)

如果你包括编辑器支持(嵌套结构,缩进显示,平衡......),那么某种形式的LISP实现和使用起来相对简单。我已经看过基于LISP的语言的截图(但现在找不到它们),用于实时交互式性能编程。它在屏幕上使用缩进的阴影矩形区域(而不是括号)来显示结构的嵌套。

答案 2 :(得分:6)

我认为编辑器的设计是最重要的考虑因素,而不是语言。例如,支持某种类似“intellisense”的自动完成对于保存笔画非常重要。编辑器中的某种语言敏感性也会有很大帮助。例如,当C用户键入“for”时,自动完成应显示填写循环语法的选项:

   for (;;) {
   }

答案 3 :(得分:4)

您可能需要查看Hecl:http://www.hecl.org/

答案 4 :(得分:3)

我不确定在手机上输入的内容很容易,但我所知道的每个字符计算能力最强的语言是APL。作为句法或设计思想的来源,你可能更喜欢它的现代继承者J programming language

答案 5 :(得分:3)

在手机上,您还应该考虑Scratch(smalltalk)等语言,因为非打字界面很容易使用。

此外,在具有拖放能力的智能手机上,这将是一件好事。

另一方面,IDE在CPU和CPU上会更重。其他资源。

答案 6 :(得分:3)

Forth通常被认为是满足这些要求的合法竞争者。它就像想象的那样简洁。可扩展,小巧且可塑性。内置小屏幕编辑器。

答案 7 :(得分:2)

如果你想要超紧凑,请尝试nano-False http://www.aldweb.com/pages/winikoff/#false

它不是很实用,虽然比故意痛苦的Brainfuck和Whitepace更有用。将其视为Forth,简单的语法更简洁; - )

我发现Quartus Forth相当容易使用,前提是你可以在堆栈中思考,并且对API有更多的Intellisense支持,它会更有效率。对于Palm上的小算法原型,我更喜欢PluaLispme。无论如何,LispMe环境值得研究,因为它很好地利用了列表来查找关键字,从而简化了GUI编程

您必须做出的重大决定是,您是希望用户只使用手机数字键盘,还是能够输入合理的全键盘近似值。 Palm的巨大优势之一是高质量的全尺寸折叠键盘,我很遗憾(并希望有人制作iPhone配件进行连接)。如果您没有完整的键盘,请使用动词选择器,以便他们可以使用选择操作,而不必输入单词。考虑与用户代码相比,框架类和方法的传统代码中键入的代码量。

答案 8 :(得分:1)

当我开始梦想某种语言时,我会想到在我做梦的时候,哪些特征对我很重要。只有当您弄清楚哪些功能对您很重要时,您才能找到最佳答案。例如,如果您想要命名参数,它会极大地影响您关于方法调用的设计选择(Objective-C或Python)。

设计语言可能是一项非常有趣的任务。我鼓励你退后一步,问问自己“我真的很喜欢这在X中的表现吗?” (代替一些语言名称)。如果这是你一直喜欢的东西,偷走它。如果没有,看看其他地方。创建你所爱的终极混搭,并忽略你讨厌的东西!

答案 9 :(得分:1)

由于所有的()s都很难输入Lisp,尽管joel.neely的答案证明了解决这个问题的一种方法。

因此,如果您想使用现有语言,您可能希望查看哪些语言使用最不常见的字符。

然后是屏幕尺寸问题。语言越冗长,您可以立即将更少的代码放到屏幕上。你的目标是什么类型的设备?大屏幕(有限观众)或240x240像素功能手机的智能手机?

请记住,您的语言的解释器/ VM必须适合少量内存,性能可能不是很好。

答案 10 :(得分:1)

Brainfuck只有8个字符 - 很容易在手机上输入。

当然,理解并用它做事......不是那么容易。但它满足了要求......

答案 11 :(得分:-2)

基本很容易。

我会远离口齿不清。除非你想让你的移动用户头疼,否则他们会受到无线电波的困扰。