Giter Club home page Giter Club logo

dongbei's Introduction

dongbei - 东北方言编程语言

dongbei 语言永久域名:http://dongbei-lang.org/

学编程,就整东北浪!

Make dongbei Great Again !!!

体格咋地

体格咋地

扫码关注原作者微信公众号“老万故事会”:

引言

dongbei 是啥?它是一门以东北方言词汇为基本关键字的以人为本的编程语言。

这玩意儿可是填补了世界方言编程地图上的一大片儿空地啊! 这么说吧,谁要是看了 dongbei 程序能憋住了不笑,我敬他是纯爷们儿!

那它有啥特点咧?多了去了:

  • 简单啊!小学文化程度就行。您能看懂春晚不?能?那就没问题。
  • 好读啊!看着看着包您不由自主地念出声儿来。
  • 开心啊!呃,做人嘛,最重要的是要开心。
  • 开源啊!不但不要钱,而且不要脸 -- 随时随地欢迎东北话高手打脸指正。

总而言之,dongbei 语言具有极高的娱技比(娱乐精神-技术含量比例)。

dongbei 编程语言的开发采用了业界领先的 TDD(TreeNewBee-Driven Development) 方式。 具体地说,就是每个功能都是先把文案写好,八字没一撇牛皮就吹起来了,然后根据牛皮写测试案例,最后再实现功能让牛皮不被吹破。 这样做有两大好处:第一每个功能都是有的放矢,不值得 tree new bee 的功能一概没有。 第二确保了每个功能都有文案负责吹嘘,开发者绝对不会养在深闺无人识。

自 dongbei 语言发布以来,到哪儿都受到银民群众的热情赞誉,滔滔江水罄竹难书。 兹摘录评论数则:

  • “陈独秀比起你来都差点。”
  • “也太无聊了吧。”
  • “劲太大了,给我整上头了。”
  • “作者可以去中科院了。”
  • “把我头笑掉了你拿什么赔?!”
  • “寻思看个文章我咋自动带入语音了害?”
  • “哈哈哈哈感觉我要爱上编程了哈哈哈。”
  • “你这不像是编程语言,更像是语音助手。。飙泪笑”
  • “这都要从一只蝙蝠说起。。。”
  • “过于沙雕。”
  • “中科院点了个赞.jpg”
  • “千万资金属于你。”
  • “我搁家躲病毒,圈得五脊六兽的,一看着这玩意儿,齐了咔嚓地就给它念完了!这家伙,早前儿电脑要有这好玩意儿也不至于程序一捅咕上就跟划不开拐抢不上潮似的!”
  • “东北从此有四宝。”
  • “就想问问是不是在家闲出病来了。”
  • “这种东西编译器课程认真做作业的花点时间都能捣鼓出来吧。”
  • ”咱这东北老爷们儿这不都给你们这帮憋犊子祸害成整电脑的了。“
  • ”无聊,和农民造飞机一个德行。“
  • ”还是静下心来做真正的研发吧,老实说,**已经过度的娱乐化了,现在连技术都要娱乐化吗?一个翻译语法的外壳而已,咱们不可能靠这些娱乐化的东西来打退别人的技术封锁,更不可能造成战略优势的!“
  • “来人啊,又憋疯一个!”

看到这里,你是不是已经按捺不住,急赤白咧,上蹿下跳了呢? 不扯犊子了。 翠花,上酸菜~~~

系统要求

dongbei 语言是基于 Python 3 二次开发的。 只要能跑 Python 3 的旮旯儿都能跑。 像 macOS 啦、Windows 啦、Linux 啦,等等等等,都成!

安装

安装 python3

要是你的系统还没装 python3 呢,那得先装一个,免费!

比如,你要是用 Mac 的话,就按 Mac Python3 安装指南 来。

安装 dongbei

clone 或者下载这个 dongbei 仓库之后,就可以直接跑 src/dongbei.py 了!

要是想更方便呢,建议用 pip3 装 dongbei-lang,完了可以直接用 dongbei 命令跑程序。

安装 pip3

要是你的系统没有 pip3 呢,也可以装一个,还是免费。详情可咨询: Windows, Mac, Ubuntu

用 pip3 安装 dongbei

装好 pip3 后就可以装 dongbei-lang 了:

# 给这台电脑的所有用户安装
pip3 install dongbei-lang

