东北话编程:有人用东北话整了一套编程语言,东北人说看不懂!

原始链接在: 东北话编程:有人用东北话整了一套编程语言,东北人说看不懂! - 小众软件

画风是这样的:

  • 嘀咕:“你好,世界!”。
  • 【老王】是活雷锋。 (声明一个叫“老王”的变量)
  • 【老王】装 100。 (把100这个值赋给“老王”)
  • 寻思、要行咧、要不行咧:if / else
  • 磨叽: for 循环
  • 滚犊子吧:return
  • 整:函数调用
  • 尥蹶子:break
  • 瞅你咋地:灵魂 / 文化核心
就…还真的能用!蛮离谱的。

开发者提供了一个例子:用东北话写的小游戏汉诺塔动唤:

源码如下,有没有东北开发者来解读一下:

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

翠花,上 curses。

无产阶级 的接班银 汉诺塔 阶级咋整:
  新对象(白纸,几层)咋整:
    俺 的 白纸 装 白纸。
    俺 的 几层 装 几层。
    俺 的 柱子堆 装 「「」,「」,「」」。
    楼层 从 一 到 几层 磨叽:
      俺 的 柱子堆 的 老大 来了个 楼层。
    磨叽完了。
  整完了。

  画画 咋整:
    俺 的 白纸 整 clear。  # TODO: 允许省略“俺的”。
    整 curses.curs_set(鸭蛋)。

    大盘子多宽 装 俺 的 几层。
    柱子距离 装 大盘子多宽 乘 二 加 四。
    桌面 装 俺 的 几层 加 三。
    俺 的 白纸 整 addstr(桌面,二,(柱子距离 乘 三 加 一)乘 “-”)。
    多远 装 大盘子多宽 加 四。
    柱子 在 俺 的 柱子堆 磨叽:
      层数 从 鸭蛋 到 俺 的 几层 磨叽:
        俺 的 白纸 整 addstr(桌面 减 层数 减 一,多远,“|”)。
      磨叽完了。

      几个盘 装 柱子 有几个坑。
      盘子号 从 一 到 几个盘 磨叽:
        盘子多宽 装 柱子 的老 盘子号。
        俺 的 白纸 整 addstr(
            桌面 减 几个盘 加 盘子号 减 一,
            多远 减 盘子多宽 减 一,
            “(”、(盘子多宽 乘 二 加 一)乘“=”、“)”)。
      磨叽完了。

      多远 走 柱子距离 步。
    磨叽完了。
    俺 的 白纸 整 refresh。
    整 打个盹(0.5)。
  整完了。

  挪挪(哪儿来,去哪儿)咋整:
    顶楼 装 俺 的 柱子堆 的老 哪儿来 的老大。
    炮决 俺 的 柱子堆 的老 哪儿来 的老大。 
    俺 的 柱子堆 的老 去哪儿 装 (「顶楼」 加 俺 的 柱子堆 的老 去哪儿)。
    俺 整 画画。
  整完了。

  搬楼上(楼上几层,哪儿来,去哪儿)咋整:
    寻思:楼上几层 跟 鸭蛋 一样一样的?
    要行咧就 开整:
    整完了。
    要不行咧就 开整:
      哪儿歇 装 六 减 哪儿来 减 去哪儿。
      俺 整 搬楼上(楼上几层 减 一,哪儿来,哪儿歇)。
      俺 整 挪挪(哪儿来,去哪儿)。
      俺 整 搬楼上(楼上几层 减 一,哪儿歇,去哪儿)。
    整完了。
  整完了。

  搬家(哪儿来,去哪儿)咋整:
    俺 整 画画。
    俺 整 搬楼上(俺 的 几层,哪儿来,去哪儿)。
  整完了。
整完了。

几层 装 整 你吱声(“你要搬几层?”)。
寻思:几层?
要行咧就 几层 装 整 int(几层)。
要不行咧就 几层 装 二。

