فهرست مثال‌های برنامه 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!")

[ویرایش]

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

پیوند به بیرون[ویرایش]