Hello, world
За информацията в тази статия или раздел не са посочени източници. Въпросната информация може да е непълна, неточна или изцяло невярна. Имайте предвид, че това може да стане причина за изтриването на цялата статия или раздел. |
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 / Край на низа
Първа сполучлива 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
echo 'Hello world'
Класически 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!');
(PRINT "Hello, world!")
MS-DOS batch
[редактиране | редактиране на кода] @echo 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;
write('Hello world'),nl.
print('Hello World!')
- Perl 5
print "Hello world\n";
- Perl 6
say "Hello world";
puts "Hello, world!"
$ 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>
Източници
[редактиране | редактиране на кода]- Колекция „Hello, world“ с над 500 примера на различни езици за програмиране и на повече от 70 естествени езици.