# 只给自己安装
pip3 install dongbei-lang --user

# 更新到最新的 dongbei 版本。要是只给当前用户更新,加 --user
pip3 install dongbei-lang --upgrade

装好了就可以这么用了:

dongbei <xxx>.dongbei

没有虚拟环境忒费劲,用虚拟环境整一下:

$ python3 -m venv venv
$ source venv/bin/activate
$ pip install -r requirements.txt

然后找个例子比划比划:dongbei --bihua 磨叽

唠嗑

学 dongbei 最快速的方法是跟大哥唠嗑。这种方式不用编程就可以上手,现学现用。

打开唠嗑模式很简单。要是你已经安装了 0.0.16 版以上的 dongbei-lang,只需

dongbei

要是你只是克隆了 dongbei 代码仓库,还没有安装 dongbei-lang,就整

src/dongbei.py

做完以上操作,你应该看到

你要跟 dongbei 大哥唠嗑啊?开整吧!要是一句话太长咧你就用\拆开唠。
你瞅啥?

这时你只要用 dongbei 话告诉大哥你想瞅啥就行。比如:

你要跟 dongbei 大哥唠嗑啊?开整吧!要是一句话太长咧你就用\拆开唠。
你瞅啥? 三加二减五
0

大哥会算术,知道三加二减五等于零。

要是一句话太长咧,可以用反斜杠拆开唠。比如:

你瞅啥? 三加\
你还瞅啥? 二减五
0

也可以多唠几块钱儿的。dongbei 大哥记性好,你说了啥都记着呢:

你瞅啥? 老王装二!
你瞅啥? 老王走两步!
你瞅啥? 老王
4

等你熟悉 dongbei 就明白了,这段嗑唠的是:先让老王装个 2,再让他加个 2,然后一瞅老王,现在是 4 了。

等你不想唠了,只需问候大哥“瞅你咋地”,他就不跟你再掰豁了:

你瞅啥? 瞅你咋地
完犊子了!

跑程序

目前人类已知的跑 dongbei 程序的方法有三种:

  1. 要是没有用 pip3 安装 dongbei-lang,可以用 src/dongbei.py 程序文件 命令来跑一个 dongbei 程序。
  2. 要是已经安装了 dongbei-lang,可以用 dongbei 程序文件 命令。
  3. 要是已经安装了 dongbei-lang,也可以在一个 dongbei 程序文件的开头插入一行 #!/usr/bin/env dongbei 再把文件改成可执行的(比如在 Linux / macOS 上跑 chmod +x 程序文件)。然后,就可以直接用 程序文件 命令来跑码了。

用前两种方法的时候,可以在命令行加上 --xudao(絮叨)让系统打印和 dongbei 程序对应的 Python 代码。 这在开发和学习 dongbei 的时候大有裨益。

但假如你现在还没修炼出一手正宗的大碴子味代码,但又想一品正宗 dongbei 味儿,欢迎使用--bihua直接上手运行我们提前准备好的精选dongbei代码合集。毕竟 dongbei 精神就是要能上手,绝不bibi。

$ dongbei --bihua 斐波那契
执行 dongbei 案例: 「斐波那契」

瞅瞅0的结果:
你整的啥输入啊?
瞅瞅15的结果:
1、1、2、3、5、8、13、21、34、55、89、144、233、377、610

测试

没事跑跑

test/dongbei_test.py

身体更健康。

吃了没,老铁

创建一个名字叫 hello-world.dongbei 的文本文件,内容如下:

嘀咕:“唉呀,这嘎哒真他妈那啥!”。

用 UTF-8 编码保存。 要是编辑器因为编码有毛病埋汰你,那就把文件内容改成

# -*- coding: utf-8 -*-

嘀咕:“唉呀,这嘎哒真他妈那啥!”。

再试,应该就成了。

然后在命令行窗口运行:

dongbei hello-world.dongbei

你应该看到执行结果:

唉呀,这嘎哒真他妈那啥!

学习材料

要是你以前有 dongbei 语言基础,或者不耐烦看文档,可以直扑 dongbei 语言考试小抄

要是你习惯以听歌的方式学习,请下载 dongbei 语言官方宣传歌曲《Dongbei Style》歌词)。

要是你想全面深入掌握 dongbei 语言,那就得读读 dongbei 语言咬文嚼字

