还有比 SQL 更贴近自然语言的编程语言吗?

2020-01-03 19:21:43 +08:00
 szzhiyang
6604 次点击
所在节点    程序员
38 条回复
jinliming2
2020-01-04 07:49:35 +08:00
编程语言本就是向计算机下达指令,而计算机却不认识“高级编程语言”,所以必须要编译才行。
自然语言灵活多变,就算是现在 AI 已经比较发达了,要准确处理自然语言也是及其困难的,特别是像中文这种极其灵活的语言……
要编写自然语言的编译器,首先就要解析处理自然语言的语法语义,而这带来的成本和收益并不平衡。

而现有的这些“类自然语言”的编程语言,实际上本质上它们的语法也都是固定的,比如上面提到的 wenyan-lang,要定义函数,就必须以固定的格式去写,你要想换一种写法是不行的。

所以,最多只能是以近似自然语言的语法去设计编程语言的语法,但是就算是这样,你在尝试编写代码的时候也会感觉很别扭,因为你平时不会这么说话……
Daming
2020-01-04 07:57:25 +08:00
SQL 应该写成 from table select xxx 才自然
arice
2020-01-04 08:48:39 +08:00
dsl
lp7631010
2020-01-04 09:10:30 +08:00
易语言表示不服
MrUser
2020-01-04 09:14:42 +08:00
表面上:
1. 易语言贴近中文
2. AppleScript/Swift 贴近英文
个人感觉应该是:正!则!表!达!式!
pythonee
2020-01-04 09:23:32 +08:00
@Daming 这是中式英语吧
zjp
2020-01-04 09:59:51 +08:00
@Daming 这点忍不住歪楼吐槽了
表名在后导致指定 select 字段时不能自动补全,每次得先写个 slect * 放着
yvanst
2020-01-04 10:05:28 +08:00
@no1xsyzy haskell 之流更贴近你举的例子吧。SQL 按照书本上说就是贴近自然语言,不声明如何做,只声明做什么
cigarzh
2020-01-04 11:07:49 +08:00
当然似 ruby 喽
FrankHB
2020-01-04 13:31:10 +08:00
贴近?难分析、有歧义、胡搞上下文?随便糊个就是。哦,自然语言几乎没有设计只有演化,这个 feature 倒是不太容易抄,你得糊一个然后等几个几百年看看有没有流行,是不是被当作扫除文盲的 KPI ……
@yvanst 自然语言是同时能声明做什么和如何做,哪有那么残废。
shintendo
2020-01-04 13:38:25 +08:00
@pythonee 那 python 的 import 也是中式英语了
janxin
2020-01-04 13:50:20 +08:00
SQL 一点都不贴近自然语言好吧...AppleScript 了解一下
no1xsyzy
2020-01-04 20:11:09 +08:00
@FrankHB 没有设计只有演化:把随便谁设计新的 Lisp 方言当演变过程的话(包括 PG 的新语言,和 Yin 语言等)可以算……
在一定程度上好像确实被当作 “文盲” 标准,就是有种鲁迅时代 “茴” 字写法那样的学究气……
no1xsyzy
2020-01-04 20:19:20 +08:00
@xuanwu 看到你贴的那个专栏的评论,其实我刚想说 coq 更贴近自然语言,但想想自己根本没实际用过 coq,根本没什么可说的。
FrankHB
2020-01-04 20:39:52 +08:00
@no1xsyzy 没有设计=随便谁都可能无意识地糊屎被当作设计,大部分的 Lisp 都还不够格,因为没法保证用户代码重现语言特性。
eq06
2020-01-05 00:26:39 +08:00
SQL 并不贴近自然语言啊,谁平时脑子里找个东西,是一行数据和一个表格拼接来拼接去的
xuanwu
2020-01-05 06:10:38 +08:00
@no1xsyzy 那篇后来发现 agda 已经有这个特性了,而且两年前还有一位用中文标识符演示过。。
Ninzya
2021-11-17 05:37:56 +08:00
ada

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/634877

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX