فهرست مثالهای برنامه Hello World
یک برنامه Hello World، یک برنامهٔ رایانهای ساده است که جمله «!Hello, world» را در صفحۀ نمایش چاپ میکند. معمولاً سادهترین برنامهٔ ممکنی است که میتوان در زبانهای برنامهنویسی مختلف نوشت و یک عمل سنتی است که بسیاری از برنامهنویسان که قصد آموزش یک زبان برنامهنویسی را دارند، توصیه به نوشتن آن میکنند که اولین قدم در یادگیری آن زبان برنامهنویسی است. بیشتر از این برنامه برای مقایسه نحو دو زبان مختلف استفاده میشود. در زیر فهرستی از برنامههای Hello World مرسوم در ۹۱ زبان برنامهنویسی آمدهاست.
آباپ
ویرایشREPORT HELLOWORLD.
WRITE 'Hello, world!'.
اکشناسکریپت
ویرایشtrace ("Hello, world!");
یا:
package com.example
{
import flash.text.TextField;
import flash.display.Sprite;
public class Greeter extends Sprite
{
public function Greeter()
{
var txtHello:TextField = new TextField();
txtHello.text = "Hello, world!";
addChild(txtHello);
}
}
}
ایدا
ویرایشwith Ada.Text_IO;
procedure Hello_World is
use Ada.Text_IO;
begin
Put_Line("Hello, world!");
end;
Adventure Game Studio Script
ویرایشDisplay("Hello, world!");
یا:
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
surface.DrawString(0, 100, Game.NormalFont, "Hello, world!");
surface.Release();
الگول
ویرایشBEGIN
DISPLAY ("Hello, world!");
END.
ALGOL 68
ویرایشprint("Hello, world!")
Amiga E
ویرایشPROC main()
WriteF('Hello, world!')
ENDPROC
ایپیال
ویرایش'Hello, world'
Assembly Language — MOS Technology 6502, CBM KERNEL
ویرایش A_CR = $0D ;carriage return
BSOUT = $FFD2 ;kernel ROM sub, write to current output device
;
LDX #$00 ;starting index in.X register
;
LOOP LDA MSG,X ;read message text
BEQ LOOPEND ;end of text
;
JSR BSOUT ;output char
INX
BNE LOOP ;repeat
;
LOOPEND RTS ;return from subroutine
;
MSG.BYT 'Hello, world!',A_CR,$00
اسمبلی x86 داس
ویرایش; The output file is 22 bytes.
; 14 bytes are taken by "Hello, world!$
;
; Written by Stewart Moss - May 2006
; This is a.COM file so the CS and DS are in the same segment
;
; I assembled and linked using TASM
;
; tasm /m3 /zn /q hello.asm
; tlink /t hello.obj
.model tiny
.code
org 100h
main proc
mov ah,9 ; Display String Service
mov dx,offset hello_message ; Offset of message (Segment DS is the right segment in.COM files)
int 21h ; call DOS int 21h service to display message at ptr ds:dx
retn ; returns to address 0000 off the stack
; which points to bytes which make int 20h (exit program)
hello_message db 'Hello, world!$'
main endp
end main
زبان اسمبلی x86 ویندوز ۳۲ بیتی
ویرایش; This program displays "Hello, World!" in a windows messagebox and then quits.
;
; Written by Stewart Moss - May 2006
;
; Assemble using TASM 5.0 and TLINK32
;
; The output EXE is standard 4096 bytes long.
; It is possible to produce really small windows PE exe files, but that
; is outside of the scope of this demo.
.486p
.model flat,STDCALL
include win32.inc
extrn MessageBoxA:PROC
extrn ExitProcess:PROC
.data
HelloWorld db "Hello, world!",0
msgTitle db "Hello world program",0
.code
Start:
push MB_ICONQUESTION + MB_APPLMODAL + MB_OK
push offset msgTitle
push offset HelloWorld
push 0
call MessageBoxA
push 0
call ExitProcess
ends
end Start
زبان اسمبلی - x86-64 لینوکس، ایتیاندتی
ویرایش.section .rodata
string:
.ascii "Hello, world!\n\0"
length:
.quad. -string #Dot = 'here'
.section .text
.globl _start #Make entry point visible to linker
_start:
movq $4, %rax #4=write
movq $1, %rbx #1=stdout
movq $string, %rcx
movq length, %rdx
int $0x80 #Call Operating System
movq %rax, %rbx #Make program return syscall exit status
movq $1, %rax #1=exit
int $0x80 #Call System Again
زبان اسمبلی - Z80
ویرایش EQU CR = #0D ; carriage return
EQU PROUT = #xxxx ; character output routine
;
LD HL,MSG ; Point to message
;
PRLOOP LD A,(HL) ; read byte from message
AND A ; set zero flag from byte read
RET Z ; end of text if zero
JSR PROUT ; output char
INC HL ; point to next char
JR PRLOOP ; repeat
;
MSG DB "Hello, world!",CR,00
;
AutoHotkey
ویرایشMsgbox, Hello, world!
Traytip,, Hello, world!
AutoIt
ویرایشMsgbox(64, "", "Hello, world!")
AWK
ویرایشBEGIN { print "Hello, world!" }
بیسیک
ویرایشPRINT "Hello, world!"
Batch File
ویرایش@echo Hello, world!
BCPL
ویرایشGET "LIBHDR"
LET START() BE
$(WRITES("Hello, world!*N")
$)
brainfuck
ویرایش+++++ +++++ initialize counter (cell #0) to 10
[ use loop to set the next four cells to 70/100/30/10
> +++++ ++ add 7 to cell #1
> +++++ +++++ add 10 to cell #2
> +++ add 3 to cell #3
> + add 1 to cell #4
<<<<- decrement counter (cell #0)
]
> ++. print 'H'
> +. print 'e'
+++++ ++. print 'l'
. print 'l'
+++. print 'o'
> ++. print ' '
<<+++++ +++++ +++++. print 'W'
>. print 'o'
+++. print 'r'
---- -. print 'l'
---- ---. print 'd'
> +. print '!'
>. print '\n'
سی
ویرایش#include <stdio.h>
void main()
{
printf("Hello World!");
}
سی++
ویرایش#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world!" << endl;
return 0;
}
سی شارپ
ویرایشusing System;
class Program
{
public static void Main()
{
Console.WriteLine("Hello, world!");
Console.ReadKey(true);
}
}
Casio BASIC
ویرایش"HELLO, WORLD!"
Common Intermediate Language
ویرایش.assembly Hello {}
.assembly extern mscorlib {}
.method static void Main()
{
.entrypoint
.maxstack 1
ldstr "Hello, world!"
call void [mscorlib]System.Console::WriteLine(string)
call string[mscorlib]System.Console::ReadKey(true)
pop
ret
}
ColdFusion Markup Language (CFML)
ویرایشCF Script:
<cfscript>
variables.greeting = "Hello, world!";
WriteOutput(variables.greeting);
</cfscript>
CFML Tags:
<cfset variables.greeting = "Hello, world!">
<cfoutput>#variables.greeting#</cfoutput>
کلوژر
ویرایشنسخه ی پیشانه ای (کنسولی):
(println "Hello, world!")
نسخه ی gui:
(javax.swing.JOptionPane/showMessageDialog nil "Hello, world!")
کوبول
ویرایش IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
PROCEDURE DIVISION.
DISPLAY 'Hello, world!'.
STOP RUN.
دی
ویرایشimport std.stdio;
void main()
{
writeln("Hello, world!");
}
دارت
ویرایشmain()
{
print('Hello, world!');
}
DCL
ویرایشWRITE SYS$OUTPUT "Hello, world!"
دلفی
ویرایش{$APPTYPE CONSOLE}
begin
Writeln('Hello, world!');
end.
Erlang
ویرایشio:format("~s~n", ["Hello, world!"])
F
ویرایشprintfn "Hello, world!"
Falcon
ویرایش printl("Hello, world!")
or
> "Hello, world!"
Forth
ویرایش." Hello, world! "
فورترن
ویرایش(Fortran 95 and later)
program hello
write (*,*) 'Hello, world!'
end program hello
(Fortran 90)
program hello
print *, 'Hello, world!'
end program hello
OR (FORTRAN 77 and prior)
PROGRAM HELLO
PRINT *, 'Hello, world!'
END
Game Maker Language
ویرایشstr='Hello, world!'
//Using the show_message() function:
show_message(str);
//Using the draw_text() function:
draw_text(0,0,str);
Go
ویرایشpackage main
import "fmt"
func main() {
fmt.Println("Hello, world!")
}
Groovy
ویرایشprintln "Hello, world!"
Haskell
ویرایشmain = putStrLn "Hello, world!"
HOP
ویرایش(define-service (hello-world)
(<HTML>
(<HEAD>
(<TITLE> "Hello, world!"))
(<BODY>
"Hello, world!")))
اچتیامال
ویرایش<!DOCTYPE html>
<html>
<body>
Hello, world!
</body>
</html>
IDL
ویرایشprint, "Hello, world!"
end
Io
ویرایش "Hello, world!" println
ISLISP
ویرایش(format (standard-output) "Hello, world!")
جی
ویرایش'Hello, world!'
جاوا
ویرایشpublic class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
جاوااسکریپت
ویرایشTo write to an HTML document:
document.write('Hello, world!');
To display an alert dialog box:
alert('Hello, world!');
To write to a console/debugging log:
console.log('Hello, world!');
Using Mozilla's Rhino:
print('Hello, world!');
Using Windows Script Host:
WScript.Echo("Hello, world!");
Kotlin
ویرایشpackage hello
fun main(args: Array<String>) {
println("Hello, world!")
}
لیسپ
ویرایش(princ "Hello, world!")
Logo
ویرایشprint [Hello, world!]
لوآ
ویرایشprint("Hello, World!")
M4
ویرایشHello, world!
Malbolge
ویرایش(=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc
Mathematica
ویرایشPrint["Hello, world!"]
Maple
ویرایشprint(`Hello, world!`);
متلب
ویرایشdisp('Hello, world!')
mIRC Script
ویرایشecho -a Hello, world!
MUMPS
ویرایشmain()
write "Hello, world!"
quit
Oberon
ویرایشMODULE Hello;
IMPORT Out;
BEGIN
Out.String("Hello, world!");
Out.Ln
END Hello.
Obix
ویرایشsystem.console.write_line ("Hello, world!")
Objective-C
ویرایش# import <stdio.h>
int main(void)
{
printf("Hello, world!\n");
return 0;
}
Otherwise (by gcc on pre-OpenStep/Apple Object based runtime):
# import <stdio.h>
# import <objc/Object.h>
@interface Hello: Object
- (void) say;
@end
@implementation Hello
- (void) say {
printf("Hello, world!\n");
}
@end
int main() {
Hello *hello = [Hello new];
[hello say];
[hello free];
return 0;
}
Pre-Modern (post-1994 OpenStep based Foundation APIs:
@interface Hello:NSObject
- (void) say;
@end
@implementation Hello
- (void) say {
NSLog(@"Hello, world!");
}
@end
int main(int argc, char *argv[])
{
NSAutoreleasePool *p = [[NSAutoreleasePool alloc] init];
Hello *hello = [Hello new];
[hello say];
[hello release];
[p release];
return 0;
}
Modern (llvm, ARC memory management):
@interface Hello:NSObject
- (void) say;
@end
@implementation Hello
- (void) say {
NSLog(@"Hello, world!");
}
@end
int main(int argc, char *argv[])
{
@autoreleasepool {;
[[Hello new] say];
}
return 0;
}
OCaml
ویرایش print_endline "Hello, world!"
Opa
ویرایشA "hello world" سرور وب:
Server.start(Server.http,
{ title: "Hello, world!",
page: function() { <>Hello, world!</> } })
Oriel
ویرایشMessageBox(OK, 1, INFORMATION, "Hello, world!", "Oriel Says Hello", ResponseValue)
پاسکال
ویرایشprogram HelloWorld;
uses crt;
begin
WriteLn('Hello, world!');
end.
Pawn
ویرایشmain()
{
print("Hello, world.");
}
Perl 5
ویرایشprint "Hello, world!";
Or
use v5.10;
say 'Hello, world!';
پیاچپی
ویرایش<?php echo 'Hello, world!' ?>
or
<?php print 'Hello, world' ?>
or
<?= 'Hello, world!' ?>
PL/SQL
ویرایشSET SERVEROUTPUT ON;
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, world!');
END;
PowerShell
ویرایشWrite-Host "Hello, world!"
Prolog
ویرایشmain:- write('Hello, world!'), nl.
پایتون ۲
ویرایشprint "Hello, world!"
پایتون ۳
ویرایشprint("Hello, world!")
Pythonect
ویرایش"Hello, world!" -> print
R
ویرایشcat('Hello, world!\n')
Racket
ویرایشTrivial "hello world" program:
"Hello, world!"
Running this program produces "Hello, World!"
. More direct version:
# lang racket
(display "Hello, world!")
A "hello world" سرور وب using Racket's web-server/insta
language:
# lang web-server/insta
(define (start request) (response/xexpr '(html (body "Hello, world"))))}
REXX
ویرایشsay Hello, world!
RPL
ویرایش<<"Hello, world!" MSGBOX>>
RTL/2
ویرایشTITLE Hello, world!;
LET NL=10;
EXT PROC(REF ARRAY BYTE) TWRT;
ENT PROC INT RRJOB();
TWRT("Hello, world!#NL#");
RETURN(1);
ENDPROC;
روبی
ویرایشputs "Hello, world!"
یا بدون پرش به سر خط:
print "Hello, world!"
Rust
ویرایش fn main() {
println!("Hello, world!");
}
Scala
ویرایشobject HelloWorld extends App {
println("Hello, world!")
}
Scheme
ویرایش(display "Hello, world!")
Shell
ویرایشecho Hello, world!
Simula
ویرایشBegin
OutText ("Hello, world!");
Outimage;
End;
Smalltalk
ویرایشTranscript show: 'Hello, world!'.
SNOBOL
ویرایش OUTPUT = 'Hello, world!'
END
Speakeasy
ویرایشبه صورت عبارات تعاملی(interactive):
"Hello, world!"
به عنوان برنامه:
program hello
"Hello, world!"
end
SQL
ویرایشSELECT 'Hello, world!' FROM DUMMY; -- DUMMY is a standard table in SAP HANA.
SELECT 'Hello, world!' FROM DUAL; -- DUAL is a standard table in Oracle.
SELECT 'Hello, world!' -- This will work in SQL Server.
Smalltalk
ویرایشTranscript show: 'Hello, world!'.
Stata
ویرایشdisplay "Hello, world!"
Tcl
ویرایشputs "Hello, world!"
TI-BASIC
ویرایشDisp "Hello, world!"
UnrealScript
ویرایشLog("Hello, world!");
Vala
ویرایشvoid main ()
{
print ("Hello, world!\n");
}
Visual Basic
ویرایش MsgBox "Hello, world!"
Visual Basic.NET
ویرایشModule Module1
Sub Main()
Console.WriteLine("Hello, world!")
End Sub
End Module
'non-console example:
Class Form1
Public Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load()
MsgBox("Hello, world!")
End Sub
End Class
Whitespace
ویرایشS S S T S S T S S S L T L S S S S S T T S S T S T L T L S S S S S T T S T T S S L T L S S S S S T T S T T S S L T L S S S S S T T S T T T T L T L S S S S S T S T T S S L T L S S S S S T S S S S S L T L S S S S S T T T S T T T L T L S S S S S T T S T T T T L T L S S S S S T T T S S T S L T L S S S S S T T S T T S S L T L S S S S S T T S S T S S L T L S S S S S T S S S S T L T L S S L L L
پیوند به بیرون
ویرایش- Nodewave's computer language comparison, examples implementing the same loop algorithm I will not throw paper airplanes in class.
- Rosetta Code hello world listing, hello world examples for 230 programming languages.