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

想写一个更高智商的编程语言

  •  
  •   enm · 2018-05-01 07:25:38 +08:00 · 11892 次点击
    这是一个创建于 2400 天前的主题,其中的信息可能已经有所发展或是发生改变。

    初步打算从 lisp to js 的解释器开始,逐步完善语法、API、标准库,等成熟后再编译到 C、wasm 等更高效的语言。

    想了解一下各位的看法,比如有没有更好的做法、怎样才是更好的语言?


    目前写的介绍开头

    • to smart programers
    • the smart way to progrom
      • editor → object → lisp → code
      • code editor showing the most concise reprentation for you
        • no unnecessary parentheses
        • personal abbrivitions
        • personal coding style
      • object reprentation for every lines of code
        • a id to directly jump to, even the line number has changed
        • who created/modified
        • last modified time
      • text reprentation with lisp syntax
        • universal syntax
        • easily manuplate by program (eg. code editor)
        • easily compile to other languages
      • code to excute on different platform
        • ideally the machine code
        • might be assembly/c/rust/wasm
        • currently javascript
    第 1 条附言  ·  2018-05-01 11:14:39 +08:00
    关于 没人用 /只有我用 /没必要 /现有语言更好 之类的问题,要回答的话就涉及到一个更深层次的问题。

    为什么现有的软件这么多,却没一个真正好用的?
    比如说 gtd 类型的软件,各个平台加起来有上千款,然而最好用的还是纸笔或者纯文本。
    造成这种现象的本质在于数量并不能弥补质量,仅仅靠更多人、更多时间、更多钱、更多宣传并不能创造出更好的软件。

    其它实用的语言本质上是数量优先,为的是用更多价格低的员工弥补 hacker 的缺失。
    而我想写的语言本质上是质量优先,为的是提高使用者的编程水平和效率。

    因此我认为它一定不流行,因为这不是一个服从大多数人的语言。
    甚至有可能令人讨厌,比如已经有人连我的英文介绍都没看懂就出来秀智商。
    但也一定有 hacker 来用,因为这是唯一质量优先的实用语言。

    所以我现在的主要疑问是怎么用更低的时间成本去实现?
    95 条回复    2018-05-03 17:01:05 +08:00
    qiukong
        1
    qiukong  
       2018-05-01 07:32:44 +08:00   ❤️ 2
    想法不错,但需要有个高智商的头脑
    Ultraman
        2
    Ultraman  
       2018-05-01 08:03:12 +08:00 via Android   ❤️ 17
    跑个题
    Every programming language was made up by people that were no smarter than you
    我表示质疑😏😏
    yu099
        3
    yu099  
       2018-05-01 08:23:35 +08:00 via Android
    010101000001 这样的机器码吧
    jazoma
        4
    jazoma  
       2018-05-01 08:54:43 +08:00   ❤️ 4
    这样的语言早就有了,而且有很多,它们都合起来就叫"面向员工编程语言", 使用这门语言的程序员叫老板。
    metorm
        5
    metorm  
       2018-05-01 08:57:50 +08:00 via Android   ❤️ 1
    Brainfuck 了解一下?
    947211232
        6
    947211232  
       2018-05-01 09:41:45 +08:00
    想法是好的,but 时间成本很重要,需要团队并且需要推广,否则你大概只写给你自己用。
    KKKKKK
        7
    KKKKKK  
       2018-05-01 10:07:44 +08:00 via iPhone   ❤️ 1
    Rust 了解一下
    htfy96
        8
    htfy96  
       2018-05-01 10:09:20 +08:00
    估计没有人用,worse is better
    forestyuan
        9
    forestyuan  
       2018-05-01 10:15:34 +08:00   ❤️ 1
    醒醒,起来搬砖!
    skywalker
        10
    skywalker  
       2018-05-01 10:23:19 +08:00
    lisp to js? 直接用 clojure 不就好了,你自己都没想法,还是先搬砖吧
    lulinux
        11
    lulinux  
       2018-05-01 10:36:42 +08:00 via Android
    不装逼会被打死。
    AllOfMe
        12
    AllOfMe  
       2018-05-01 11:16:25 +08:00
    首先需要一个高智商的大脑+1
    coyove
        13
    coyove  
       2018-05-01 11:18:08 +08:00
    lisp -> llvm -> js
    这样的话有现成的工具
    enm
        14
    enm  
    OP
       2018-05-01 11:18:59 +08:00   ❤️ 2
    如果一个高智商的大脑就够了,那 Yin 语言不早就写出来了吗?
    enm
        15
    enm  
    OP
       2018-05-01 11:22:07 +08:00
    仅仅是用 lisp 的语法,并不是要写一个 lisp
    oswuhan
        16
    oswuhan  
       2018-05-01 11:27:46 +08:00
    加油,别理这些冷嘲热讽的。
    niubee1
        17
    niubee1  
       2018-05-01 11:28:13 +08:00
    编程语言跟软件好不好用完全是两个事情好吧
    dtgio
        18
    dtgio  
       2018-05-01 11:29:49 +08:00 via iPhone   ❤️ 1
    希望你能坚持下去,希望看到你的作品
    wizardforcel
        19
    wizardforcel  
       2018-05-01 11:39:34 +08:00 via Android
    不知道怎么个智能,你再怎么造也不如 nlp 智能
    bumz
        20
    bumz  
       2018-05-01 11:51:47 +08:00   ❤️ 4
    我觉得把

    Everything around you that you called life was made up by people that were no smarter than you

    改成

    Every programming language was made up by people that were no smarter than you

    不太好


    毕竟事实上

    Most programming language were made up by people that were much much smarter than you


    很多你以为

    愚蠢 不方便 不够个性化 的设计

    其实是经过了长期实践的检验 无数失败的教训

    才成了 今天这个样子的


    而很多你觉得好并且真的好的设计

    其实大多数编程语言本来就有
    Building
        21
    Building  
       2018-05-01 11:57:16 +08:00 via iPhone   ❤️ 2
    @bumz 一听就是有: 这代码写得真垃圾,让我来重构一下深刻体验的人。
    zhjits
        22
    zhjits  
       2018-05-01 11:57:41 +08:00   ❤️ 1
    你要在 editor 里面直接写 object 的话,JetBrains MPS 了解一下,都凉了好多年了(现在功能上还是可以用的,就是没人用而已)
    ltoddy
        23
    ltoddy  
       2018-05-01 11:58:16 +08:00
    prolog 了解一下?
    SuperMild
        24
    SuperMild  
       2018-05-01 12:00:32 +08:00 via iPhone
    说什么都没用,至少要先做一个 demo 出来才能讨论
    shihira
        25
    shihira  
       2018-05-01 12:30:28 +08:00 via Android   ❤️ 3
    现有语言有龌龊的地方,本质上是因为物理上不完美,需要 tradeoff。比如,内存不是无限大,内存不够快,等等等等你无法改变的东西。于是乎你必须要考虑资源管理这种龌龊的事情,gc ?还是提出某种机制如 raii 交由用户管理?无论哪个都有缺点,都不完美。

    所以楼主,你打算怎么设计内存管理机制,或者放点设计得比较得意的代码片段吧
    vsomeone
        26
    vsomeone  
       2018-05-01 12:40:00 +08:00 via iPhone   ❤️ 5
    你这跟罗永浩有什么区别…
    daigouspy
        27
    daigouspy  
       2018-05-01 12:43:06 +08:00 via Android
    首先你确定你自己是更高智商的吗?
    lrxiao
        28
    lrxiao  
       2018-05-01 12:54:14 +08:00
    算了吧(
    丢个 checklist: http://colinm.org/language_checklist.html
    lunafreya
        29
    lunafreya  
       2018-05-01 13:30:27 +08:00 via iPhone
    我认识一个做 PL 的同学,现在跑去做 NLP 了。
    另外我没有看到一个所谓的新语言, 而且楼主好像也不有表现出理解当代编译器机制的情况。
    一个语言的核心当然是其语法和语义,不是什么 api, 标准库,后者只能决定这个语言好不好用,前者决定了这个语言的表现力(比如是否图灵完备等)如果你能给出一个比较好的 demo, 我觉得产生一个可用的新语言问题不大。
    Ps. 每年在实验室产生的新语言有数千个
    crlf0710
        30
    crlf0710  
       2018-05-01 13:40:39 +08:00
    1. 我觉得首先需要定义高质量。
    2. 读代码比写代码更困难。维护周期比书写周期长得多。
    3. 按照楼主的思路,一个更容易定义的目标是:更高智商的人*才能*用的编程语言。
    windfarer
        31
    windfarer  
       2018-05-01 13:43:50 +08:00
    haskell 了解一下
    xiaojie668329
        32
    xiaojie668329  
       2018-05-01 13:46:50 +08:00 via iPhone
    软件不好用跟语言没关系吧。
    waruqi
        33
    waruqi  
       2018-05-01 13:53:36 +08:00 via Android
    有这点时间在这里扯,赶紧去码代码吧,写出来自然有人支持。
    fox0001
        34
    fox0001  
       2018-05-01 13:57:26 +08:00 via Android
    感觉需求不明确。什么是好用,什么是只有聪明的程序员才适合用?更不明白的是,为什么是编译成其它语言?
    tiancaiamao
        35
    tiancaiamao  
       2018-05-01 14:08:41 +08:00   ❤️ 2
    小伙子,我年轻的时候也像你这么想。
    后来我弄明白这门语言之后,就不这么想了。
    http://www.shenlanguage.org/
    FrankHB
        36
    FrankHB  
       2018-05-01 14:27:48 +08:00
    小碰友们哪,天赋点对了没,基础知识兹瓷准备到家了没?不要没事就要造个大煋闻,有点经验的都会在 [事前] 怀疑为什么要拿 js 那么不靠谱的后端搞什么语言……识得唔识得啊?

    利益相关:独立重新发明部分 fexpr & vau calculi [1](虽然懒得证 Church-Rosser property )/space hierarchy of activation records [2]/CESK-style abstract machine [3],刚刚尝试重新发明 abstraction power theory [4]。
    发现有重复轮子之后悲痛欲绝欣喜若狂 /大失所望 /如释重负 /索然无味(?)。

    [1] http://lambda-the-ultimate.org/node/4093
    [2] http://www.brics.dk/RS/05/2/BRICS-RS-05-2.pdf
    [3] https://dl.acm.org/citation.cfm?id=277719
    [4] http://lambda-the-ultimate.org/node/4861

    半成品暂时不放了……

    @tiancaiamao Shen 设计上还是比较水的,中规中矩吧。
    FrankHB
        37
    FrankHB  
       2018-05-01 14:41:37 +08:00
    @lunafreya 设计语言和实现语言都算是做 PL,然而内容差得远了。
    恕我直言,搞 PL 的,至少我这些年听说过的看到过的,多数不会设计语言,强一点的主要体现在会发 paper 灌水,基本上也不会写 spec。
    绝大多数从业者基础不达标到普通码农水准类似(例如啥 paralleism 和 concurrency 都扯不到点上,又如某乎上什么弱类型强类型的问题回答一溜儿槽点)。
    少数知识比较健全又会写 spec 的,如 Robert Harper 之流,都未必算得上全职搞 PL 的,而且已然走偏了。
    要实现嘛……企业里干活也有不上道的。(记得王垠提过个 Coverity 里的 C++代码的错误,一看就是说不上会 C++嘛)
    搞 NLP 或许是个更正经的出路,因为正经的 NL 没有设计,只有演化;虽然我看来逆向文法是很疼的不过或许有人乐在其中吧。
    FrankHB
        38
    FrankHB  
       2018-05-01 14:51:30 +08:00
    @shihira 你这题目太水了吧,backend 就支持 GC 的设计,一个 GC 糊过去都碾压了(恶心不恶心另一回事)。

    换个题目有兴趣的可以玩玩:提供 first-class environment,允许 first-class side effects,不使用全局 GC,如何设计内存管理相关的机制支持 proper tail call ?

    (Hint: It's ur freedom to re-shape the language rules.)
    sensui7
        39
    sensui7  
       2018-05-01 14:51:43 +08:00
    @vcinex 你好像没有理解这句话

    > Every programming language was made up by people that were no smarter

    而且还有 8 个赞,
    FrankHB
        40
    FrankHB  
       2018-05-01 14:57:24 +08:00
    @waruqi emmm...
    https://github.com/FrankHB/YSLib/blob/master/YFramework/source/NPL/NPLA1.cpp#L997

    我柑橘这附近有些 bug ……谁か助けて~っ!

    (人格担保不是大作业:)
    FrankHB
        41
    FrankHB  
       2018-05-01 15:19:56 +08:00   ❤️ 1
    @shihira 咦,刚才有一段好像没贴上……

    反了,不完美的不是物理而是 model。比如,凭什么内存是无限大才是完美的?凭什么访存有延时比起延时为零是完美的?(足够小……好像没法吐槽……)物理上恰好相反,这些你想要的完美性质会引起无法处理的奇点。在我看来,妥协——或者说正视需求——是设计之所以成为设计的本质之一,而自以为是的完美是另一种龌龊。

    @xiaojie668329 真不见得,比如 cmd 比 powershell 用起来屎主要还就是因为语言设计的关系。当然,反过来像 ps1 下 chcp 65001 都炸那就应该是比较纯粹的人祸了。
    udtrokia
        42
    udtrokia  
       2018-05-01 15:32:17 +08:00 via iPhone
    卧槽 兄弟你和我想的一样
    cdkey51
        43
    cdkey51  
       2018-05-01 15:32:45 +08:00 via iPhone
    @vcinex 哈哈
    udtrokia
        44
    udtrokia  
       2018-05-01 15:40:29 +08:00 via iPhone
    我的思路是 先用 scheme 解释 html,然后 dom 操作,然后看看能不能基于 webkit 搞个浏览器出来,
    可能这东西没有图灵完备
    hbhswj
        45
    hbhswj  
       2018-05-01 15:43:53 +08:00 via Android
    @vsomeone 忍不住赞了哈哈
    eccstartup
        46
    eccstartup  
       2018-05-01 16:36:36 +08:00 via iPhone
    不用为了延长鄙视链而发明轮子了,鄙视链的顶端是数学,现在的发展方向是底端,不需要编程语言而编程。
    enm
        47
    enm  
    OP
       2018-05-01 17:46:23 +08:00
    @udtrokia 类似但更好的思路是 用 scheme/rust/c 等做后端数据操作,直接生成表示 view 的 json/html,通过 socket 传到 electron 或 webview 进行显示。
    这类做法性能更好,但时间成本高,在开始阶段暂时不考虑。
    enm
        48
    enm  
    OP
       2018-05-01 17:50:11 +08:00
    其他那些一点实现思路都提不出,就在那大言不惭的,感谢你们的激励
    momocraft
        49
    momocraft  
       2018-05-01 17:59:30 +08:00
    "高智商" 可能一定程度上是 overfitting
    udtrokia
        50
    udtrokia  
       2018-05-01 18:02:20 +08:00 via iPhone
    @enm 不知道你的目的是什么😂 我第一步是用一种语言快速开发 web 应用,后面的协议方面可能会设计
    udtrokia
        51
    udtrokia  
       2018-05-01 18:07:41 +08:00 via iPhone
    @enm chez, phoenix, elixir, nix, webassembly, nim 我想做一个工具
    udtrokia
        52
    udtrokia  
       2018-05-01 18:10:14 +08:00 via iPhone
    @enm 可以加下微信 有空聊聊哈 Ilevrunning
    greatghoul
        53
    greatghoul  
       2018-05-01 18:15:15 +08:00
    写吧。
    zcjfesky
        54
    zcjfesky  
       2018-05-01 18:41:03 +08:00 via Android   ❤️ 2
    这帖就是“我有一个好主意,征求一个帮我实现的程序员合伙”的扩大版本

    “怎样才是更好的语言”这个问题你都没有一个完备的定义,就开始考虑“怎么写出一个更好的语言”

    再譬如简介里的“ easily ”,"ideally",具体是要实现什么效果?在别的语言是否没有实现?为什么这个效果比别人更 easily ?你有具体的证明吗?

    你自己的思路请自己先构出原型,别人才有机会插嘴,否则大言不惭的恐怕不是别人
    hdjs5264
        55
    hdjs5264  
       2018-05-01 19:11:26 +08:00
    歪个楼,omnifocus 了解一下
    maxco292
        56
    maxco292  
       2018-05-01 19:20:06 +08:00 via Android
    支持,类型系统想好了吗,给 lisp 加类型可不是什么简单的事。
    xupefei
        57
    xupefei  
       2018-05-01 19:34:19 +08:00
    我觉得 LZ 可以先用中文写,顶楼这英文我看了半天也没懂……
    cnt2ex
        58
    cnt2ex  
       2018-05-01 19:37:33 +08:00
    > 甚至有可能令人讨厌,比如已经有人连我的英文介绍都没看懂就出来秀智商。

    这英文一堆问题。
    cnt2ex
        59
    cnt2ex  
       2018-05-01 19:57:07 +08:00
    逗号不能分割完整的句子。单词拼写错误。不定冠词用错。复数形式。其他。
    我甚至怀疑你是来钓鱼的。
    changhe626
        60
    changhe626  
       2018-05-01 20:06:31 +08:00
    scala
    不了解一下.
    carlclone
        61
    carlclone  
       2018-05-01 21:28:31 +08:00
    楼主你这英文真的要秀吗.....
    Moackyy
        62
    Moackyy  
       2018-05-01 22:37:18 +08:00
    楼主不妨先聊一下一门语言的发展?还有楼主透漏一下本身的职业,看到底有多靠谱
    msg7086
        63
    msg7086  
       2018-05-01 23:47:57 +08:00   ❤️ 2
    the smart way to "progrom"
    code editor showing the most concise "reprentation" for you
    object "reprentation" for every "lines" of code
    text "reprentation" with lisp syntax
    easily "manuplate" by program (eg. code editor)
    code to "excute" on different platform

    抱歉,我智商真的没高到可以流畅地阅读这种语言文字。

    而且看你说了那么多,不还是个键盘侠?
    tempdban
        64
    tempdban  
       2018-05-02 01:20:23 +08:00 via Android
    有 llvm 了,何苦呢…
    neoblackcap
        65
    neoblackcap  
       2018-05-02 01:31:52 +08:00
    说那么多不就是一个以 s 表达式作为 ast 的语言嘛,同类型的东西请看 Jetbrains 的 MPS。
    你说那么多都不是一个语言的问题了,反而更多的是工具。你这样语言基本限制了用什么工具打开你的源代码。如果我用 vim 打开就变成了写 lisp 了。唯有用你的 smart code editor 打开才能显示成最合适的的样子,你需要的是一个 IDE 而不是语言了。
    ryd994
        66
    ryd994  
       2018-05-02 01:37:47 +08:00 via Android
    王垠
    zhanao1994
        67
    zhanao1994  
       2018-05-02 02:27:08 +08:00 via Android
    话说垠王的语言弄完了吗
    20015jjw
        68
    20015jjw  
       2018-05-02 03:14:35 +08:00 via Android
    lz 你要不看看写 wolframalpha 的大佬有多聪明
    FrankHB
        69
    FrankHB  
       2018-05-02 05:07:13 +08:00
    @eccstartup 数学多了去了……幼稚园算术也是数学,还不让鄙视了不成。不说 PL 关心的很多东西根本就是基础数学(如数理逻辑)与(至少有试过作为)数学的基础(如范畴论),谁鄙视谁还不一定呢。
    @tempdban llvm 是干嘛你造嘛……虽然他们当年也以为能吞并 libjit 的……
    tempdban
        70
    tempdban  
       2018-05-02 07:41:59 +08:00 via Android
    @FrankHB …看来可能只有你知道 llvm 是干嘛的
    nycbdwss
        71
    nycbdwss  
       2018-05-02 08:29:35 +08:00
    我发现你跟老罗差不多 没造手机前抱怨别人的手机怎么怎么不好 说自己一定要创造一个秒天秒地的最 nb 的手机 结果....真正到他自己做手机的时候 才发现原来被说的话一次次被打脸
    torbrowserbridge
        72
    torbrowserbridge  
       2018-05-02 08:29:54 +08:00 via Android
    torbrowserbridge
        73
    torbrowserbridge  
       2018-05-02 08:31:37 +08:00 via Android
    误操作
    alphanow
        74
    alphanow  
       2018-05-02 09:05:26 +08:00
    Talk is cheap. Show me the code.
    -Linus Torvalds
    ioth
        75
    ioth  
       2018-05-02 10:03:46 +08:00
    @vsomeone 罗锤子发大...财了,你得有资格看不起别人。
    zhaogaz
        76
    zhaogaz  
       2018-05-02 10:14:42 +08:00
    其实楼主说的有点矛盾

    一般来说,语言智能了,就不需要聪明人写代码了。

    语言不智能,需要聪明人来处理。


    你举例的 gtd,想证明的是,软件这么多,但是没有一个好用,因为语言层面不智能。

    成品的项目,显然不是编程语言能解决好坏的。。。不知道楼主想清楚没有?

    楼主要是真的不知道自己在做什么,你就把你所有想说的话都说出来。我们帮你分析原因。。。。
    LAS
        77
    LAS  
       2018-05-02 10:36:17 +08:00
    c 语言了解下?
    smallHao
        78
    smallHao  
       2018-05-02 10:44:27 +08:00
    不如先把英语学好可好?
    FrankHB
        79
    FrankHB  
       2018-05-02 12:13:18 +08:00
    @tempdban 如果你只是说“干嘛”的,不就是个挂了一坨拖油瓶的 LLVM IR 的实现么。
    设计用来干嘛和能干嘛是两码事。是否合适又是另一回事。
    FrankHB
        80
    FrankHB  
       2018-05-02 12:28:29 +08:00   ❤️ 1
    @zhaogaz 不巧,刚好这个领域的聪明人都写代码,并且在可预见的未来内恐怕也只有写代码这种方式靠谱。

    道理和说给 LZ 听的一样简单:需求到底是得用户自己说的,不是靠谁猜的。

    与其说需要聪明人才能处理不够智能的语言,还不如说导致沟通成本大大上升、效率大大下降的所谓“智能”是不够聪明的人没有其它选项的妥协——不得不牺牲时间放在容错上先尽量保证正确性。

    最清晰直接地表示需求的方式是什么?形式语言。不是类似自然语言那种以给没有经过训练的一般用户省事的模糊陈述,而是精确的程序设计语言——如果没有现成的系统去解这些描述的需求,那就顺便自己动手丰衣足食解了就是。至于消化成本的方式多得是,看有多“聪明”咯……而且可以肯定的是:1)比引入适应不够聪明的人解整体更简单; 2)整体还就是绕不过写代码(只不过不是自己写罢了)。

    当然,也有再怎么聪明的人和不那么聪明的人没多大区别的时候——比如规模失控。但是聪明人为什么要浪费资源陪着玩呢?
    no1xsyzy
        81
    no1xsyzy  
       2018-05-02 12:30:25 +08:00
    我怎么就突然变成了过来人……( https://github.com/no1xsyzy/pysinpl

    第一,先做成某个语言上的框架,保证在没有做到完全独立的情况下能够用现存的还过得去的语言写库,或者包装一个库。就一个 html 库就够写上很久的了
    第二,如果你不提出一个全新的范式,也很难产生一个全新的语言,Python 给了很大的自由度(大约已经有 lisp 的 60%了),基本上就是包装一下的事,这种情况下与其称为语言,不如说是一个自用的代码库——这种其实随时间就自然形成了。
    第三,库的
    hmzt
        82
    hmzt  
       2018-05-02 16:32:01 +08:00
    果然每个程序员都喜欢重复的造轮子(包括我)
    sampeng
        83
    sampeng  
       2018-05-02 16:59:24 +08:00
    看到题目进来。。。
    然后又看到一句
    等成熟后再编译到 C、wasm 等更高效的语言。。。
    恩?要这何用?你就不能直接编译成机械码?轮子多的全世界汽车加起来都都不够用了吧。。。

    第一要定义什么是高智商,第二要定义什么叫编程语言。。


    我的理解。。高智商的编程语言真的像楼上所说的老板。
    对着某人或者物吼一嗓子,东西就出来了。是不是很神奇
    gamecreating
        84
    gamecreating  
       2018-05-02 18:29:42 +08:00
    没必要
    w4462358
        85
    w4462358  
       2018-05-02 19:39:05 +08:00
    楼主有想法.我很支持.但是现在抛出几个问题
    1.你这个语言的定位是什么? 后端开发? 前端开发?嵌入式开发?
    2.复杂的语言很多.语法糖多的语言也很多.但是真正火的语言.往往是简单容易理解的.因为你写出机器能理解的代码不难.但是写出人容易理解的代码就很难.项目上了规模考虑的都是迭代成本.语言可读性,维护性就很重要.
    3.我不觉得写代码是个智商工作..往往和智商关联不大.也许你觉得算法可能跟智商有关系..但是本质上只是唯手熟尔罢了.
    GentleSadness
        86
    GentleSadness  
       2018-05-02 19:56:42 +08:00 via Android
    我说真的,与其说我要最安全,不如说我做了什么,你这堆东西说的好听叫有志气,说得难听叫只会吹

    先上代码,说说自己会写什么再吹比
    encro
        87
    encro  
       2018-05-02 19:59:54 +08:00
    框架不就是干这个事情的吗?
    你要做的难道不是基于某框架做一套组件库吗?
    移动端安卓和 iOS 设计规范不是做这个的吗?

    复杂在于你认为每有一定标准,而现实审美是变化和动态的。
    FrankHB
        88
    FrankHB  
       2018-05-02 20:13:38 +08:00
    @no1xsyzy spec 貌似不全?
    第三,续到哪去了……
    unusualcat
        89
    unusualcat  
       2018-05-02 21:15:38 +08:00
    罗永浩了解一下
    no1xsyzy
        90
    no1xsyzy  
       2018-05-03 00:33:47 +08:00
    @FrankHB 是的,spec 不全,之前的基本上就是写着玩的,到毕设了就掏出来做了,不妨看看 fyp-interim 里面的 final.md (或者 make final.pdf ,需要 pandoc,pandoc-citeproc,pandoc-crossref,以及任意 latex 引擎),这个是毕设的最终报告,但其实并不是完全实现了(逃)。
    实际上应该是可以实现 lisp 的宏的,但又不需要 lisp 的奇怪语法结构,但这一点也没得包票。
    depeng
        91
    depeng  
       2018-05-03 09:02:47 +08:00
    做个 demo 出来,否则都是放屁
    hellojl
        92
    hellojl  
       2018-05-03 10:56:42 +08:00
    Wolfram 了解一下,然后,再学学英语......
    FrankHB
        93
    FrankHB  
       2018-05-03 12:27:16 +08:00
    @no1xsyzy 实现是指以你提供的特性允许表达和涵盖功能,还是指添加类似特性到你的语言中?

    Lisp 的语法奇怪是指? S-expression 本身基本上就是一坨 AST,不过要用宏多出来的一坨 special forms 看起来是比较不干净。

    如果能表达分清楚 eval 前后的东西,Lisp 的宏其实挺多余的……实现 hygiene 也远远不需要那么麻烦。当年 McCathy 大概没往这里细想就是了。
    picasso2501
        94
    picasso2501  
       2018-05-03 13:56:14 +08:00
    我已经开始做了
    omnip
        95
    omnip  
       2018-05-03 17:01:05 +08:00
    ‘为什么现有的软件这么多,却没一个真正好用的? ’
    是么?大家都这么想么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5418 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 05:56 · PVG 13:56 · LAX 21:56 · JFK 00:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.