Nlp 使用“a”是否更好;“天然的”;用什么语言编写代码?
我最近看到一种叫做的编程语言,他们在网页上说: 超新星编程语言是 现代脚本语言及其应用 第一部分介绍了概念 直接虚构的节目 描述使用 纯人类语言的清晰子集 您可以编写如下代码:Nlp 使用“a”是否更好;“天然的”;用什么语言编写代码?,nlp,Nlp,我最近看到一种叫做的编程语言,他们在网页上说: 超新星编程语言是 现代脚本语言及其应用 第一部分介绍了概念 直接虚构的节目 描述使用 纯人类语言的清晰子集 您可以编写如下代码: i want window and the window title is Hello World. i want button and button caption is Close. and button name is btn1. btn1 mouse click. instructions are you
i want window and the window title is Hello World.
i want button and button caption is Close.
and button name is btn1.
btn1 mouse click. instructions are
you close window
end of instructions
我的问题不是关于语言本身,而是我们是否需要这样的语言,它们是否使编写代码变得更容易?它们是否更好是观点,但这看起来像是COBOL和BASIC的某种变异交叉,这无疑是非常糟糕的 因此,在我看来,不是。我认为在某种程度上,仍然使用可读动词/形容词/名称的语言更好(C++、C#、PHP等是我的首选语言)
有些语言开始变得太高级和/或冗长,使得实际逻辑变得如此抽象,以至于很难知道什么起作用。有些太低级和简短,迫使你明确地陈述你想做的一切。可读性和简洁性、强大性和灵活性之间的平衡是最适合开发的。您在上面向我们展示的编程语言非常冗长(似乎比COBOL还要冗长) 这带来了几个问题:
- 做简单的事情需要很长的代码
- 代码增长得相当快,无法维护
- 找出代码的作用需要很长时间
或者我们可以有一种真正的自然语言编程语言,包括“嗯”、“呃”和“哦,我真的不知道”?:-) 在我看来,使用这种“人类语言”并没有真正有用的优势,因为你仍然需要语法和特殊的词语。你必须同时学习这两种语言,因为这是必要的,所以学习“编程语言”不会比学习“编程语言”困难太多,因为它有很多优势,因为它是面向机器的结构,而不是人类的思维方式 如果你想编写好的程序,你需要思考机器的工作方式,而编程语言肯定比人类语言更能表达这种思维方式 代码可能看起来像自然语言,但实际上只是带有不同关键字的常规计算机代码。在您的示例中,
I-want
可能与new
同义。这并不是说你可以直接使用自然语言,然后说让我成为一个窗口
(如果你可以,事情会变得更加丑陋…)
让我们仔细看看您的代码和语言含义:
i want window and the window title is Hello World.
i-want
表示new
,和
表示参数列表的开头<代码>is设置正在创建的对象上的实例变量成员名称
。请注意,您必须将键入\u name
两次
i want button and button caption is Close.
and button name is btn1.
结束语句。但是,您可以通过使用和
启动下一条语句来“链接”对象上的方法调用。另外,如何引用名为Close
的变量而不是字符串“Close”
?见鬼,我们甚至在普通英语中也有这样的问题:“说出你的名字”和“说出你的名字”有什么区别
鼠标单击
是包含空格的标识符,应该是鼠标单击
<代码>指令定义了lambda(请参阅is
与的对比,是否存在导致问题的关键字混淆?)关闭窗口
调用window.close()
<代码>指令结尾
是lambda的结尾。所有这些都比需要的要长
还记得吗?这些只是我对语法的猜测,可能是完全错误的。还是那么简单?如果是这样的话,试着编写一个更大的程序,但不要破坏这些规则中的任何一条,以及定义条件逻辑、循环、类、泛型、继承等所需的其他规则。你所做的一切就是将常规编程语言中的符号更改为“自然语言”等价物,这些等价物更难记住,不必要地冗长,而且更加模糊
尝试以下翻译:
var myWindow = new Window( title="Hello World" );
myWindow.addButton( new Button( caption="Close", name="btn1" ) );
btn1.onMouseClick = function() {
myWindow.close();
}
在前面的示例中,查看每条线如何映射到对应的线,但更直接地说明意图?自然语言可能有助于人类执行,但却极难用于精确的规范
你越是努力让英语轻松清晰地传达这些想法,它就越像我们已经拥有的编程语言。简言之,编程语言尽可能接近自然语言,同时又不失清晰性和简单性D。我没有什么要补充的。我会勇敢地在这里提出稍微不同的意见 除了在问题中介绍的内容之外,我还没有看到任何关于这种语言的内容,但是我不得不说,对于非程序员来说,它可能更具可读性。另一方面,对于程序员来说,这不会损害可读性,但也不会有帮助,因为我们已经习惯于阅读代码 在实际的开发方面,我认为必须输入这么多额外的位是可怕的,特别是如果你像我们程序员一样习惯于简洁的关键字和结构 但让我们想象一个遥远的未来,语音识别实际上是准确的。我认为用c语言编写这样的语言要容易得多
var myWindow = new Window( title="Hello World" );
myWindow.addButton( new Button( caption="Close", name="btn1" ) );
btn1.onMouseClick = function() {
myWindow.close();
}
person.eBusiness[text.this.author].like(language.supernova.idea.reverse);
language.English[ambiguous[very]];
person.eBusiness.suggest(create(language.Codetalk));
language.Codetalk.grammar.inspiration=language.programming.grammar;
language.Codetalk[new,better,ambiguous[not]];
if(person.all.use(language.Codetalk)){
person.all.understand(person.all.communication);
};
question(language.Codetalk.idea[good]);