Crossbow.js--世界上第一个以箭头为导向的编程语言

99 阅读5分钟

介绍Crossbow.js--世界上第一个以箭为导向的编程语言

它是一种语言,js 只是为了营销目的。

箭形公理

面向箭头的编程由一个新的基元组成,即箭头。

以下是核心原则。

  1. 所有东西都是一个箭头。
  2. 一个箭头可以指向另一个箭头。
  3. 一个箭头可以被 "射中",这将导致其头部和尾部被评估为它所指向的箭头的尾部。
  4. 对于一个有效的程序,应该正好有一个没有箭头指向它的箭头。
  5. 程序继续进行,直到所有箭头停止移动。

你好,箭头

如果你认为这很令人困惑,不要担心。它确实是。但它也是非常强大的。例如,让我们看看一个简单的函数。

add(x, y) => x + y;

这个函数接受两个参数,`x`和`y`,并返回`x`和`y`的总和。在Crossbow.js中,这个函数将被写成。

add(x, y) => x + y;

`=>`是箭头运算符,它被读作 "射击"。所以函数`add`返回`x`和`y`的总和。正如你所看到的,箭头运算符使我们能够以一种非常简洁的方式来写函数。

现在你在用箭头思考了。

箭头导向编程的禅意

公理允许存在两种特殊的箭头:指向自身的箭头和指向任何东西的箭头。我们分别称它们为上帝之箭(也称为Ouroboros,指的是神话中吃自己尾巴的龙),和空箭。从它们中,我们可以构建布尔逻辑,但有一个额外的好处,即所有东西都是箭,所以指针是免费的。

面向箭头的编程的神圣三位一体。

在未来,量子计算可以使箭头同时指向两个不同的目标。这样做的后果是不明显的,但要考虑投资。

Crossbow.js的制作

下面是Crossbow.js的创造者、美国国家理工学院的埃尔南德斯教授和技术布道者DJ Null之间的辩论。

Hernandez:首先,我们不要忘记计算机的拓扑结构。老式电脑是巨大的立方体,也就是说,是三维的。笔记本电脑的形状实际上像一本书;如果你打开一本书,它大部分是一个普通的表面,也就是二维的。通过推断,我们可以预测,未来的计算机将是一维的。就是说,一条线。

现在,一条线有三个部分。线的底部,线的顶部,以及线的轴。这是最佳的,我将证明这一点。

DJ Null。我知道你想说什么,朋友。在你的思路中很容易推断出一系列的错误。无论如何,我宁愿给我们的读者提供你的论点的简短版本。在所有的形状中,你认为箭头是最好的,或至少是最不坏的。在现实世界中,这些都不重要。

比如说,你喜欢喝什么咖啡?我喜欢喝黑咖啡,加点糖。现在,想象一下,写下一个合理的人可能喜欢喝咖啡的所有可能方式的清单需要多长时间。如果你使用面向箭头的编程,这个列表可能会变成这样。

我喜欢加一点牛奶的咖啡。
我喜欢加很多牛奶的咖啡。
我喜欢加一点糖的咖啡。
我喜欢加很多糖的咖啡。
我喜欢我的咖啡加一点奶油。
我喜欢加很多奶油的咖啡。
我喜欢我的咖啡有一点味道。
我喜欢有很多味道的咖啡。
我喜欢我的冰咖啡。
我喜欢我的热咖啡。
我喜欢我的冷咖啡。
我喜欢加一点点冰的咖啡。
我喜欢加很多冰的咖啡。
我喜欢有一点泡沫的咖啡。
我喜欢有大量泡沫的咖啡。
我喜欢我的咖啡加一点儿生奶油。
我喜欢加很多生奶油的咖啡。
我喜欢我的咖啡加一点巧克力。
我喜欢有大量巧克力的咖啡。
我喜欢我的咖啡加一点肉桂。
我喜欢加很多肉桂的咖啡。
我喜欢我的咖啡,加一点肉豆蔻。
我喜欢有很多肉豆蔻的咖啡。
我喜欢带一点香草的咖啡。
我喜欢有大量香草的咖啡。
我喜欢带一点焦糖的咖啡。
我喜欢有大量焦糖的咖啡。
我喜欢带一点榛子的咖啡。
我喜欢有大量榛子的咖啡。
我喜欢带一点杏仁的咖啡。
我喜欢有大量杏仁的咖啡。
我喜欢我的咖啡,有一点薄荷味。
我喜欢我的咖啡有很多薄荷味。
我喜欢带一点摩卡的咖啡。
我喜欢有大量摩卡的咖啡。
我喜欢我的咖啡,有一点浓郁的咖啡。
我喜欢我的咖啡有很多浓缩咖啡。
我喜欢加一点无咖啡因的咖啡。
我喜欢喝大量无咖啡因的咖啡。
我喜欢加一点豆浆的咖啡。
我喜欢加很多豆浆的咖啡。
我喜欢加一点米奶的咖啡。
我喜欢加很多米浆的咖啡。
我喜欢我的咖啡加一点脱脂牛奶。
我喜欢加很多脱脂牛奶的咖啡。
我喜欢我的咖啡加一点点2%的牛奶。
我喜欢我的咖啡加很多2%的牛奶。
我喜欢我的咖啡加一点点全脂牛奶。
我喜欢我的咖啡加很多全脂牛奶。
我喜欢我的咖啡加一点点脱脂牛奶。
我喜欢喝大量脱脂牛奶的咖啡。
我喜欢我的咖啡加一点点脱脂牛奶。
我喜欢我的咖啡加很多脱脂牛奶。
我喜欢我的咖啡加一点杏仁奶。
我喜欢加很多杏仁奶的咖啡。
我喜欢我的咖啡加一点燕麦奶。
我喜欢加很多燕麦奶的咖啡。
我喜欢我的咖啡加一点腰果奶。
我喜欢我的咖啡加很多腰果奶。
我喜欢我的咖啡加一点澳洲坚果奶。
我喜欢我的咖啡加很多澳洲坚果奶。
我喜欢我的咖啡加一点榛子奶。
我喜欢我的咖啡加很多榛子奶。
我喜欢我的咖啡加一点儿椰奶。
我喜欢我的咖啡加大量的椰奶。

=> 执行停止。请插入更多的箭头。

Want to Connect?