什么是 “Hello, World!”

“Hello, World!” 程序是编程世界的第一个仪式。

当你在新语言中写下这行代码并看到它成功输出时,就完成了与这门语言最初的握手。它简单到近乎平淡,却又至关重要——既是初学者验证语法规则的入门练习,也是开发者确认环境配置无误的快速检查。

这个传统始于1972年贝尔实验室的《A Tutorial Introduction to the Language B》,如今已成为跨越所有编程语言的共同起点。它不只是一段代码,更像是程序员之间的默契:如果连 “Hello, World!” 都跑不通,那更复杂的挑战也不必继续了。

“Hello, World!” 的 N 种写法

Ada

ada
1
2
3
4
5
6
with Ada.Text_IO;
use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("Hello, World!");
end Hello;

ALGOL60

plaintext
1
BEGIN DISPLAY("Hello, World!") END.

ALGOL68

plaintext
1
2
3
begin
printf(($gl$,"Hello, World!"))
end

AppleScript

applescript
1
say "Hello, World!"
applescript
1
display alert "Hello, World!"

Assembly Language (Linux x64)

plaintext
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
section .text
global _start

_start:
; sys_write(1, msg, len)
mov rax, 1
mov rdi, 1
lea rsi, [rel msg]
mov rdx, len
syscall

; sys_exit(0)
mov rax, 60
xor rdi, rdi
syscall

section .rodata
msg: db "Hello, World!", 0xA
len: equ $ - msg

BASIC

basic
1
PRINT "Hello, World!"

Batchfile

plaintext
1
2
@echo off
echo Hello, World!

Bash

bash
1
echo "Hello, World!"

C

c
1
2
3
4
5
6
#include <stdio.h>

int main() {
printf("Hello, World!");
return 0;
}

C++

c++
1
2
3
4
5
6
#include <iostream>

int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}

c#

c#
1
Console.WriteLine("Hello, World!");

Clojure

clojure
1
(println "Hello, World!")

COBOL

plaintext
1
2
3
4
5
6
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
* simple hello world program
PROCEDURE DIVISION.
DISPLAY 'Hello, World!'.
STOP RUN.

D

d
1
2
3
4
5
import std.stdio;

void main() {
writeln("Hello, World!");
}

Dart

dart
1
2
3
void main() {
print('Hello, World!');
}

Elixir

elixir
1
IO.puts("Hello, World!")

Ezhil

plaintext
1
2
3
பதிப்பி "உலகே வணக்கம்"
பதிப்பி "Hello, World!"
exit()

Forth

plaintext
1
." Hello, World!" CR

Fortran

fortran
1
2
3
program Hello
print *, "Hello, World!"
end program Hello

Go

go
1
2
3
4
5
6
package main
import "fmt"

func main() {
fmt.Println("Hello, World!")
}

Haskell

haskell
1
2
main :: IO ()
main = putStrLn "Hello, World!"

Java

java
1
2
3
4
5
public class Main {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}

JavaScript

javascript
1
console.log("Hello, World!");
javascript
1
document.write("Hello, World!");

Julia

julia
1
println("Hello, World!")

Kotlin

kotlin
1
2
3
fun main() {
println("Hello, World!")
}

Lisp

lisp
1
(print "Hello, World!")
plaintext
1
print [Hello, World!]

Lua

lua
1
print("Hello, World!")

Objective-C

plaintext
1
2
3
4
5
#import <stdio.h>

int main() {
printf("Hello, World!\n");
}
plaintext
1
2
3
4
5
6
7
8
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
@autoreleasepool {
NSLog(@"Hello, World!");
}
return 0;
}

OCaml

ocaml
1
print_endline "Hello, World!"

Pascal

pascal
1
2
3
4
program Hello;
begin
writeln ('Hello, World!');
end.

Perl

perl
1
print "Hello, World!\n";

Perl6

plaintext
1
say 'Hello, World!'

PHP

php
1
2
3
<?php
echo 'Hello, World!';
?>

PowerShell

powershell
1
'Hello, World!'

Prolog

prolog
1
main() :- write("Hello, World!"), nl.

Python2

python
1
print "Hello, World!"

Python3

python
1
print("Hello, World!")

R

r
1
print("Hello, World!")

Racket

plaintext
1
2
#lang cli
(displayln "Hello, World!")

Ruby

ruby
1
puts "Hello, World!"

Rust

rust
1
2
3
fn main() {
println!("Hello, World!");
}

Simula

plaintext
1
2
3
4
Begin
OutText ("Hello, World!");
Outimage;
End;

Smalltalk

smalltalk
1
Transcript show: 'Hello, World!'.

Standard ML

plaintext
1
print "Hello, World!\n"

Swift

swift
1
print("Hello, World!")

Tcl

tcl
1
puts "Hello, World!"

TI-BASIC

plaintext
1
:Disp "Hello, World!"

VBScript

vbscript
1
WScript.Echo "Hello, World!"

WebAssembly Text Format

plaintext
1
2
3
4
5
6
7
(module
(import "console" "log" (func $log (param i32)))
(memory 1)
(data (i32.const 0) "Hello, World!\00")
(func (export "hello")
(call $log (i32.const 0))
)

易语言

plaintext
1
信息框(“Hello, World!”,0,,)