Abstract
Keywords C/c++  Matlab 
Citation Yao Qing-sheng.多语言实现 Hello World.FUTURE & CIVILIZATION Natural/Social Philosophy & Infomation Sciences,20191127. https://yaoqs.github.io/20191127/duo-yu-yan-shi-xian-hello-world/

作为所有编程语言的起始阶段,HELLO WORLD 占据着无法改变的地位,所有中 / 英 / 法 / 德 / 美…… 版本的编程教材中,HELLO WORLD 总是作为第一个 TEST 记录于书本之中,所有的编程第一步就在于此了!经典之中的经典!HELLO WORLD!  这个例程是从 Kernighan & Ritchie 合著的《The C Programme Language》开始有的,因为它的简洁,实用,并包含了一个程序所应具有的一切,因此为后来的些类书的作者提供了范例,一直待续到今。  我们刚开始接触计算机语言大多从 Hello world 开始,下面是各种语言的 Hello world program:

AKA 控制台:
  
ABC 语言的 Hello World 程序

1
2
  WHILE (1=1) :
  WRITE "Hello World "

Ada 语言的 Hello World 程序

1
2
3
4
5
with Ada.Text_Io; use Ada.Text_Io;
procedure Hello is
begin
Put_Line ("Hello, world!");
end Hello;

AmigaE 语言的 Hello World 程序

1
2
3
  PROC main()
  WriteF('Hello, World!')
  ENDPROC

APL 语言的 Hello World 程序

1
  'Hello World'

Assembly 语言的 Hello World 程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  Accumulator-only architecture: DEC PDP-8, PAL-III assembler
  See the Example section of the PDP-8 article.
  Accumulator + index register machine: MOS 6502, CBM, ca65 asm
  MSG: .ASCIIZ "Hello, world!"
  LDX #0
  LDA MSG,X ; load initial char
  @LP: JSR $FFD2 ; CHROUT CBM KERNAL
  INX
  LDA MSG,X
  BNE @LP
  RTS
  Accumulator/Index microcoded machine: Data General Nova, RDOS
  See the example section of the Nova article.
  Expanded accumulator machine: Intel x86, MS-DOS, TASM
  MODEL SMALL
  IDEAL
  STACK 100H

DATASEG 语言的 Hello World 程序

1
  MSG DB 'Hello, world!$'

CODESEG 语言的 Hello World 程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
  MOV AX, @data
  MOV DS, AX
  MOV DX, OFFSET MSG
  MOV AH, 09H ; DOS: output ASCII$ string
  INT 21H
  MOV AX, 4C00H
  INT 21H
  END
  General-purpose-register CISC: DEC PDP-11, RT-11, MACRO-11
  .MCALL .REGDEF,.TTYOUT,.EXIT
  .REGDEF
  HELLO: MOV #MSG,R1
  MOVB (R1),R0
  LOOP: .TTYOUT
  MOVB +(R1),R0
  BNE LOOP
  .EXIT
  MSG: .ASCIZ /HELLO, WORLD!/
  .END HELLO
  CISC: VAX, VMS, MACRO32
  .title hello
  term_name: .ascid /SYS$INPUT/
  term_chan: .blkw 1
  out_iosb: .blkq 1
  msg: .asciz /Hello, world!/
  .entry start,0
  ; establish a channel for terminal I/O
  $assign_s devnam=term_name,-
  chan=term_chan
  blbc r0,error
  ; queue the I/O request
  $qio_s chan=term_chan,-
  func=#io$_writevblk,-
  iosb=out_iosb,-
  p1=msg,-
  p2=#13
  blbc r0,error
  $exit_s ; normal exit
  error: halt ; error condition
  .end start

AWK 语言的 Hello World 程序

1
  BEGIN { print "Hello, world!" }

BASIC 语言的 Hello World 程序:

1
  PRINT "HELLO WORLD"

MS BASIC 语言的 Hello World 程序

1
2
3
  (traditional, unstructured)
  10 PRINT "Hello, world!"
  20 END

TI-BASIC 语言的 Hello World 程序

1
  isp "Hello, world!"

Structured BASIC 语言的 Hello World 程序

1
  print "Hello, world!"

BCPL 语言的 Hello World 程序

