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

Python 超集语言——鸣蛇,双语文档网站终于搞完了

  •  1
     
  •   abersheeran · 2021-09-21 01:08:46 +08:00 · 2596 次点击
    这是一个创建于 1150 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://github.com/abersheeran/mingshe

    https://mingshe.aber.sh/

    这一次我写了许久文档来阐述语法说明和使用方法,并且完整地编写了中文和英文两种语言的文档。起码能覆盖 80% 以上的程序员能熟练阅读的自然语言了吧。

    还得特别感谢 @frostming 为鸣蛇编写了 VSCode 高亮插件 https://marketplace.visualstudio.com/items?itemName=frostming.vscode-mingshe 以及提供了安装后免手动加代码、自动加载鸣蛇代码模块的方法。

    如果你的项目是 3.9+ 的,可以尝试使用一下鸣蛇,目前在我几个小玩意里运行起来一切顺畅。如果是低于这个版本的,但又想试试管道、可选链这些语法的,也可以用,但是需要自己手动执行 mingshe --compile 命令来编译到纯 Python 代码。

    希望大家有兴趣的试试,没兴趣的只给个 star 也行。🤭

    12 条回复    2021-09-22 09:52:44 +08:00
    AndyAO
        1
    AndyAO  
       2021-09-21 06:05:48 +08:00
    之前好像听说过 Python 的超集 Coconut,还有类似 Hy 这样的基于 Python 的 Lisp,「鸣蛇」和那些有什么区别?

    未来是否有计划提供对 PyCharm 的支持?
    Varchar
        2
    Varchar  
       2021-09-21 07:11:01 +08:00 via iPhone
    为什么写这个呢? 想做到什么?有什么优势?
    whileFalse
        3
    whileFalse  
       2021-09-21 10:32:24 +08:00
    好像……就只是……语法糖?
    xiaket
        4
    xiaket  
       2021-09-21 10:56:08 +08:00
    连 C 都没有, 怎么还说是超集?
    abersheeran
        5
    abersheeran  
    OP
       2021-09-21 12:36:18 +08:00   ❤️ 1
    @AndyAO 优势就是目前只有鸣蛇支持 3.10 的模式匹配语法。相比于 Coconut,鸣蛇代码可以直接作为 Python 模块去用,编译结果也更加清爽。你可以对比一下,coconut 编译出来的代码有多难看。
    AndyAO
        6
    AndyAO  
       2021-09-21 12:45:43 +08:00
    @abersheeran #5
    对编程语言方面的事情基本上没什么了解,总感觉挺高大上的。

    感觉语言是否伟大,是否流行,感觉很重要的,是看有没有杀手级的应用。

    例如,Ruby 很大程度上是靠 Ruby On Rails 。

    你创造这个语言主要是用在哪个工具上?是单纯为了平常随便用用或者是兴趣吗?
    abersheeran
        7
    abersheeran  
    OP
       2021-09-21 14:36:32 +08:00
    @AndyAO 给 Python 多加点语法而已。至于工具,你喜欢用什么 Python 工具,都可以在鸣蛇里用。
    AndyAO
        8
    AndyAO  
       2021-09-21 15:01:04 +08:00
    @abersheeran #7
    那么这就属于「痒痒创新」了,此前太高看了。
    abersheeran
        9
    abersheeran  
    OP
       2021-09-21 15:46:00 +08:00
    @AndyAO 你都提了 Coconut,我还以为你明白什么是“超集”。如果你非要类比才理解,那你可以把鸣蛇当成更好用的 Coconut 。看来我此前也太高看了。
    cominghome
        10
    cominghome  
       2021-09-22 09:47:02 +08:00
    出道即巅峰了啊老哥,感觉就管道那有点意思
    krixaar
        11
    krixaar  
       2021-09-22 09:47:46 +08:00
    @xiaket Technically,两个语言哪怕功能完全一样,都可以叫各自的超集;如果 A 语言比 B 语言多哪怕一个功能,那 A 都是 B 的真超集 /s
    abersheeran
        12
    abersheeran  
    OP
       2021-09-22 09:52:44 +08:00
    @cominghome 是的啊,我也觉得只有管道最有用。哈哈哈,但是我看 C#、JavaScript 之类的都加了可选链这种东西,那我也加上了,反正也不困难。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2034 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:16 · PVG 00:16 · LAX 08:16 · JFK 11:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.