Hello, world (от англ. „Здравей, свят“) е компютърна програма – стандартен пример за програмиране в много учебници и ръководства. Широката му употреба се дължи на краткостта, съчетана с показването на основните елементи на всяка програма:
- формат на командите в езика
- команди за извеждане на съобщения към потребителя
- заглавна и завършваща част (при някои езици, напр. блоковите процедурни езици)
- извикване на външни модули (при езиците без входно-изходни операции в основната библиотека)
- създаване на класове (при обектно ориентирани езици)
По тези причини това обикновено е първата програма, използвана от начинаещ програмист на даден език за програмиране. По-долу са дадени примери на някои от езиците.
with Ada.Text_IO;
procedure Hello is
begin
Ada.Text_IO.Put_Line ("Hello, world!");
end Hello;
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 / Край на низа
bdos equ 0005H ; BDOS стартова точка
start: mvi c,9 ; BDOS функция: отпечатване на низ
lxi d,msg$ ; адрес на съобщението
call bdos
ret ; връщане в CCP
msg$: db 'Hello, world!$'
end start
MSG: .ASCIIZ "Hello, world!"
LDX #$F3
@LP: LDA MSG-$F3,X ; Зареждане на символа
JSR $FFD2 ; CHROUT (KERNAL), отпечатване на текущото устройство (екрана)
INX
BNE @LP ;
RTS
.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
.program
ADR R0,message
SWI "OS_Write0"
SWI "OS_Exit"
.message
DCS "Hello, world!"
DCB 0
ALIGN
.data
msg: .asciiz "Hello, world!"
.align 2
.text
.globl main
main:
la $a0,msg
li $v0,4
syscall
jr $ra
Класически BASIC
10 PRINT "Hello, world!"
20 END
Модерен BASIC
PRINT "Hello, World!"
END
GET "LIBHDR"
LET START () BE
$(
WRITES ("Hello, world!*N")
$)
#include <stdio.h>
int main(void)
{
printf("Hello, world!\n");
return 0;
}
#include <iostream>
int main()
{
std::cout << "Hello, world" << std::endl;
return 0;
}
using System;
class HelloWorldApp
{
public static void Main()
{
Console.WriteLine("Hello, world!");
}
}
." Hello, world!" CR
program hello
write (*,*) 'Hello, world!'
end program hello
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
Принципно погледнато не е необходимо класът да е публичен. Ако класът е публичен както в примера е необходимо файлът съдържащ кодът на програмата да е със същото име като класът (включително главните и малките букви) и разширение java, т.е. Този пример трябва да се намира във файл Hello.java.
document.writeln('Hello, world!');
За MS-DOS 3.0 или по стар:
echo off
echo Hello, world!
Program Hello;
begin
WriteLn('Hello, world!');
end.
<?php
echo "Hello, world!\n";
?>
Test: proc options(main) reorder;
put skip edit('Hello, world!') (a);
end Test;
- Perl 5
- Perl 6
$ include "seed7_05.s7i";
const proc: main is func
begin
writeln("Hello, world!");
end func;
Hello world
\bye
Sub Main
MsgBox "Hello, world!"
End Sub
Module HelloWorldApp
Sub Main()
System.Console.WriteLine("Hello, world!")
End Sub
End Module
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>
Източници