Initial Exploration#
Today, while browsing social media, I stumbled upon a meme that brought a smile to my face:
With a little familiarity with Northeast dialects, we can easily convert it into the following code representation:
def print_fibonacci_sequence(n):
if n < 1:
raise ValueError("Invalid input! Please enter a positive integer.")
fibonacci_sequence = []
current = 0
next_num = 1
fibonacci_sequence.append(current + next_num)
for _ in range(2, n+1):
current, next_num = next_num, current + next_num
fibonacci_sequence.append(next_num)
return ', '.join(map(str, fibonacci_sequence))
print("Checking result for 0:")
try:
print(print_fibonacci_sequence(0))
except ValueError as e:
print(e)
print("Checking result for 15:")
print(print_fibonacci_sequence(15))
# The code does not fully correspond to the original text
Seeking Roots#
However, noticing that the code structure in the meme is clearand accompanied by code highlighting, it felt like this was not just a simple joke, so I decided to explore further on the internet and unexpectedly found a related real project:
东北方言编程语言
dongbei
What is it? It is a human-centered programming language based on Northeast dialect vocabulary as its basic keywords.This thing fills a large gap on the world dialect programming map! Let's put it this way, if anyone can watch a
dongbei
program without laughing, I respect him as a true man!So what are its characteristics? There are many:
It's simple! A primary school education level is enough. Can you understand the Spring Festival Gala? Yes? Then it’s no problem.
It's easy to read! You’ll find yourself reading it aloud involuntarily.
It's fun! Well, in life, the most important thing is to be happy.
It's open-source! Not only is it free, but it also welcomes experts in Northeast dialect to correct it anytime, anywhere.
In short, thedongbei
language has a very high entertainment-technical ratio.The development of the
dongbei
programming language adopts the industry-leading TDD (TreeNewBee-Driven Development) approach. Specifically, each feature starts with writing the documentation, boasting without any foundation, then writing test cases based on the boast, and finally implementing the feature to ensure the boast holds true. This approach has two major benefits: first, each feature is targeted, and features that are not worth the Tree New Bee are excluded. Second, it ensures that each feature has documentation responsible for boasting, and developers will definitely not be hidden away without recognition.
After searching, I found a sample file from this project:
This confirms that the code in the meme comes from this project called dongbei.
Getting to the Bottom#
According to the project's documentation, I successfully cloned the dongbei
codebase to my local machine and executed src/dongbei.py
, allowing me to personally experience this fun programming language.
However, the functionality of dongbei
goes far beyond this. By reading dongbei Language Wordplay, we can find that this language is quite complete and capable of handling various complex programming challenges.
For example:
https://github.com/zhanyong-wan/dongbei/blob/master/demo/%E6%B4%BB%E7%9D%80.dongbei
Integration#
In fact, besides the innovative dongbei
, there are many other creative programming languages hidden on the internet, often categorized as Esolang — Esoteric programming language, aimed at trying strange ideas, being difficult to program, or serving as jokes rather than for practical use.
Cantonese#
Following the model of dongbei
, there is another innovative project — Cantonese
, which allows developers to program using Cantonese, further integrating local dialects into the world of programming languages. The author is still maintaining it.
粤语編程語言.The Cantonese programming language.
Code to output "Hello World!" in this language:
畀我睇下「"Hello World!"」點樣先?
收工
Ook!#
Ook!
is an extremely minimalist programming language whose core syntax consists of only three basic components. At first glance, it seems easy to learn, but in practice, Ook!
presents unique challenges. The command system of this language consists of Ook.
, Ook!
, and Ook?
, and although the amount of code may increase as a result, it does not affect the creation of high-performance code. The design principle of Ook! is extremely simple, and its creators believe that even a gorilla could easily master it, thus they insist that no additional verbose comments are needed.
Code to output "Hello World!" in this language:
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook. Ook. Ook? Ook。Ook? Ook. Ook. Ook! Ook.
Brainfuck#
Similar to Ook!
, Brainfuck
is a simple, Turing-complete programming language that can be implemented with a minimal compiler. This language consists of eight operators.
Code to output "Hello World!" in this language:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]
>++.>+.+++++++..+++.>++.<<+++++++++++++++.
>.+++.------.--------.>+.>.
Piet#
Piet
is a unique programming language that uses combinations of colors to express the logical structure of programs. This language employs 20 levels of brightness, with each color carrying specific command functions. The compiler interprets the commands of the program by recognizing the brightness differences between color blocks. The layout and structure of the program depend entirely on the shapes and arrangements of the color blocks, while the black-and-white boundaries serve as dividers between different code blocks. Although it is possible to write programs in Piet
, the varying interpretations of colors by different interpreters make it imprecise for actual computation. Therefore, Piet
is more regarded as a creative tool for exploring new methods of programming and visual artistic expression rather than as a tool for solving practical problems. Its existence challenges the boundaries of traditional programming languages, making the programming process more colorful and expressive.
Several "codes" to output "Hello World!" in this language:
::: grid {cols=3,rows=2, gap=12,type=images}
:::
Velato#
Velato
is an innovative programming language that allows developers to write code through music. This language reads source code by analyzing MIDI files, enabling you to write programs while composing melodies. It processes code based on the order, spacing, and pitch of notes (considered as programming letters). Although Velato
supports basic programming structures such as expressions, numbers, and variable declarations, it currently does not support functions and arrays. Additionally, it is not suitable for converting real musical works into functional programs.
The "code" to output "Hello World!" in this language:
Other Languages#
You can refer to the esoteric programming languages wiki to learn about other Esolangs.
According to the Esolang Wiki, Esolangs are typically divided into the following categories:
-
Minimalism
Many esoteric languages aim for as few instructions as possible. For example,Brainfuck
,OISC
, andLazy K
belong to this category. When these languages achieve Turing completeness, they are often referred to as "Turing tar pits." -
New concepts
Exploring alternative ways to design programming languages is popular in esoteric programming. Languages likeBefunge
,Thue
, andUnlambda
are good examples. -
Weirdness
Some languages are created primarily for the pursuit of peculiarity and difficulty in programming.INTERCAL
was designed to be entirely different from conventional languages (although it still shares many similarities with traditional languages), whileMalbolge
was designed to be extremely difficult to use. -
Themed
Some languages are based on non-computer-related themes. For example,var'aq
is based on the fictional Klingon language.Shakespeare
mimics the style of Shakespearean plays, whileChef
programs look like cooking recipes.dongbei
also falls into this category. -
Brevity
Many esoteric languages are designed to be as short as possible. These are known as "Golfing languages," often used in "code golf" competitions to solve programming tasks with the fewest characters or bytes. Examples includeCJam
,Pyth
, andGolfScript
. -
Jokes
Many esoteric languages are created purely as jokes. Some of them can still be used for programming, such asl33t
andOok!
, while others likeHQ9+
andBitxtreme
cannot. -
Obfuscation
Some esoteric languages are deliberately designed to be difficult to read (rather than difficult to write or understand).Unreadable
is a typical example in this regard.
Conclusion#
dongbei
is a programming language developed based on python
. Some may think, "Isn't this too informal?" But in reality, we need to clarify that dongbei
is merely a programming language designed for entertainment or exploration purposes; it is not suitable for developing serious applications. When developing projects that require stability, fault tolerance, and functionality, almost everyone would choose mature and stable languages like python
, C++
, or JavaScript
.
This article is synchronized and updated to xLog by Mix Space
The original link is https://nishikori.tech/posts/tech/dongbei