这里还有一些精选的示范程序供大家参考:

参与开发

dongbei 欢迎大伙儿帮衬。 要是您有意相助,请看 dongbei 开发人间指南

周边

一个好汉三个帮。 dongbei 的老铁们开发了这些个周边项目,让你在用 dongbei 编程的时候如虎添翼,如鱼得水,如痴如醉,如胶似漆:

还有上海宁把 dongbei 本地化搞了个上海话版:https://github.com/cabuliwallah/shanghai-from-dongbei
四川哥子模仿 dongbei 弄了个四川编程语言: https://github.com/AoiKuiyuyou/SichuanLang.git
又有位高中生凑热闹整了个粤语编程语言: https://github.com/StepfenShawn/Cantonese.git

dongbei's People

Contributors

ayaka14732 avatar billchenchina avatar gghg1989 avatar harrywang avatar harukafuture avatar huoxingdawang avatar i7mist avatar mike-unk avatar mike96265 avatar xinxiao avatar zhanyong-wan avatar zou000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dongbei's Issues

建议添加0xcc为”太ye了“的彩蛋

众所周知,0xcc转换为字符串即为”烫“(如C语言中的经典报错”烫烫烫“),为符合东北人(尤其是气质,可添加0xcc为”太ye了“的彩蛋

建议增加try

python 的try 还是很有用笛。。但我也不知道try用东北话怎么说

Create CI/CD pipeline to upload the package to PyPi

Create CI/CD pipeline to publish dongbei-lang interpreter binary to PyPi so that users can install the tool with pip and directly use dongbei-lang in the following procedure:

# Install
pip install dongbei-lang

# Run dongbei-lang scripts
dongbei-lang <script>.dongbei

为啥整不了阿

bash: src/dongbei.py: /usr/local/bin/python3: 解释器错误: 没有那个文件或目录

支持处理命令行参数

一个 dongbei 程序应该可以处理命令行参数。可以考虑一个叫 最高指示 的系统变量,内容为 sys.argv。

标点这么高高

标点都是中文标点吗,句末不论是!。还是其他都没关系是吧

建议增加“你瞅啥”+“瞅你咋地”

众所周知,瞅你咋地容易干架导致被kill,那不如?

用法:

老王装一 # laowang = 1
你瞅啥老王 # assert(laowang)

老李装假 # laoli = 0
瞅老李咋滴 # assert(!laoli)

pip好像用不了

pip install dongbei-lang 出现提示:

ERROR: Invalid script entry point: <ExportEntry dongbei = dongbei.__main__:None []> for req: dongbei-lang - A callable suffix is required. Cf https://packaging.python.org/specifications/entry-points/#use-for-scripts for more information.

我 jio 得吧 该启用“那啥”了

瞅完了文档 俺跟俺老婆勒勒了一下
俺们都觉得 那个“几”吧 有点儿问题
既然咱说了 dongbei 是个不需要 specifier 的玩意儿
那说“几”这个词就有点儿小了对吧 你看这样好不好使哈——

【阶乘】咋整:  # 定义套路 阶乘,有一个参数 那啥
  老王是活雷锋。
  老王装一。
  老李从一到那啥磨叽:
    老王装老王乘老李。
  磨叽完了。
  滚犊子吧老王!  # 返回值。
整完了。  # 定义结束。

然后吧 你说你想搞多点儿仁儿进去
那就 那啥那啥 就行了呗

foo咋整:
    bar咋整:
        滚犊子吧那啥那啥加那啥
    整完了。
    滚犊子吧 bar
整完了。

就 酱婶儿的——

function foo(a) {
  function bar(b) {
    return a + b;
  }
  return bar;
}

建议增加输入

一门语言没有输入问题很大啊
建议以跟xx唠唠作为输入
如:跟老王唠唠 #向老王里输入数值

报错

File "./dongbei.py", line 136
return f'{self.kind} <{self.value}>'
^
SyntaxError: invalid syntax

如何一起整

有没有Slack Channel
或者 PR 的流程
或者 现在整老前面了的需求
想试着帮着整整

支持导入dongbei模块

现在可以用 翠花,上sys。 来导入一个 Python 模块,但还不能导入 dongbei 模块。

应该支持 翠花,上酸菜。 语法,导入一个叫 酸菜.dongbei 的模块。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.