1
2
3
4
5
  GET "LIBHDR"
  LET START () BE
  $(
  WRITES ("Hello, world!*N")
  $)

C 语言的 Hello World 程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  #include <stdio.h>
  int main(void)
  {
  printf("Hello, world!\n");
  }
```  

C++语言的Hello World程序
```c++
  #include <iostream>
  using namespace std;
  int main()
  {
  cout << "Hello, world!" << endl;
  return 0;
  }

C# 语言的 Hello World 程序

1
2
3
4
5
  class HelloWorldApp {
  public static void Main() {
  System.Console.WriteLine("Hello, world!");
  }
  }

Clean 语言的 Hello World 程序

1
2
3
  module hello
  Start :: String
  Start = "Hello, world"

CLIST 语言的 Hello World 程序

1
2
  PROC 0
  WRITE Hello, World!

COBOL 语言的 Hello World 程序

1
2
3
4
5
6
7
  IDENTIFICATION DIVISION.
  PROGRAM-ID. HELLO-WORLD.
  ENVIRONMENT DIVISION.
  DATA DIVISION.
  PROCEDURE DIVISION.
  DISPLAY "Hello, world!".
  STOP RUN.

Common Lisp 语言的 Hello World 程序

1
  (format t "Hello world!~%")

Eiffel 语言的 Hello World 程序

1
2
3
4
5
6
7
8
9
10
11
12
  class HELLO_WORLD
  creation
  make
  feature
  make is
  local
  io:BASIC_IO
  do
  !!io
  io.put_string("%N Hello, world!")
  end -- make
  end -- class HELLO_WORLD

Erlang 语言的 Hello World 程序

1
2
3
  -module(hello).
  -export([hello_world/0]).
  hello_world() -> io:fwrite("Hello, world!\n").

Forth 语言的 Hello World 程序

1
  ." Hello, world!" CR

Fortran 语言的 Hello World 程序

1
2
3
4
5
  PROGRAM HELLO
  WRITE(*,10)
  10 FORMAT('Hello, world!')
  STOP
  END

Haskell 语言的 Hello World 程序

1
2
  module HelloWorld (main) where
  main = putStr "Hello World\n"

Iptscrae 语言的 Hello World 程序

1
2
3
  ON ENTER {
  "Hello, " "World!" & SAY
  }

Java 语言的 Hello World 程序

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

Logo 语言的 Hello World 程序

1
  print [hello world!]

Lua 语言的 Hello World 程序

1
  print "Hello, world!"

MIXAL 语言的 Hello World 程序

1
2
3
4
5
6
7
8
9
  TERM EQU 19 the MIX console device number
  ORIG 1000 start address
  START OUT MSG(TERM) output data at address MSG
  HLT halt execution
  MSG ALF "MIXAL"
  ALF " HELL"
  ALF "O WOR"
  ALF "LD "
  END START end of the program

MSDOS batch 语言的 Hello World 程序

1
2
  @echo off
  echo Hello, world!

OCaml 语言的 Hello World 程序

1
2
3
4
5
6
7
8
9
10
11
  let _ =
  print_endline "Hello world!";;
  OPL
  PROC hello:
  PRINT "Hello, World"
  ENDP
  Pascal
  program Hello;
  begin
  writeln('Hello, world!');
  end.

Pascal 语言的 Hello World 程序

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

Perl 语言的 Hello World 程序

1
  print "Hello, world!\n";

PHP 语言的 Hello World 程序

1
2
3
  <?php
  print("Hello, world!");
  ?>

Pike 语言的 Hello World 程序

1
2
3
4
5
  #!/usr/local/bin/pike
  int main() {
  write("Hello, world!\n");
  return 0;
  }

PL/I 语言的 Hello World 程序

1
2
3
4
  Test: procedure options(main);
  declare My_String char(20) varying initialize('Hello, world!');
  put skip list(My_String);
  end Test;

Python 语言的 Hello World 程序

1
  print "Hello, world!"

REXX 语言的 Hello World 程序

1
2
  also NetRexx and Object REXX
  say "Hello, world!"

Ruby 语言的 Hello World 程序

1
  print "Hello, world!\n"

Sather 语言的 Hello World 程序

