我正在考虑创建一种非常容易在手机上键入的小语言(J2ME), 为了在手机中运行它(j2me总是),实现哪种更合适的语言?适当的含义,小/简单的语法,易于在手机中输入。
这是口齿不清吗?某种Basic / Python / Ruby(我认为不是......)?或者另一个新的(你能提出新的语法吗?)?
答案 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)
答案 6 :(得分:3)
Forth通常被认为是满足这些要求的合法竞争者。它就像想象的那样简洁。可扩展,小巧且可塑性。内置小屏幕编辑器。
答案 7 :(得分:2)
如果你想要超紧凑,请尝试nano-False http://www.aldweb.com/pages/winikoff/#false
它不是很实用,虽然比故意痛苦的Brainfuck和Whitepace更有用。将其视为Forth,简单的语法更简洁; - )
我发现Quartus Forth相当容易使用,前提是你可以在堆栈中思考,并且对API有更多的Intellisense支持,它会更有效率。对于Palm上的小算法原型,我更喜欢Plua或Lispme。无论如何,LispMe环境值得研究,因为它很好地利用了列表来查找关键字,从而简化了GUI编程
您必须做出的重大决定是,您是希望用户只使用手机数字键盘,还是能够输入合理的全键盘近似值。 Palm的巨大优势之一是高质量的全尺寸折叠键盘,我很遗憾(并希望有人制作iPhone配件进行连接)。如果您没有完整的键盘,请使用动词选择器,以便他们可以使用选择操作,而不必输入单词。考虑与用户代码相比,框架类和方法的传统代码中键入的代码量。
答案 8 :(得分:1)
当我开始梦想某种语言时,我会想到在我做梦的时候,哪些特征对我很重要。只有当您弄清楚哪些功能对您很重要时,您才能找到最佳答案。例如,如果您想要命名参数,它会极大地影响您关于方法调用的设计选择(Objective-C或Python)。
设计语言可能是一项非常有趣的任务。我鼓励你退后一步,问问自己“我真的很喜欢这在X中的表现吗?” (代替一些语言名称)。如果这是你一直喜欢的东西,偷走它。如果没有,看看其他地方。创建你所爱的终极混搭,并忽略你讨厌的东西!
答案 9 :(得分:1)
由于所有的()s都很难输入Lisp,尽管joel.neely的答案证明了解决这个问题的一种方法。
因此,如果您想使用现有语言,您可能希望查看哪些语言使用最不常见的字符。
然后是屏幕尺寸问题。语言越冗长,您可以立即将更少的代码放到屏幕上。你的目标是什么类型的设备?大屏幕(有限观众)或240x240像素功能手机的智能手机?
请记住,您的语言的解释器/ VM必须适合少量内存,性能可能不是很好。
答案 10 :(得分:1)
Brainfuck只有8个字符 - 很容易在手机上输入。
当然,理解并用它做事......不是那么容易。但它满足了要求......
答案 11 :(得分:-2)
基本很容易。
我会远离口齿不清。除非你想让你的移动用户头疼,否则他们会受到无线电波的困扰。