V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
abersheeran
V2EX  ›  程序员

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

  •  1
     
  •   abersheeran · Sep 21, 2021 · 2997 views
    This topic created in 1680 days ago, the information mentioned may be changed or developed.

    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 replies    2021-09-22 09:52:44 +08:00
    AndyAO
        1
    AndyAO  
       Sep 21, 2021
    之前好像听说过 Python 的超集 Coconut,还有类似 Hy 这样的基于 Python 的 Lisp,「鸣蛇」和那些有什么区别?

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

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

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

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