各种语言的Hello World程序
1. Ada
===================================
with Ada.Text_IO;
procedure Hello is
begin
Ada.Text_IO.Put_Line("Hello World!");
end Hello;
2. ALGOL68
===================================
/‘begin/‘
print("Hello World!")
/‘end/‘
3. AmigaE
===================================
PROC main()
WriteF(/‘Hello World!/‘)
ENDPROC
4. awk
===================================
BEGIN { print "Hello, world!" }
5. BCPL
===================================
GET "LIBHDR"
LET START () BE
$(
WRITES ("Hello, world!*N")
$)
6. Boo
===================================
import System
Console.WriteLine("Hello World!")
7. Brainfuck
===================================
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<
+++++++++++++++.>.+++.------.--------.>+.>.
8. C
===================================
#include <stdio.h>
int main()
{
printf("Hello World!/n");
return 0;
}
9. C++
===================================
#include <iostream.h>
int main()
{
cout<<"Hello World!"<<endl;
return 0;
}
10. Clean
===================================
module hello
Start :: String
Start = "Hello, world"
11. COBOL
===================================
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
DISPLAY "Hello World!".
STOP RUN.
12. Common Lisp
===================================
(format t "Hello world!")
13. D
===================================
import std.c.stdio;
int main(char[][] args)
{
printf("Hello World!/n");
return 0;
}
14. Eiffel
===================================
class HELLO_WORLD
creation
make
feature
make is
local
iBASIC_IO
do
!!io
io.put_string("%N Hello World!")
end -- make
end -- class HELLO_WORLD
15. Erlang
===================================
-module(hello).
-export([hello_world/0]).
hello_world() -> ifwrite("Hello World!/n").
16. Forth
===================================
." Hello World!" CR
17. Fortran
===================================
program Hello
write(*,*) /‘Hello World!/‘
end
18. Haskell
===================================
module HelloWorld (main) where
main = putStr "Hello World!/n"
19. Icon
===================================
procedure main()
write("Hello World!/n")
end
20. INTERCAL
===================================
PLEASE DO ,1 <- #13
DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #112
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #238
DO ,1 SUB #7 <- #26
DO ,1 SUB #8 <- #248
DO ,1 SUB #9 <- #168
DO ,1 SUB #10 <- #24
DO ,1 SUB #11 <- #16
DO ,1 SUB #12 <- #158
DO ,1 SUB #13 <- #52
PLEASE READ OUT ,1
PLEASE GIVE UP
21. Iptscrae
===================================
ON ENTER {
"Hello, " "World!" & SAY
}
22. Java
===================================
// 命令行界面:
class Hello
{
public static void main(String ars[])
{
System.out.print("Hello World!/n");
}
}
图形界面:
import java.awt.*;
import java.awt.event.*;
class HelloWorld extends Frame
{
public static void main(String args[])
{
HelloWorld Hello=new HelloWorld();
Label lbl=new Label("Hello World!");
Hello.setTitle("Hello World");
Hello.setSize(300,200);
Hello.setBackground(new Color(224,224,224));
Hello.add(lbl);
lbl.setAlignment(1);
lbl.setFont(new Font("Arial",Font.PLAIN,24));
Hello.setLocation(260,180);
Hello.show();
Hello.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent wet)
{
System.exit(0);
}
});
}
}
23. Lua
===================================
print "Hello World!/n"
24. MIXAL
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
25. MSIL
===================================
.assembly Hello
{
.ver 1:0:0:0
}
.method public static void main() il managed
{
.entrypoint
.maxstack 1
ldstr "Hello World!/n"
call void [mscorlib]System.Console::Write(class System.String)
ret
}
26. OCaml
===================================
print_endline "Hello world!";;
27. OPL
===================================
PROC hell
PRINT "Hello, World"
ENDP
28. oz
===================================
functor $
import
Application
System
define
{System.print /‘Hello World!/‘}
{Application.exit 0}
end
29. Pascal
===================================
program Hello;
begin
writeln(/‘Hello, world!/‘);
end.
Perl
print "Hello World/n"
30. Pike
===================================
//命令行界面
int main()
{
write("Hello, world!/n");
return 0;
}
//图形界面
int main()
{
GTK.setup_gtk();
GTK.Alert("Hello World!")
->signal_connect("destroy", lambda(){ exit(0); });
return -1;
}
31. PL/I
===================================
Test: procedure options(main);
declare My_String char(20) varying initialize(/‘Hello, world!/‘);
put skip list(My_String);
end Test;
32. PostScript
===================================
/font /Courier findfont 24 scalefont
font setfont
100 100 moveto
(Hello world!) show
showpage
33. PowerBASIC
===================================
#COMPILE EXE
FUNCTION PBMAIN () AS LONG
MSGBOX "Hello World!"
END FUNCTION
34. Prolog
===================================
predicates
Hello
clauses
Hell-
write("Hello World!/n"). %或write("Hello World!"),nl.
goal Hello.
35. Python
===================================
print "Hello World!"
36. Rexx
===================================
say "Hello, world!"
37. Ruby
===================================
print "Hello World!/n"
38. Sather
===================================
class HELLO_WORLD is
main is
#OUT+"Hello World/n";
end;
end;
39. Scheme
===================================
(display "Hello, world!/n")
40. sed
===================================
sed -ne /‘1s/.*/Hello, world!/p/‘
41. Self
===================================
/‘Hello, World!/‘ uppercase print.
42. Smalltalk
===================================
Transcript show: /‘Hello, world!/‘
43. SML
===================================
print "Hello, world!/n";
44. SNOBOL
===================================
OUTPUT = "Hello, world!"
END
45. TCL
===================================
puts "Hello World!"
46. TeX
===================================
/font/HW=cmr10 scaled 3000
/leftline{/HW Hello world}
/bye
47. Turing
===================================
put "Hello, world!"
48. VB
===================================
sub main
msgbox "Hello World!"
end sub
49. VC++
===================================
#include <windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
char lpszClassName[]="Window";
char lpszTitle[]="Hello World";
wndclass.style=0;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=lpszClassName;
if(!RegisterClass(&wndclass))
{
MessageBeep(0);
return FALSE;
}
hwnd=CreateWindow(lpszClassName,
lpszTitle,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&Msg,NULL,0,0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
char Hello[]="Hello World!";
tch(message)
{
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
TextOut(hdc, 0, 0, Hello,lstrlen(Hello));
EndPaint(hwnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}
50. Win32汇编
===================================
;图形界面Hello World
.386
.model flat, stdcall
option casemap :none
include /masm32/include/windows.inc
include /masm32/include/user32.inc
include /masm32/include/kernel32.inc
includelib /masm32/lib/user32.lib
includelib /masm32/lib/kernel32.lib
.code
start:
jmp @F
szDlgTitle db "Hello World(汇编语言版)",0
szMsg db "Hello World!",0
@@:
push MB_OK
push offset szDlgTitle
push offset szMsg
push 0
call MessageBox
push 0
call ExitProcess
end start
51. 汇编
===================================
.MODEL small
.STACK 100h
.DATA
Hello DB /‘Hello World!/‘,13,10,/‘$/‘
.CODE
mov ax,@data
mov ds,ax
mov ah,9
mov dx,OFFSET Hello
int 21h
mov ah,4ch
int 21h
END
52. ASP
===================================
response.write "Hello World!"
53. C#
===================================
using System;
class Hello
{
public static void Main()
{
Console.WriteLine("Hello World!");
}
}
54. FOXBASE
===================================
? "Hello World!"
@0,0 say "Hello World!"
55. Groovy
===================================
print "Hello World!/n"
56. PHP
===================================
echo "Hello World!"
57.VB .MET:
===================================
imports System
module Hello
sub main()
Console.WriteLine("Hello World!")
end sub
end module
58.JScript:
===================================
import System;
Console.Write("Hello World!/n");
或
print("Hello World!");
59.易语言:
===================================
标准输出 (, “Hello World!”)
或
信息框 (“Hello World!”, 0, )
60.Delphi:
===================================
program HelloWorld;
uses
Dialogs;
begin
ShowMessage(/‘Hello, World!/‘);
end.
61.DOS Batch:
===================================
@echo Hello World!
62.UNIX Shell
===================================
echo /‘Hello World!/‘
一个没有main方法的Java版Hello World程序:
===================================
class Hello
{
static
{
System.out.println("Hello World!");
System.exit(0);
}
}
63.Xaml:
===================================
<Canvas
xmlns="http://schemas.microsoft.com/2003/xaml"
Background="LightCyan"
Width="100%" Height="100%">
<Text Canvas.Left="90" Canvas.Top="20" FontSize="36">Hello World!</Text>
</Canvas>
64.SQL:
===================================
print /‘Hello World!/‘
65.SML:
===================================
print "Hello World!/n";;
66.Heron:
===================================
program HelloWorld;
functions
{
_main()
{
print_string("Hello, world!");
}
}
End
67.Scala:
===================================
object HelloWorld with Application
{
Console.println("Hello, world!");
}
68.SPARK:
===================================
with Spark_IO;
--# inherit Spark_IO;
--# main_program;
procedure Hello_World
--# global in out Spark_IO.Outputs;
--# derives Spark_IO.Outputs from Spark_IO.Outputs;
is
begin
Spark_IO.Put_Line (Spark_IO.Standard_Output, "Hello World!", 0);
end Hello_World;
69.PureBASIC:
===================================
OpenConsole()
PrintN("Hello World!")
CloseConsole()
或
MessageRequester("PureBASIC - Hello", "Hello World!", 0)
70.MediaBASIC:
===================================
sub Main()
Console
WriteConsole("Hello World!")
end sub
或
sub Main()
ShowMessage "Hello World!"
end sub
71.XPB! BASIC:
===================================
Console
PROGRAM
print "Hello World!"
72.Liberty BASIC:
===================================
print "Hello World!"
73.ScriptBASIC:
===================================
print "Hello World!" & chr(13) & chr(10)
74.blassic:
===================================
print "Hello World!"
75.KBASIC:
===================================
Print "Hello World!"
76.Chipmunk BASIC:
===================================
print "Hello World!"
77.BBC BASIC:
===================================
PRINT "Hello World!"
78.Modula-2
===================================
MODULE Hello;
FROM Terminal2 IMPORT WriteLn; WriteString;
BEGIN
WriteString("Hello, world!");
WriteLn;
END Hello;
79.Oberon
===================================
MODULE Hello;
IMPORT Oberon, Texts;
VAR W: Texts.Writer;
PROCEDURE World*;
BEGIN
Texts.WriteString(W, "Hello World!");
Texts.WriteLn(W);
Texts.Append(Oberon.Log, W.buf)
END World;
BEGIN
Texts.OpenWriter(W)
END Hello.
80.VC++ .NET
===================================
#include <stdafx.h>
#using <mscorlib.dll>
using namespace System;
int main()
{
Console::Write("Hello World!/n");
return 0;
}
81.VJ# .NET
===================================
package JHello;
public class Hello
{
public static void main(String[] args)
{
System.out.print("Hello World!/n");
}
}
82.XHTML 1.1
===================================
(Using UTF-8 character set.)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Hello, world!</title>
</head>
<body>
<p>Hello, world!</p>
</body>
</html>
83.XUL
===================================
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <box align="center"> <label value="Hello, world!" /> </box> </window>
LaTeX
/documentclass
/begin
Hello, world!
/end
Ruby with WxWidgets
See also TUI section.
require /‘wxruby/‘
class HelloWorldApp < Wx::App
def on_init
ourFrame = Wx::Frame.new(nil, -1, "Hello, world!").show
ourDialogBox = Wx::MessageDialog.new(ourFrame, "Hello, world!", "Information:", Wx::OK|Wx::ICON_INFORMATION).show_modal
end
end
HelloWorldApp.new.main_loop
84.SWT
===================================
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Label;
public class SWTHello {
public static void main (String [] args) {
Display display = new Display ();
final Shell shell = new Shell(display);
RowLayout layout = new RowLayout();
layout.justify = true;
layout.pack = true;
shell.setLayout(layout);
shell.setText("Hello, World!");
Label label = new Label(shell, SWT.CENTER);
label.setText("Hello, World!");
shell.pack();
shell.open ();
while (!shell.isDisposed ()) {
if (!display.readAndDispatch ()) display.sleep ();
}
display.dispose ();
}
}
85.RTML
===================================
Hello ()
TEXT "Hello, world!"
Qt toolkit (in C++)
#include <qapplication.h>
#include <qpushbutton.h>
#include <qwidget.h>
#include <iostream>
class HelloWorld : public QWidget
{
Q_OBJECT
public:
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(argc, argv);
HelloWorld helloWorld;
app.setMainWidget(&helloWorld);
helloWorld.show();
return app.exec();
}