2

我最近遇到了一种叫做Rpoku的东西,它是一种口语计算机语言。我还发现了一些名为Voice Code的研究,它采用了不同的方法。这里有一个演示视频..

这看起来很有希望,还是只是一个玩具?有朝一日是否有可能在不使用键盘输入的情况下创建应用程序?

4

4 回答 4

1

我,一方面,认为这是一个可怕的想法。为了使口语有意义并且更容易,它实际上必须是某种形式的自由。最后,它会导致试图找出“编译器”在语法上可接受的内容以实际执行我想要的操作,并且它将与今天的语言一样“技术性”,除了更多披着羊皮的狼。

如果我想逼自己自杀,也许我会试一试:D

于 2008-12-29T23:21:01.687 回答
1

我一直在思考这个问题。而且我认为需要进行范式转变(更不用说《星际迷航》规模的人工智能进步了),才能让程序员在口头上和写作时一样高效。

例如,在这个简单的代码示例中,我实际上说的比我输入的要多得多:

List<Employee> ListOfEmployees = new List<Employee>();

foreach (Employee emp in ListOfEmployees) {
Console.WriteLine(emp.Name);
}

在那个代码块中,我说的是以下内容:

创建员工对象的通用列表,将员工对象初始化为其默认值。之后,我想一次遍历一个员工对象,并将每个人的名字写到控制台。

(为了简单起见,我故意省略了将名称分配给员工的代码)。

对我来说,输入代码比说出我想做的事情要快得多,即使不是,也必须为计算机定义术语才能将我的话翻译成实际代码。更不用说这是一种非常高级的语言——想象一下 Perl(或 C)如果说出来会是什么样子?

于 2008-12-29T23:16:49.013 回答
0

可能不是。或者至少现在还没有。下一步将是文学编程和 DSL。

可能是,但也可能不是。我们不想写更多只是为了让利益相关者真正了解软件意图。我们是吗?

无论如何,这是一个关于这一切的有趣视频。

http://www.infoq.com/presentations/domain-specific-languages

于 2008-12-30T00:02:32.273 回答
0

调试充其量是烦人的。

我认为您可能会更多地考虑使用口语来驱动程序。如果您有一组高级函数和数据,您可以轻松地说(举个例子)“打印员工姓名列表”,只要已经定义了 Print、List 和 Employee Names。

于 2008-12-30T00:08:43.527 回答