站长之家首页 > 经验 > 编程最新资讯 > 正文

有内味儿了,东北话做编程语言,好使、招人稀罕

2020-02-06 13:43 · 稿源:机器之心公众号

声明:“本文经机器之心(微信公众号:almosthuman2014)授权转载,作者:思源、Jamin禁止二次转载”。

如果东北话是编程语言中使用的主要语言,编程是否更招人稀罕?学习编程是否会更欢乐?

前段时间,机器之心刚介绍过以文言文为编程语言的 CMU 本科生项目。近日,圈内又惊现以东北方言词汇为基本关键字的编程语言(dongbei),此项目一出便有天雷勾地火,宝塔镇河妖之势。作者是一位 Google 的高级软件工程师/技术主管,同时也是 Google C++测试框架 googletest 以及 googlemock 的原作者。

项目地址:https://github.com/zhanyong-wan/dongbei

黑客 代码 安全漏洞 程序

dongbei 是个啥项目?

简而言之,它是一门东北方言词汇为基本关键字的编程语言。作者在项目开篇便强调了此编程需要「以人为本」:

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

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

  • 简单啊!小学文化程度就行。您能看懂春晚不?能?那就没问题。

  • 好读啊!看着看着包您不由自主地念出声儿来。

  • 开心啊!呃,做人嘛,最重要的是要开心。

  • 开源啊!不但不要钱,而且不要脸 -- 随时随地欢迎东北话高手打脸指正。

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

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

没事儿,跑两圈

项目是用来跑的,是骡子是马需要拉出来溜溜。用东北话写代码,看起来就比较有意思,因此我们也把这个项目拉到电脑上溜一溜。首先,只要你的系统有 Python 3,那就甭麻烦了,直接下载 GitHub 项目,跑 src/dongbei.py 就成。

如下短视频展示了下载及测试东北方言编程的简单过程,项目实测很好用:

我们用着非常顺滑,只需要保证开发环境有 Python 3 就行了。在上面的短视频中,我们测试了东北方言中的「Hello World」,即输出「唉呀,这嘎哒真他妈那啥!」。这里唯一需要注意的是东北方言代码文件需要确保字符编码方式为 UTF-8,即在代码文件最上一行加上「# -*- coding: utf-8 -*-」。

如果你觉得编译成功,完美地问候了世界,那我们写一小段循环语句:

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

直观理解起来就是:我们先给老王赋值为 3,然后循环十次,每次老王会加二。确实在运行中,我们也能得到期望的结果。不过值得注意的是,每次执行东北方言,它都会给出对应的 Python 代码,如下所示,「从 1 到 10 磨叽」展示的却是 range(1, 11),这也许是使 Python 更贴近方言语法。

东北方言编程还有很多待我们挖掘的地方,也有很多更有意思的扩展。项目作者在项目中详细介绍了各种词法与语法,其它开发者同样还提了很多有意思的建议,例如:

创建个新对象 - > 娶个新媳妇?

break - > 完犊子了

exit() - > 整没了

Exception - > 整岔劈了

type() - > 你瞅啥

也许等项目完善后,导入第三方库,用东北话写个神经网络也是阔以滴。

东北话「规则」大全

dongbei 固然好玩,但避免有些对我大东北方言整的不太明白的同学,作者也提供了一些词法,语法,语义的解释。

东北话词法

字符串常量:字符串常量的用法变化不大,比如依旧是需配对对应的双引号,这里理所应当配对的是中文全角双引号:

...“我是一个字符串”...

注释:注释依旧使用 #,在字符串常量外,从 # 号开始后的都会成为注释而被忽略掉:

唠唠:  # 我是一个注释。
唠唠:“嘎哈#?”。

两者是一样一样滴。

分词:而分词方面,为了适应广大中文语言使用者,作者将其设定为加不加空格或换行都一样。要知道在西方各语言中,空格对分词的意义非常大,往往会导致整个词组或语句所表达的核心意思完全不同。下面我们来看看示例:

唠唠:“嘎哈?”。

两者也是一样一样滴,没有任何区别。

