Hello, world
Hello, world (от англ. "Здравей, свят") е компютърна програма — стандартен пример за програмиране в много учебници и ръководства. Широката му употреба се дължи на краткостта, съчетана с показването на основните елементи на всяка програма:
- формат на командите в езика
- команди за извеждане на съобщения към потребителя
- заглавна и завършваща част (при някои езици, напр. блоковите процедурни езици)
- извикване на външни модули (при езиците без входно-изходни операции в основната библиотека)
- създаване на класове (при обектно-ориентирани езици)
По тези причина това обикновено е първата програма, използвана от начинаещ програмист на даден език за програмиране. По-долу са дадени примери на някои от езиците.
Ada[редактиране]
with Ada.Text_IO;
procedure Hello is
begin
Ada.Text_IO.Put_Line ("Hello, world!");
end Hello;
ALGOL[редактиране]
begin outstring(1,"Hello, world!") end
Асемблер[редактиране]
"Само-акумулатор" архитектура: DEC PDP-8, PAL-III асемблер[редактиране]
*10 / Избиране на origin на адрес 10, STPTR, 0 / в авто-инткрементиран регистър (един от осем - 10-17)
*200 / Избиране на origin за текстовата област
HELLO, CLA CLL / Изчистване на AC и Link
TAD (STRNG-1) / Сетване на низовия указател в PRE-auto-increment регистъра
DCA STPTR / :
NEXT, CLA CLL / Изчистване на AC и Link още веднъж
TAD I STPTR / Взимане на текстов символ недиректно през PRE-auto-increment адрес
SNA / Скок ако не е нула (Не е достигнат края на низа)
HLT / В противен случай прекъсване при нула (края на стринга)
TLS / Отпечатване на символа в АС принтиращата машина
TSF / Скок ако принтиращата машина е готова
JMP .-1 / В противен случай - опитай отначало
JMP NEXT / Скок за следващия символ
STRNG, 310 / H
345 / e
354 / l
354 / l
357 / o
254 / ,
240 / (интервал)
367 / w
357 / o
362 / r
354 / l
344 / d
241 / !
0 / Край на низа
Първа сполучлива uP/OS комбинация: Intel 8080/Zilog Z80, CP/M Операционна система, RMAC асемблер[редактиране]
bdos equ 0005H ; BDOS стартова точка
start: mvi c,9 ; BDOS функция: отпечатване на низ
lxi d,msg$ ; адрес на съобщението
call bdos
ret ; връщане в CCP
msg$: db 'Hello, world!$' end start
Акумулатор + Индексен регистър: MOS Technology 6502, CBM KERNAL, ca65 асемблер[редактиране]
MSG: .ASCIIZ "Hello, world!"
LDX #$F3
@LP: LDA MSG-$F3,X ; Зареждане на символа
JSR $FFD2 ; CHROUT (KERNAL), отпечатване на текущото у-во (екрана)
INX
BNE @LP ;
RTS
Разширена акумулаторна машина: Intel x86, Linux, GAS[редактиране]
.data
msg:
.ascii "Hello, world!\n"
len = . - msg
.text
.global _start
_start:
movl $len,%edx
movl $msg,%ecx
movl $1,%ebx
movl $4,%eax
int $0x80
movl $0,%ebx
movl $1,%eax
int $0x80
RISC процесор: ARM, RISC OS, BBC BASIC's инлайн асемблер[редактиране]
.program
ADR R0,message
SWI "OS_Write0"
SWI "OS_Exit"
.message
DCS "Hello, world!"
DCB 0
ALIGN
RISC Процесор: MIPS[редактиране]
.data
msg: .asciiz "Hello, world!"
.align 2
.text
.globl main
main:
la $a0,msg
li $v0,4
syscall
jr $ra
bash[редактиране]
echo 'Hello world'
BASIC[редактиране]
Класически BASIC[редактиране]
10 PRINT "Hello, world!" 20 END
Модерен BASIC[редактиране]
PRINT "Hello, Wolrd!" END
BCPL[редактиране]
GET "LIBHDR"
LET START () BE $( WRITES ("Hello, world!*N") $)
C[редактиране]
#include <stdio.h> int main(void) { printf("Hello, world!\n"); return 0; }
C++[редактиране]
#include <iostream> int main() { std::cout << "Hello, world" << std::endl; return 0; }
C#[редактиране]
using System; class HelloWorldApp { public static void Main() { Console.WriteLine("Hello, world!"); } }
Forth[редактиране]
." Hello, world!" CR
FORTRAN[редактиране]
program hello
write (*,*) 'Hello, world!'
end program hello
Java[редактиране]
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
Принципно погледнато не е необходимо класът да е публичен. Ако класът е публичен както в примера е необходимо файлът съдържащ кодът на програмта да е със същото име като класът (включително главните и малките букви) и разширение java, т.е. Този пример трябва да се намира във файл Hello.java.
JavaScript[редактиране]
document.writeln('Hello, world!');
LISP[редактиране]
(PRINT "Hello, world!")
MS-DOS batch[редактиране]
@echo Hello, world!
За MS-DOS 3.0 или по стар:
echo off echo Hello, world!
Pascal[редактиране]
Program Hello;
begin
WriteLn('Hello, world!');
end.
PHP[редактиране]
<?php
echo "Hello, world!\n";
?>
PL/I[редактиране]
Test: proc options(main) reorder;
put skip edit('Hello, world!') (a);
end Test;
Пролог[редактиране]
write('Hello world'),nl.
Python[редактиране]
print('Hello World!')
Perl[редактиране]
- Perl 5
print "Hello world\n";
- Perl 6
say "Hello world";
Ruby[редактиране]
puts "Hello, world!"
Seed7[редактиране]
$ include "seed7_05.s7i";
const proc: main is func
begin
writeln("Hello, world!");
end func;
Tex[редактиране]
Hello world \bye
Visual Basic[редактиране]
Sub Main MsgBox "Hello, world!" End Sub
Visual Basic .NET[редактиране]
Module HelloWorldApp
Sub Main()
System.Console.WriteLine("Hello, world!")
End Sub
End Module
XUL[редактиране]
XUL e xml базиран език, разработен от Mozilla.
<?xml-stylesheet href="chrome://global/skin" type="text/css" ?> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" align="center" pack="center" flex="1"> <description>Hello, world!</description> </window>