1
2
3
4
5
  class HELLO_WORLD is
  main is
  #OUT+"Hello World\n";
  end;
  end;

Scheme 语言的 Hello World 程序

1
2
  (display "Hello, world!")
  (newline)

sed 语言的 Hello World 程序

1
2
  (requires at least one line of input)
  sed -ne '1s/.*/Hello, world!/p'

Self 语言的 Hello World 程序

1
  'Hello, World!' uppercase print.

Smalltalk 语言的 Hello World 程序

1
  Transcript show: 'Hello, world!'

SML 语言的 Hello World 程序

1
  print "Hello, world!\n";

SNOBOL 语言的 Hello World 程序

1
2
  OUTPUT = "Hello, world!"
  END

SQL 语言的 Hello World 程序

1
2
3
4
5
6
7
8
9
10
  create table MESSAGE (TEXT char(15));
  insert into MESSAGE (TEXT) values ('Hello, world!');
  select TEXT from MESSAGE;
  drop table MESSAGE;
  Or, more simply
  print 'Hello, World.'
  StarOffice Basic
  sub main
  print "Hello, World"
  end sub

Tcl 语言的 Hello World 程序

1
  puts "Hello, world!"

Turing 语言的 Hello World 程序

1
  put "Hello, world!"

UNIX-style shell 语言的 Hello World 程序

1
  echo 'Hello, world!'

Romanian pseudocode 语言的 Hello World 程序

1
2
3
4
  (UBB Cluj-Napoca)Algoritmul Salut este:
  fie s:="Hello, world";
  tipareste s;
  sf-Salut

传统图形界面应用开发工具:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
  C++ bindings for GTK graphics toolkit
  #include
  #include
  #include
  #include
  using namespace std;
  class HelloWorld : public Gtk::Window {
  public:
  HelloWorld();
  virtual ~HelloWorld();
  protected:
  Gtk::Button m_button;
  virtual void on_button_clicked();
  };
  HelloWorld::HelloWorld()
  : m_button("Hello, world!") {
  set_border_width(10);
  m_button.signal_clicked().connect(SigC:lot(*this,
  &HelloWorld::on_button_clicked));
  add(m_button);
  m_button.show();
  }
  HelloWorld::~HelloWorld() {}
  void HelloWorld::on_button_clicked() {
  cout << "Hello, world!" << endl;
  }
  int main (int argc, char *argv[]) {
  Gtk::Main kit(argc, argv);
  HelloWorld helloworld;
  Gtk::Main::run(helloworld);
  return 0;
  }

Java 语言的 Hello World 程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
  import java.awt.*;
  import java.awt.event.*;
  public class HelloFrame extends Frame {
  HelloFrame(String title) {
  super(title);
  }
  public void paint(Graphics g) {
  super.paint;
  java.awt.Insets ins = this.getInsets();
  g.drawString("Hello, world!", ins.left + 25, ins.top + 25);
  }
  public static void main(String args [])
  {
  HelloFrame fr = new HelloFrame("Hello");
  fr.addWindowListener(
  new WindowAdapter() {
  public void windowClosing(WindowEvent e)
  {
  System.exit( 0 );
  }
  }
  );
  fr.setResizable(true);
  fr.setSize(500, 100);
  fr.setVisible(true);
  }
  }
  Qt toolkit (in C++)
  #include
  #include
  #include
  #include
  class HelloWorld : public QWidget
  {
  }

public 语言的 Hello World 程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  HelloWorld();
  virtual ~HelloWorld();
  public slots:
  void handleButtonClicked();
  QPushButton *mPushButton;
  };
  HelloWorld::HelloWorld() :
  QWidget(),
  mPushButton(new QPushButton("Hello, World!", this))
  {
  connect(mPushButton, SIGNAL(clicked()), this, SLOT(handleButtonClicked()));
  }
  HelloWorld::~HelloWorld() {}
  void HelloWorld::handleButtonClicked()
  {
  std::cout << "Hello, World!" << std::endl;
  }
  int main(int argc, char *argv[])
  {

QApplication app 语言的 Hello World 程序

1
2
3
4
5
6
  (argc, argv);
  HelloWorld helloWorld;
  app.setMainWidget(&helloWorld);
  helloWorld.show();
  return app.exec();
  }

