dongbei 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
dongbei 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
dongbei 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 Python
操作系统 跨平台
软件类型 开源软件
所属分类 编程语言
开源组织
地区 国产
投 递 者 东方星痕
适用人群 未知
收录时间 2020-02-28

软件简介

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

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

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

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

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

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

不扯犊子了。翠花,上酸菜~~~

 

快排示例

!/usr/bin/env dongbei
# -*- coding: utf-8 -*-

# 快速排序
【排得贼快】(村子)咋整:
  寻思:村子有几个坑 跟 零 一样一样的?
  要行咧就 滚犊子吧 村子。
  
  杆子装村子的老大。
  几个杆装零。
  矮墩庄都是活雷锋。
  高个庄都是活雷锋。
  哥们儿 在 村子 磨叽:
     寻思:哥们儿 跟 杆子 一样一样的?
     要行咧就 几个杆走走。
     要不行咧就寻思:哥们儿比杆子还小?
     要行咧就 矮墩庄来了个哥们儿。
     要不行咧就 高个庄来了个哥们儿。
  磨叽完了。

  顺溜庄都是活雷锋。
  矮墩 在 整【排得贼快】(矮墩庄)磨叽:
    顺溜庄来了个矮墩。
  磨叽完了。
  还行从一到几个杆磨叽:
    顺溜庄来了个杆子。
  磨叽完了。
  高个 在 整【排得贼快】(高个庄)磨叽:
    顺溜庄来了个高个。
  磨叽完了。
  滚犊子吧 顺溜庄。
整完了。

# 乱炖庄 = 「2, 3, 7, 6, 2, 8, 2, 1」
乱炖庄都是活雷锋。
乱炖庄来了群路银「二,三,七,六,二,八,二,一」。

唠唠:整 【排得贼快】(乱炖庄)。

# 运行结果:
# --------
# 「1, 2, 2, 2, 3, 6, 7, 8」

语言小抄

常数

唠唠:零。  # 0
唠唠:鸭蛋。  # 0
唠唠:一。  # 1
唠唠:二。  # 2
唠唠:俩。  # 2
唠唠:两。  # 2
唠唠:三。  # 3
唠唠:仨。  # 3
唠唠:四。  # 4
唠唠:十。  # 10
唠唠:没毛病。  # True
唠唠:有毛病。  # False

变量

老张是活雷锋。  # 定义变量。初始值:啥也不是。
老张装二。  # 老张 = 2
削老张。  # 老张 = 啥也不是
老王是活雷锋。
老王装老张。  # 老王 = 啥也不是
老王装仨。  # 老王 = 3
老张装老王。  # 引用变量。老张 = 3
炮决老王。  # 老王尸骨无存了。
唠唠:老王。  # 整叉劈了:不认识老王。

群众

张家庄 都是活雷锋。  # 张家庄是个群众变量。初始值是「」。
张家庄 装「二加三,“大”」。  # 张家庄现在 = 「5, '大'」
张家庄 装 路银「二加三,“大”」。  # 意思一样。张家庄现在 = 「5, '大'」
张家庄 来了个 三。  # 张家庄现在 = 「5, '大', 3」。
唠唠:张家庄 掐头。  # 「'大', 3」
唠唠:张家庄 去尾。  # 「5, '大'」
唠唠:张家庄 有几个坑。  # 3
唠唠:张家庄 的老大。  # 第一个人(5)。
唠唠:张家庄 的老(三减一)。  # 第二个人('大')。
唠唠:张家庄 的老幺。  # 最后一个人(3)。
李家村 都是活雷锋。  # 李家村也是个群众变量。初始值是「」。
李家村 来了个 三。  # 李家村现在 = 「3」。
李家村 来了个 张家庄。  # 群众的一个元素本身可以是群众。李家村现在 = 「3, 「5, '大', 3」」。
李家村 来了群 张家庄。  # 把张家庄的群众挨个加入李家村。李家村现在 = 「3, 「5, '大', 3」, 5, '大', 3」。
炮决 李家村 的老三。  # 李家村现在 = 「3, 「5, '大', 3」, '大', 3」。
唠唠:李家村 的老二 的老大。  # 5。
削 张家庄。  # 张家庄现在啥也不是。

