V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
szzhiyang
V2EX  ›  程序员

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

  •  
  •   szzhiyang · 2020-01-03 19:21:43 +08:00 via iPhone · 6515 次点击
    这是一个创建于 1773 天前的主题,其中的信息可能已经有所发展或是发生改变。
    38 条回复    2021-11-17 05:37:56 +08:00
    ysc3839
        1
    ysc3839  
       2020-01-03 19:23:25 +08:00 via Android
    AppleScript?
    aguesuka
        2
    aguesuka  
       2020-01-03 19:33:38 +08:00   ❤️ 1
    wenyan-lang
    itskingname
        3
    itskingname  
       2020-01-03 19:35:02 +08:00 via iPhone
    Python
    i66
        4
    i66  
       2020-01-03 19:35:35 +08:00 via Android
    Python +1
    wildlynx
        5
    wildlynx  
       2020-01-03 19:37:01 +08:00
    Cobol ?
    python
        6
    python  
       2020-01-03 19:38:52 +08:00   ❤️ 4
    Ruby
    wangyzj
        7
    wangyzj  
       2020-01-03 19:50:15 +08:00
    KuroNekoFan
        8
    KuroNekoFan  
       2020-01-03 20:30:47 +08:00 via iPhone
    css
    lululau
        9
    lululau  
       2020-01-03 20:41:13 +08:00 via iPhone
    要说最贴近自然语言,应该是 AppleScript,然而贴近自然语言并等于好用和高效
    RickyC
        10
    RickyC  
       2020-01-03 20:48:04 +08:00
    貌似就觉得 SQL 最接近自然语言
    但是接近自然语言并不觉得好用
    thchanpeter
        11
    thchanpeter  
       2020-01-03 22:20:15 +08:00
    BASIC
    taotaodaddy
        12
    taotaodaddy  
       2020-01-03 22:47:36 +08:00 via Android
    海龟
    danhahaha
        13
    danhahaha  
       2020-01-03 22:49:27 +08:00
    易、易语言?
    crella
        14
    crella  
       2020-01-03 22:58:55 +08:00 via Android   ❤️ 1
    等等,自然语言是指汉语还是法语还是英语还是???
    omph
        15
    omph  
       2020-01-03 23:45:49 +08:00
    wenyan-language
    XDDD
        16
    XDDD  
       2020-01-04 00:13:05 +08:00 via iPhone   ❤️ 1
    贴近自然语言大概不是什么好事。AppleScript 算是做得最激进的,但是 set A to B 可读性明显差于 A=B,还有用 property of object 代替 object.property 等
    7gugu
        17
    7gugu  
       2020-01-04 01:57:00 +08:00 via Android
    wenyan-lang ?文言文编程那个
    no1xsyzy
        18
    no1xsyzy  
       2020-01-04 02:07:06 +08:00
    SQL 贴近的是数学语言
    SELECT n FROM S WHERE x > 80
    相当于
    {n|(n, x)∈S, x>80}
    不仅仅是相似,而是 SQL 就是设计为数学语言的近似
    ——
    Riposte 挺近似的,不过功能非常单一
    xuanwu
        19
    xuanwu  
       2020-01-04 05:56:07 +08:00
    一种改进中文 API 可读性的方法:参数不限于在末尾
    https://zhuanlan.zhihu.com/p/100790479
    iamverylovely
        20
    iamverylovely  
       2020-01-04 06:28:11 +08:00
    cv++

    cv++更自然

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

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

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