Visual Basic 语言的 Hello World 程序  1. 信息框

1
  MsgBox "Hello, world!"

2. 输出到窗体

1
  Print "Hello, world!"

Windows API (in C) 语言的 Hello World 程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
  #include
  LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);
  char szClassName[] = "MainWnd";
  HINSTANCE hInstance;
  int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
  {
  HWND hwnd;
  MSG msg;
  WNDCLASSEX wincl;
  hInstance = hInst;
  wincl.cbSize = sizeof(WNDCLASSEX);
  wincl.cbClsExtra = 0;
  wincl.cbWndExtra = 0;
  wincl.style = 0;
  wincl.hInstance = hInstance;
  wincl.lpszClassName = szClassName;
  wincl.lpszMenuName = NULL; //No menu
  wincl.lpfnWndProc = WindowProcedure;
  wincl.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); //Color of the window
  wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION); //EXE icon
  wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION); //Small program icon
  wincl.hCursor = LoadCursor(NULL, IDC_ARROW); //Cursor
  if (!RegisterClassEx(&wincl))
  return 0;
  hwnd = CreateWindowEx(0, //No extended window styles
  szClassName, //Class name
  "", //Window caption
  WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX,
  CW_USEDEFAULT, CW_USEDEFAULT, //Let Windows decide the left and top positions of the window
  120, 50, //Width and height of the window,
  NULL, NULL, hInstance, NULL);
  //Make the window visible on the screen
  ShowWindow(hwnd, nCmdShow);
  //Run the message loop
  while (GetMessage(&msg, NULL, 0, 0))
  {
  TranslateMessage(&msg);
  DispatchMessage(&msg);
  }
  return msg.wParam;
  }
  LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
  {
  PAINTSTRUCT ps;
  HDC hdc;
  switch (message)
  {
  case WM_PAINT:
  hdc = BeginPaint(hwnd, &ps);
  TextOut(hdc, 15, 3, "Hello, world!", 13);
  EndPaint(hwnd, &ps);
  break;
  case WM_DESTROY:
  PostQuitMessage(0);
  break;
  default:
  return DefWindowProc(hwnd, message, wParam, lParam);
  }
  return 0;
  }

基于 web 图形用户界面:
  
Java applet 语言的 Hello World 程序

1
2
3
4
5
6
7
8
9
  Java applets work in conjunction with HTML files.
  HelloWorld Program says:
  import java.applet.*;
  import java.awt.*;
  public class HelloWorld extends Applet {
  public void paint(Graphics g) {
  g.drawString("Hello, world!", 100, 50);
  }
  }

JavaScript, aka ECMAScript 语言的 Hello World 程序

1
2
3
4
5
6
  JavaScript is a scripting language used in HTML files. To demo this program Cut and Paste the following code into any HTML file.
  onclick="javascript:helloWorld();">Hello World Example
  An easier method uses JavaScript implicitly, calling the reserved alert function. Cut and paste the following line inside the .... HTML tags.
  Hello World Example
  An even easier method involves using popular browsers' support for the virtual 'javascript' protocol to execute JavaScript code. Enter the following as an Internet address (usually by pasting into the address box):
  javascript:alert('Hello, world!')

文档格式:
  
ASCII 语言的 Hello World 程序

1
2
  The following sequence of characters, expressed in hexadecimal notation (with carriage return and newline characters at end of sequence):
  48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A

HTML 语言的 Hello World 程序

1
2
3
4
5
  <HTML>
  <body>
  <p>Hello, world!</p>
  </body>
  </HTML>

PostScript 语言的 Hello World 程序

1
2
3
4
5
  /font /Courier findfont 24 scalefont
  font setfont
  100 100 moveto
  (Hello world!) show
  showpage

TeX 语言的 Hello World 程序

1
2
3
  \font\HW=cmr10 scaled 3000
  \leftline{\HW Hello world}
  \bye

LaTeX 语言的 Hello World 程序

1
2
3
4
  \documentclass{article}
  \begin{document}
  Hello, world!
  \end{document}

批处理语言的 Hello World 程序

1
  echo Hello World!

易语言的 Hello World 程序

1
2
  .子程序 __启动窗口_创建完毕
  信息框 (“Hello, world!”, 0, )
References