抱团

唠唠:抱团。  # ()
唠唠:五抱团。  # (5,)
唠唠:五跟六抱团。  # (5, 6)
老王装五跟六跟七抱团。  # (5, 6, 7)
唠唠:老王的老大。  # 5
唠唠:老王的老二。  # 6
唠唠:老王的老幺。  # 7
唠唠:老王有几个坑。  # 3

运算

老张 走走。  # 老张 += 1
老张 走两步。  # 老张 += 2
老张 稍稍。  # 老张 -= 1
老张 稍三步。  # 老张 -= 3
老张 装 老王 加 二。  # 老张 = 老王 + 2
老张 装(老张 减 三)除以 五 乘 老王。  # 老张 = (老张 - 3)/5*老王
老张 装 老张 齐整整地除以 老王。 # 老张 = (老张 / 老王),只留整数部分
老张 装 老张 刨掉一堆堆 老王。 # 老张 = 老张除以老王的余数
老张 装 拉饥荒 老王。  # 老张 = - 老王

比较

老王比5还大
7加二比老刘还小
老张跟老王一样一样的
老李跟250不是一样一样的
老刘啥也不是

交流

唠唠:“唉呀妈呀”。  # 打印字符串常量。
唠唠:老王。  # 打印变量的值。
唠唠:老王比老张还大。  # 打印表达式的值。
唠唠:“老王是”、老王。  # 打印两个表达式的并置。
唠唠:最高指示。  # 打印当前命令行。
贵姓 装 整你吱声(“你贵姓?”)。  # 等待用户输入。

条件

寻思:老王比老张还大?
要行咧就唠唠:“老王!”。
要不行咧就唠唠:“老张!”。

循环

老王从1到10磨叽:
  唠唠:老王。
磨叽完了!

老张在张家庄磨叽:
  寻思:老张比二还大?
  要行咧就开整:
    唠唠:老张。
    接着磨叽。  # continue
  整完了。
  要不行咧就尥蹶子!  # break
磨叽完了。

组合

寻思:老王比老张还大?
要行咧就开整:
  唠唠:“老王!”。
  唠唠:“你好美!”。
整完了。

套路

【阶乘】(那啥)咋整:  # 定义套路 阶乘,有一个参数 那啥。
  寻思:那啥比一还小? # 需要自推吗?
  要行咧就 滚犊子吧 一。  # 返回值1。
  要不行咧就 滚犊子吧 那啥乘整【阶乘】(那啥减一)。  # 需要。返回自推结果。
整完了。  # 定义结束。

唠唠:整【阶乘】(五)!  # 使用套路

阶级

# 定义 有名 class, 没有 parent class。
无产阶级的接班银 有名 阶级咋整:
  新对象(名字)咋整:  # 定义初始化 有名class 对象的方法。
    俺的名字 装 名字。  # 将对象的名字属性设成参数的值。
  整完了。
整完了。

# 创建一个有名class的新对象,参数为“林蛋大”。
老林 装 有名的新对象(“林蛋大”)。
唠唠:老林的名字。  # 林蛋大

 # 定义 特有名 class,parent class 是 有名。
有名阶级的接班银 特有名 阶级咋整:
  新对象咋整:  # 定义初始化 有名class 对象的方法。没有参数。
    # 调用 有名 阶级的初始化方法。
    整 领导的新对象(“赵英俊”)。
    # 特有名 阶级特有的操作。
    俺的 年龄 装 25。
  整完了。

  公岁咋整:
    滚犊子吧 俺的 年龄 除以 二。
  整完了。

  显呗咋整:
    唠唠:“我你都不认识啊?我是那啥”、俺的名字、“!”。
  整完了。
整完了。

老赵 装 特有名的新对象。
唠唠:老赵 整 公岁。  # 12.5
老赵 整 显呗。
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(58) 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
58 评论
68 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部