什么编程语言最像自然语言?

我从很多情况中得到了这个问题的想法,在这些情况下,我不明白这个人在谈论什么,以及别人什么时候不了解我。

所以,一个“聪明”的解决方案就是说一种计算机语言。 :)

我感兴趣的是编程语言能够接近(英语)自然语言的程度。 当我说近时,我的意思不仅仅是使用单词和句子,而是要能够“做”自然语言可以“做”的事情,而“做”我的意思是它可以用于(以非常有限的方式)作为自然语言的替代品。

我知道这是不可能的(是吗?),但我认为这可能很有趣。


有一种名为Inform的编程语言,Inform 7在其最新版本Inform 7中看起来很像自然语言...尤其是书面语言。

通知是专门用于创建文本冒险游戏的,但没有内在原因,这些概念不能延伸到其他领域。

这里有一小段Inform 7代码,摘自Emily Short的Glass游戏。

Stage is a room. 

The old lady is a woman in the Stage. Understand "mother" or 
"stepmother" as the old lady. The old lady is active. The description 
of the lady is "She looks plucked: thin neck with folds of skin
exposed, nose beaky, lips white. Perhaps when her fortunes are mended
her cosmetics too will improve." 

The Prince is a man in the Stage. The description of the prince is
"He's tolerably attractive, in his flightless way. It's hard not to
pity him a little." The prince carries a glass slipper. The glass
slipper is wearable. Understand "shoe" or "heel" or "toe" or "foot"
as the slipper. The description of the slipper is "It is very small
for an adult woman's foot." 

完整的代码可以在这里找到。

这是一个简单的例子...它实际上可以处理一组令人惊讶的强大想法。

应该指出的是,代码并不是一个真正的奇怪的密码,其中的构造具有隐藏的含义......这些代码或多或少地或多或少地符合您的期望。 例如:

The old lady is a woman in the Stage. Understand "mother" or 
"stepmother" as the old lady. 

创建一个碰巧是女性的对象,命名该对象为“老太太”,并将该对象放置在称为“舞台”的房间对象内。 然后创建两个别名(“母亲”和“继母”),它们都引用“老太太”对象。

当然,随着例子越来越复杂,跳过的必要环节也变得越来越复杂。 英语本质上是模棱两可的,而计算机代码最明显的不是。 所以我们永远不会得到一个“完美的婚姻”。


取决于你投入的圈子,但LOLCODE可以被认为是自然语言;)

示例循环:

HAI
    CAN HAS STDIO?
    I HAS A VAR
    IM IN YR LOOP
        UP VAR!!1
        VISIBLE VAR
        IZ VAR BIGGER THAN 10? KTHXBYE
    IM OUTTA YR LOOP
KTHXBYE

值得注意的是,VB是一种非常自然的语言。 非程序员类型很容易学习,所以语法必须很容易理解。


理查德普赖尔用超级三世转移数百万美元的语言非常接近:

> TRANSFER $1,000,000 DOLLARS TO WEBSTER'S ACCOUNT.... NOW

;-)

编辑:字符更正;-)

链接地址: http://www.djcxy.com/p/20677.html

上一篇: What programming language is most like natural language?

下一篇: What's the difference between an argument and a parameter?