汉诺塔动唤(白纸)咋整:
  汉诺塔 的 新对象(白纸,几层) 整 搬家(一,二)。
  整 打个盹(三)。
整完了。

整 curses.wrapper(汉诺塔动唤)。

😂

就这样吧。

获取


原文:https://www.appinn.com/make-dongbei-great-again/

3 个赞

辽北人,表示确实看不懂 :smiling_face_with_tear:

个人感觉有几个地方似乎还是不太准确的:

“嘀咕” 特指小声说,而非泛指 “说”。比如:

你搁这儿嘀咕啥呢?(你在这儿念叨什么呢?)

这个词还有个意思是疑惑,比如:

我也有点犯嘀咕(我也不太敢确定)

我更常见到的说法是:行的话……不行的话……

“磨叽” 的意思是 “磨蹭”。比如:

别搁那儿磨叽,赶紧把活干完(别磨磨蹭蹭了,赶紧把工作做完)

这个……我不太清楚作者是怎么把这两个词关联在一起的。“滚犊子” 其实就是 “滚蛋” 的意思,是祈使句。

2 个赞

蚌埠住了


进 GitHub 以后,我在 README.md 底下还看到了上海话、四川话、广东话改编的编程语言

1 个赞

你真认真,写一个东北话标准版吧 :doge:

回头想了一下,这个还真写不了。

从起源上讲,普通话是以北方方言为基础的,因此北方方言的很多用词其实和普通话是完全一样的,只不过是换了个语调。至少我接触过的北方方言(东北话、大连话、北京话、天津话)是这样。(所以你会发现,福州、厦门、广州、香港、高雄这些城市的地铁有方言报站,但北方城市都没有)

此外,方言普遍偏向口语,而编程语言多少类似于书面语。比如 if else 这些,用汉语说是 “若…则…”,如果用我们家那边的口语说,是 “要是…的话,就…”,说实话这和普通话也没什么区别嘛。可能正是基于这种原因,作者不得不刻意选用一些意思不完全准确、但比较有东北特色的口头语。

再有,很多汉语方言没有独立的书写系统,有些东西读出来有特色,但写出来就和普通话一样了。比如:

咱家来客了。

东北话管客人叫 qiě(音同 “且”),但这个字写出来和普通话确实没什么区别。

另外,别说东北话,就是闽南语,这种几乎独立于普通话的语言,其写出来也看不出什么来。比如厦门地铁的报站广播:

湖滨东路遘矣,请对倒爿车门落车,落车请注意安全。

乍一看和普通话没什么区别,但如果你读出来:

Ôo-pin Tang-lōo kàu-‌-ah, tshiánn uì tò-pîng tshia-mn̂g lo̍h-tshia, lo̍h-tshia tshiánn tsù-ì an-tsuân.

这玩意就是python套个壳,已经烂大街了。

像儿歌或者rap

中文编程没啥搞头,现在你如果能用中文把程序逻辑描述得很清晰得话AI已经能生成比较正确的程序了,比这种少敲个空格就会出问题的要有用很多。但即使这样还是有点鸡肋,对程序猿来说要是用中文把逻辑很清晰地描述一遍我干嘛不直接敲代码呢?AI生成出来我不还得再看一遍以防它出错吧。

中文不是沒有作為編程語言的特性,只是一定要足夠簡潔、字義普適性

例如 return ,用 滾犢子 就太長了,直接一個"滾" 就可以了
也不能學清朝瞎搞,什麼都要用中文,比如數學 立天元一…
還是要更多的使用、創建符號方式,然後中文就能很好的嵌入進去

最重要的,還得有時代紅利
比方說整個社會突然產生了大量這種需求,人人都來搞屬於自家的易語言

想了一下,也不用老是重造輪子

只要把現今主流的幾個編程語言,用更簡潔的中文字詞替換進去
也就能實現編程語言的 皮欽語 化