名字:在 dongbei 的设定里,除了关键词、标点符号和常数,其余都是名字。「张三乘李四」会自动判定「乘」是关键词,「张三」「李四」是名字。如要避免这种情况,可以直接添加【】把一串字符标注为名字。

如【张三乘李四】则会完全被判定一个名字,而不是再将「乘」当作关键词。这一点在之前的文言编程中是做不到的,我们在写文言语句时经常要避开采用关键词做变量名。

常数:除了日常所用的阿拉伯数字所表示的十进制整数外,dongbei 同样可支持使用中文表达 0 - 10 的常数:

零一二三四五六七八九十

二也可以写成两或者俩。三也可以写成仨。「+」也可用中文「加」表示。

东北话语法

东北话词法承接厚重的中国文化,我们怎么用着舒服就怎么定义。而到了语法,一方面需要有对应的 Python 语句,另一方面也要保留原汁原味的东北话语法。dongbei 程序是通过多个语句组成,每一个语句通过句号「。」分隔。项目作者表示,为了表达开发者炽热的情感,结尾的句号也可以等价替代为感叹号「!」。

项目作者在 README 文件中描述的语法非常详细,但是我们感觉直接看示例更加便捷。要是在写东北话代码时遇到了问题,那时再具体看看 README 中的语法也是不错的选择。

具体而言,我们可以从如下 8 个方面了解整体语法情况,这也是项目作者准备的「dongbei 语言考试小抄」。

1. 变量

image.png

2. 运算

image.png

3. 比较

image.png

4. 打印

image.png

5. 条件

image.png

6. 循环

image.png

7. 组合

image.png

8. 套路

