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, World!"
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>
Източници редактиране
- Колекция „Hello, world“ с над 500 примера на различни езици за програмиране и на повече от 70 естествени езици.