编程学习网 > 编程语言 > Python > 写一个Hello World,Python用1行,它用14行!
2026
05-07

写一个Hello World,Python用1行,它用14行!


你学编程的第一课是什么?大概率是写一个 Hello World。

Python 版本:

print("Hello World")

1行。搞定。

但不是所有语言都这么轻松。

Java:样板代码之王

public class HelloWorld {

    public static void main(String[] args) {

        System.out.println("Hello World");

    }

}

5行。其中3行是纯粹的样板代码——你必须写,但它们本身不直接表达"打印"这个动作。class声明、main方法、String[] args,少一个程序都跑不起来。

Java的哲学是:
先把架子搭好,再开始干活。

C语言:一切从这里开始

#include <stdio.h>

 

int main() 

{

    printf("Hello World\n");

    return 0;

}

看起来还行,不过区区6行。但你要知道,第一行的 #include <stdio.h> 背后,是庞大而成熟的标准库在作支撑。你写的这6行,依赖着成千上万行的库代码来与操作系统交互。

C的哲学是:
我只给你最低配,剩下的自己管。

汇编:跟CPU直接对话

(注:以下为 x86 Linux 32位环境下的写法)

section .data

    msg db "Hello World", 0xA

    len equ $ - msg

 

section .text

    global _start

 

_start:

    mov eax, 4     ; 系统调用号 (sys_write)

    mov ebx, 1     ; 文件描述符 (stdout)

    mov ecx, msg   ; 字符串地址

    mov edx, len   ; 字符串长度

    int 0x80       ; 触发中断,交还内核执行

 

    mov eax, 1     ; 系统调用号 (sys_exit)

    xor ebx, ebx  ; 返回值 0

    int 0x80

整整14行。这里的每一行,几乎都在直接操作CPU寄存器。你告诉计算机:把数字4放进eax,代表我要"写";把1放进ebx,代表写到"标准输出";字符串放这儿,长度放那儿;最后,用int 0x80狠狠踩下油门——让CPU中断手头的事,去执行系统调用。

在这里,你写的不是代码,更像是与CPU的精准对话。

汇编的哲学是:
我知道CPU的每一个引脚在干什么。

Brainfuck:用8个符号折磨你

这是一门图灵完备的语言,但它的世界里只有8种符号:+ - < > [ ] . ,。没有变量,没有函数,没有if-else。你唯一能做的,就是在一个长长的内存条上,像一支针一样来回移动,对格子里的数值进行增减。

下面这段代码,就是在一个格子一个格子"算"出 Hello World 每个字符的ASCII码,然后靠 . 输出。

++++++++++[>+++++++>++++++++++>+++>+<<<<-]

>++.>+.+++++++..+++.>++.<<+++++++++++++++.

>.+++.------.--------.>+.>.

作者发明这门语言,就是为了优雅地证明:一个理论上能解决所有问题的编程语言,体验上可以有多反人类。

Malbolge:地狱级难度

先看一个"Hello World"代码:

(=<`#9]~6ZY327Uv4-Qs2u/5RWs&0KBq`P}X@8Z6oI[?5AC7y!RQf"t1Dp_uOS]@y2lG#!k~@D3jS6|Ux^Au

是不是觉得它像一只猫在键盘上踩出来的乱码?不,这是正儿八经能运行的代码。它的设计目标极其纯粹——让写代码成为几乎不可能完成的任务

这门语言有多恐怖?它用了一个三进制虚拟机,指令执行后会自我修改和加密。结果就是,哪怕你只写错一个字符,整个程序的逻辑都会陷入混沌。它的第一个"Hello World"程序,不是人"写"出来的,而是用搜索算法暴力破解出来的。更离谱的是,在一次编程大会上,有人宣称自己手写了一段 Malbolge 程序,结果被发现其实是程序有Bug,运行时出现的"演出事故",刚好输出了目标字符串。

Malbolge的哲学是:
你们说编程应该"容易"?我偏不。

为什么差别这么大?

从1行到数百个字符,差距何在?

Python:我把脏活累活都干了,你来说你要干什么。

C/汇编:我把底层交给你,天地广阔,你自己闯。

Brainfuck/Malbolge:我来定义什么叫折磨。

为了让你看得更清楚,我把它们放在一张表里:


世界上没有"最好的语言"——只有"最适合的语言"。

写个小脚本用Python,开发操作系统内核用C,调试底层用汇编,想挑战智商上限,试试Brainfuck。至于Malbolge……是它玩你,还是你玩它,这很难说。

以上就是“写一个Hello World,Python用1行,它用14行!的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取