image.png

  • 大家在看
  • 相关推荐
  • 现代编程语言大 PK,2020 年开发者关心的七大编程语言

    果我们把人类文明想象成汽车的话,那么软件开发行业就相当于汽车的引擎,编程语言就像引擎的燃料。”作为一名开发者,需跟随技术潮流的发展来学习新技术。 2020 年,你有计划新学一门编程语言吗?

  • 风雨29年:微软正式放弃Visual Basic编程语言

    ​微软近日宣布,未来将不再发展Visual Basic(以下简称VB)这门编程语言,只会做一些稳定性、兼容性的维护工作。微软同时表示,.NET5 开始,VB将支持类库、控制台、Windows窗体、WPF、Woker Service、ASP.NET Core Web API,方便现有的VB程序迁移到.NET Core。

  • RedMonk 2020 年 Q1 编程语言排行:Python 冲进前二,Dart 值得关注

    编程语言排行榜通过追踪编程语言在 GitHub 和 Stack Overflow 上的代码使用情况与讨论数量,统计分析后进行排序,其旨在深入了解潜在的语言采用趋势。该榜单一年发布两次,这是今年第一份榜单,下一次榜单将于 6 月份,即第三季度编程语言排行。

  • 学习少儿编程有哪些误区

    很多家长由于对少儿编程的不了解而产生一些误会。其实少儿编程可以说是针对小孩子的一门必要课程,而这个课程刚好又能够对孩子的生活起到帮助作用。在美国,少儿编程早已成为孩子们必不可少的课程之一,其他国家也同样呼吁青少儿学习编程。再看看国内的家长们对学习少儿编程都有哪些误区?1、学习编程要先学会电脑和英语?很多家长错误地将少儿编程和计算机代码编程混为一谈,认为必须要先学会使用电脑、键盘和英语,才能开始学习编?

  • 机甲大师S1编程挑战卡:宅家学习新玩法,十分钟轻松学编程

    今日,DJI大疆创新在其官网上线了机甲大师RoboMaster S1 编程挑战卡,挑战卡采用项目式学习 (Project Based Learning, PBL) 理念进行设计,通过设置挑战任务提升用户参与主动性。用户操作机甲大师S1 完成挑战卡任务,由浅入深学习编程、机器人和人工智能知识,降低用户编程学习门槛。新购机用户可免费获赠全套卡片,已购机用户亦可在官网免费下载。编程挑战卡:轻松 10 分钟,玩转机器人“编程挑战卡”是为机甲大师S1 设计的专属?

  • 编程猫开展各省市全国中小学电脑制作活动趣味编程专项培训,助力教师全方位备赛

    近期,因新冠病毒的影响,全国人民万众一心,八方驰援武汉,势必打赢这场硬仗。为了防控疫情,全国各级各类学校和幼儿园延迟开学。在如此特殊的环境之下,编程猫积极响应,开展全国中小学电脑制作活动趣味编程专项教师培训,并将线下培训转为线上培训,为疫情下的教师提供全方位的备赛及教学工作支持,共克时艰。近年来, 为了进一步贯彻落实“教育要面向现代化,面向世界,面向未来”和“计算机的普及要从娃娃做起”的战略指导思?

  • 极客晨星解读少儿编程为什么会如此火热

    随着人工时代的到来,越来越多的家长也开始重视少儿编程。于此同时,越来越多的科研、教育机构也涉足到少儿编程教育领域中。奥巴马也被包装成编程教育推广大使,这位首位编写计算机程序的美国前总统曾发起“An Hour of Code”(一小时编程)活动)。他说编程学习应该和字母学习一起开始。对于孩子们来说,有趣好玩的“少儿编程”课程,能让他们在不同作品和创意中学习计算机语言,才是一种由浅到深、由表及里的学习方式,一方面是为了

  • 核桃编程X支付宝小程序 “小程序编程马拉松“ 向全国中小学生发出邀请

    “让每个孩子爱学习、会学习,让优质的教育触手可及”,是核桃编程的使命。小程序编程让看似不相交的支付宝与核桃编程走在了一起,他们正共同让编程少年们的梦想成为现实。近日,核桃编程X支付宝小程序“小程序编程马拉松”正式启动,活动将立足于支付宝小程序,邀请全国青少年共同发挥编程创作与实践能力。据悉,本次活动由被行业誉为“国民编程课程”的核桃编程发起,并提供教研支持与课程方案设计,支付宝小程序团队优秀技术人?

  • 极客晨星:学编程,可以让孩子更好地立足未来

    编写程序的目的是完成一个目标:例如实现一张电子贺卡,为了实现目标就需要对目标本身和实现目标的方法进行规划和设计。由于互联网的蓬勃发展,给我们的生活也带来了很大的便利,尤其教育方面。越来越多的家长为了孩子能够学习到更多的知识,从小就给孩子报各种特长班,各种技能培训。尤其是少儿编程,受到了众多家长的青睐,因为少儿编程不仅仅提升的是孩子的逻辑思维能力,更是一个全面综合能力的提升。其实这是一件很好的事,移

  • 极客晨星告诉你孩子学习少儿编程需要天赋吗?

    对于少儿编程,想必大家都已经耳熟能详了,这是目前教育三大趋势之一,其他两个分别是在线教育和素质类教育。随着国家政策出台,各省的高中小学也纷纷响应,编程作为特长生和高考选考科目进入到实际的升学考试中,这使得家长纷纷焦虑了起来。95%的家长心目中都有一个疑问:编程起码是大学生才能学习的吧?我们孩子不知道有没有编程天赋,也可以学习吗?其实,家长们有点想多了。?类的?脑发育成熟要远远早于?类身体的各个器官。例如,

  • 中高考政策又变了!再不重视编程, 以后孩子升学都难了

    不知道大家发现没有,现在育儿圈里有个越来越明显的趋势——家长给孩子安排课外补习时,除了万年不变的英语和数学外,也越来越重视编程的学习,尤其重视“编程思维”的培养。很多牛娃家长们也整天把“编程思维”挂嘴边,不管是懵懵懂懂刚上小学的孩子,还是上了初中高中的中学生,都被家长要求学编程。这到底是为什么呢?现在小星就来给大家解疑。一、高中阶段招生取消体育、艺术等加分项目在教育部办公厅印发的《关于做好 2018 年?

  • 苹果即将宣布伯明翰教育计划,推广苹果的“人人都能编程”课程

    2月27日据9to5mac报道,苹果CEO蒂姆·库克将在当地时间今天在阿拉巴马州的伯明翰参加一个新闻发布会,根据媒体猜测苹果将在这次发布会上宣布一项新的教育计划,让伯明翰当地公立学校参与到苹果的“ 所有人都可以编码”课程。苹果公司的“人人都能编程”计划(Everyone Can Code initiative),旨在让更多初学编程的人可以快速入门编程知识。

  • 抗击新冠疫情,叮当码推出公益Python编程培训助力“停课不停学”

    2020 年 2 月,一个不平凡的月份。新冠疫情肆虐蔓延,各行业延迟复工,学校延期开学,各级教育主管部门陆续发布非常时期应对政策,暂停一切线下形式的校外培训辅导,积极响应教育部“停课不停教、停课不停学”的号召。 在这个非常时期,叮当码人工智能心系疫情的发展,在 2 月初迅速推出“特别行动计划”,面向全国中小学校在疫情期间免费开放教学平台、针对广大教师推出“停课不停学,师培送到家”的公益活动、为中小学生搭建起P

  • 讯飞输入法×优酷玩转热剧《乡村爱情》 土味方言老有趣!

    近几年,品牌联动越来越火热,跨界合作产生着奇妙的化学反应。在“万物皆可跨界”的年代,讯飞输入法携手优酷,联动国民热剧《乡村爱情12》和《刘老根3》上线东北话纯度测试小程序,建立起良好的方言保护氛围,让留住乡愁有了更好的承载体。方言在人类文明的历史进程中肩负着传承优秀文化的历史任务,但随着城镇化不断推进,人口流动不断加速,讲方言的人越来越少,这是社会进步的写照,但同时也给人们带来一丝顾虑:方言流失了怎?

  • 华为推应用内支付服务 支持78种语言

    近日,华为推出了应用内支付服务。作为HMS的重要环节之一,应用内支付聚合了全球主流支付方式,助力开发者在全球范围灵活实现商业变现。

  • 出国旅行不惧语言问题,ColorOS 通话翻译你很需要

    随着国际交流不断的增强,人们在出国旅行或者工作中的沟通已经成为刚需,对于外语能力不强的人来说,虽然当下已经有了不少的翻译软件,但依旧会存在不便利的情况,大多数人都希望能有同声传译的功能帮助实时沟通。而ColorOS发布的一则短视频为我们展示了ColorOS 7. 1 版本中强大的“通话翻译”功能,可以帮助大家解决在通话中的实时翻译问题。据官方消息显示,在ColorOS 7. 1 中增加的“通话翻译”功能,可以让我们在通话时进行实?

  • Visual Basic 永远29岁,微软宣布不再发展这门语言

    近期,微软 NET 团队在开发者博客中宣布,他们虽然还会继续在 .NET 5.0 上支持 Visual Basic ,但不再将 VB 作为一门独立的语言发展(Going forward, we do not plan to evolve Visual Basic as a language)。

  • 艾德一站通:“东北中成药龙头”来了,现代中药集团递表港交所

    继康方生物科技赴港IPO后,本月港交所再迎来一只医药公司申请IPO。根据 2 月 20 日港交所的信息披露,现代中药集团有限公司向港交所递交主板上市申请,中投证券担任其独家保荐人。东北中成药龙头艾德一站通观察到,现代中药集团的历史源自至 1980 年代,并于 2001 年由国有企业转为有限公司。公司主要从事生产中成药,中国提供中老年人士使用的非处方药及处方药。现代中药集团的产品在东北市场反响较好,并正在逐步扩大中国其他地?

  • 时隔四年,谷歌翻译终于新增支持五种语言

    谷歌翻译(Google Translate)自 2016 年以来就没有增加支持新的语言,现在该公司一口气新增五种语言支持,它们为卢旺达语、奥里亚语、鞑靼语、土库曼语和维吾尔语。相当于为全球范围的1. 83 亿人提供了谷歌翻译服务。

  • 2019 年开源软件漏洞增长近 50%,C 语言漏洞占比最高

    ​WhiteSource 通过对 650 多个开发人员进行了调查,并从 NVD(Nartional Vulnerability Database)、安全公告、经过同行评审的漏洞数据库、问题跟踪程序等渠道收集了数据之后,整理发布了一份研究报告。该报告显示,2019 年公开的开源软件漏洞数已激增至 6000 多个,同比增长了近 50%。

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议