Програма Hello world — традиційна серед програмістів перша програма, що наводиться в підручниках з мов програмування. Програма виводить рядок «Hello, world!» або його еквіваленти «Привіт, світе!» тощо.
Традицію розпочинати вивчення нової мови програмування з такої простої програми було започатковано в книзі «Мова програмування Сі» Браяна Кернігана та Денніса Рітчі, опублікованій в 1978 році.
Незважаючи на свою простоту, програма корисна тим, що дозволяє початківцю виконати всі дії, необхідні для написання, компілювання і запуску простої програми, написаної обраною мовою програмування.
У середовищі програмування мікроконтролерів при відсутності дисплея найпростішою програмою також під назвою «Hello, world» є програма яка реалізує мигання світлодіода на одному з виходів мікроконтролера. Мета такої програми є успішна компіляція програми (при вивченні нового мікроконтролера або нового середовища розробки), прошивка програми в мікроконтролер і демонстрація працездатності самого мікроконтролера.
Проблема Hello world
Відносно до простоти написання програми Hello world тим більше важливо, що така програма є прикладом розв'язання проблеми виводу тексту на стандартний вивід (цю проблему також інколи називають проблемою Hello world). Корисним розв'язанням цієї проблеми є те, що рядок «Hello world» може бути замінений на будь-який інший обчислений рядок, а проблема виводу такого рядка може бути зведена до використання рішення для вже вирішеної проблеми Hello world. Таким чином, простий приклад програми Hello world насправді демонструє в обраній мові програмування спосіб реалізації двох (обчислення, виведення) з трьох (введення, обчислення, виведення) механізмів комп'ютерних обчислень.
Приклади
Як приклади будемо розглядати записаний в файл набір інструкцій, оформлений відповідно до вимог операційної системи або середовища програмування. Якщо це не вказано окремо, назви файлів та синтаксис команд — як в ОС UNIX/Linux. Для файлів інтерпретованих мов програмування має бути попередньо встановлене право на виконання.
Файл "hello.adb":
with Ada.Text_IO; use Ada.Text_IO; procedure Hello is begin Put_Line ("Hello, world!"); end Hello;
Компіляція компілятором і виконання програми:
gnatmake hello.adb ./hello
Файл "hello.asm" (синтаксис NASM для ОС Linux):
SECTION .data msg: db "Hello, world",10 len: equ $-msg SECTION .text global main main: mov edx, len mov ecx, msg mov ebx, 1 mov eax, 4 int 0x80 mov ebx, 0 mov eax, 1 int 0x80
Компіляція компілятором NASM і виконання програми:
nasm -felf hello.asm -o hello.o gcc hello.o -o hello ./hello
Файл "hello.awk":
BEGIN { print "Hello, World" }
Виконання програми:
awk -f hello.awk /dev/null
Файл "hello.sh":
#!/bin/bash echo Hello, world!
Виконання програми:
./hello.sh
Текст програми:
PRINT "Hello, world!"
Файл "hello.c":
#include <stdio.h> int main() { printf("Hello, world!\n"); return 0; }
Компіляція програми компілятором GCC та виконання програми:
gcc hello.c -o hello ./hello
Файл "hello.cpp":
#include <iostream> using namespace std; int main() { cout << "Hello, world!" << endl; return 0; }
Компіляція програми компілятором GCC та виконання програми:
g++ hello.cpp -o hello ./hello
Файл "hello.cs":
using System; class ExampleClass { static void Main() { Console.WriteLine("Hello, world!"); } }
Компіляція програми компілятором CSC та виконання програми:
csc hello.cs /o- hello
import std.stdio; void main() { writeln("Hello world!"); }
Компіляція та виконання програми:
dmd hello.d ./hello
package main import "fmt" func main() { fmt.Println("Привіт, світе!") }
Файл "Hello.java":
public class Hello { public static void main(String[] args) { System.out.println("Hello, world!"); } }
Компіляція програми компілятором та виконання програми:
javac Hello.java java Hello
У тілі файлу "hello.html" або окремим файлом "hello.js" з прив'язкою до "hello.html". Відкрити у Веббраузері.
У тілі:
<script type="text/javascript"> console.log("Hello, World!"); </script>
У окремому файлі:
window.onload = function(){ console.log("Hello, World!"); }
Прив'язка:
<script type="text/javascript" src="hello.js"></script>
З використанням Node.js:
console.log("Hello, World!");
Файл "hello.pas":
program Hello; begin WriteLn ('Hello, world!'); end.
Компіляція програми компілятором FPC та виконання програми:
fpc hello.pas ./hello
#!/usr/bin/perl print "Hello, world!"
Виконання програми:
./hello.pl
Файл "hello.php":
<?php echo 'Hello, world!'; ?>
Для виконання програми необхідно розмістити файл "hello.php" в одному з каталогів Вебсервера і виконати запит відповідної сторінки через Веббраузер, або php hello.php.
include "std.porth" proc main in "Hello, World\n" puts end
Файл "hello.py":
#!/usr/bin/python print("Hello, world!")
Виконання програми:
./hello.py
Файл "hello.tcl":
#!/usr/bin/tclsh puts "Hello world!"
Виконання програми:
./hello.tcl
Див. також
Посилання
- . Rosetta Code. Архів оригіналу за 14 березня 2017. Процитовано 13 березня 2017. – сайт з програмами "Hello, world!" на різних мовах програмування
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Programa Hello world tradicijna sered programistiv persha programa sho navoditsya v pidruchnikah z mov programuvannya Programa vivodit ryadok Hello world abo jogo ekvivalenti Privit svite tosho Hello World Brayana Kernigana Hello World na ChPK marshrutizatori Hello World v sistemi keruvannya led strichkoyuPrograma Hello world na movi programuvannya Perl z vikoristannyam GTK Tradiciyu rozpochinati vivchennya novoyi movi programuvannya z takoyi prostoyi programi bulo zapochatkovano v knizi Mova programuvannya Si Brayana Kernigana ta Dennisa Ritchi opublikovanij v 1978 roci Nezvazhayuchi na svoyu prostotu programa korisna tim sho dozvolyaye pochatkivcyu vikonati vsi diyi neobhidni dlya napisannya kompilyuvannya i zapusku prostoyi programi napisanoyi obranoyu movoyu programuvannya U seredovishi programuvannya mikrokontroleriv pri vidsutnosti displeya najprostishoyu programoyu takozh pid nazvoyu Hello world ye programa yaka realizuye migannya svitlodioda na odnomu z vihodiv mikrokontrolera Meta takoyi programi ye uspishna kompilyaciya programi pri vivchenni novogo mikrokontrolera abo novogo seredovisha rozrobki proshivka programi v mikrokontroler i demonstraciya pracezdatnosti samogo mikrokontrolera Problema Hello worldVidnosno do prostoti napisannya programi Hello world tim bilshe vazhlivo sho taka programa ye prikladom rozv yazannya problemi vivodu tekstu na standartnij vivid cyu problemu takozh inkoli nazivayut problemoyu Hello world Korisnim rozv yazannyam ciyeyi problemi ye te sho ryadok Hello world mozhe buti zaminenij na bud yakij inshij obchislenij ryadok a problema vivodu takogo ryadka mozhe buti zvedena do vikoristannya rishennya dlya vzhe virishenoyi problemi Hello world Takim chinom prostij priklad programi Hello world naspravdi demonstruye v obranij movi programuvannya sposib realizaciyi dvoh obchislennya vivedennya z troh vvedennya obchislennya vivedennya mehanizmiv komp yuternih obchislen PrikladiYak prikladi budemo rozglyadati zapisanij v fajl nabir instrukcij oformlenij vidpovidno do vimog operacijnoyi sistemi abo seredovisha programuvannya Yaksho ce ne vkazano okremo nazvi fajliv ta sintaksis komand yak v OS UNIX Linux Dlya fajliv interpretovanih mov programuvannya maye buti poperedno vstanovlene pravo na vikonannya Ada Fajl hello adb with Ada Text IO use Ada Text IO procedure Hello is begin Put Line Hello world end Hello Kompilyaciya kompilyatorom i vikonannya programi gnatmake hello adb hello Assembler Fajl hello asm sintaksis NASM dlya OS Linux SECTION data msg db Hello world 10 len equ msg SECTION text global main main mov edx len mov ecx msg mov ebx 1 mov eax 4 int 0x80 mov ebx 0 mov eax 1 int 0x80 Kompilyaciya kompilyatorom NASM i vikonannya programi nasm felf hello asm o hello o gcc hello o o hello hello Awk Fajl hello awk BEGIN print Hello World Vikonannya programi awk f hello awk dev null Bash Fajl hello sh bin bash echo Hello world Vikonannya programi hello sh Basic Tekst programi PRINT Hello world S Fajl hello c include lt stdio h gt int main printf Hello world n return 0 Kompilyaciya programi kompilyatorom GCC ta vikonannya programi gcc hello c o hello hello C Fajl hello cpp include lt iostream gt using namespace std int main cout lt lt Hello world lt lt endl return 0 Kompilyaciya programi kompilyatorom GCC ta vikonannya programi g hello cpp o hello hello C Fajl hello cs using System class ExampleClass static void Main Console WriteLine Hello world Kompilyaciya programi kompilyatorom CSC ta vikonannya programi csc hello cs o hello D import std stdio void main writeln Hello world Kompilyaciya ta vikonannya programi dmd hello d hello Go package main import fmt func main fmt Println Privit svite Java Fajl Hello java public class Hello public static void main String args System out println Hello world Kompilyaciya programi kompilyatorom ta vikonannya programi javac Hello java java Hello JavaScript U tili fajlu hello html abo okremim fajlom hello js z priv yazkoyu do hello html Vidkriti u Vebbrauzeri U tili lt script type text javascript gt console log Hello World lt script gt U okremomu fajli window onload function console log Hello World Priv yazka lt script type text javascript src hello js gt lt script gt Z vikoristannyam Node js console log Hello World Pascal Fajl hello pas program Hello begin WriteLn Hello world end Kompilyaciya programi kompilyatorom FPC ta vikonannya programi fpc hello pas hello Perl usr bin perl print Hello world Vikonannya programi hello pl PHP Fajl hello php lt php echo Hello world gt Dlya vikonannya programi neobhidno rozmistiti fajl hello php v odnomu z katalogiv Vebservera i vikonati zapit vidpovidnoyi storinki cherez Vebbrauzer abo php hello php include std porth proc main in Hello World n puts end Python Fajl hello py usr bin python print Hello world Vikonannya programi hello py Tcl Fajl hello tcl usr bin tclsh puts Hello world Vikonannya programi hello tclDiv takozhLena Chajnik YutaPosilannya Rosetta Code Arhiv originalu za 14 bereznya 2017 Procitovano 13 bereznya 2017 sajt z programami Hello world na riznih movah programuvannya