Hello world!
Програма 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 isbegin Put_Line ("Hello, world!");end Hello;
Компіляція компілятором GNAT і виконання програми:
gnatmake hello.adb./hello
Файл "hello.asm" (синтаксис NASM для ОС Linux):
SECTION .datamsg: db "Hello, world",10len: equ $-msgSECTION .textglobal mainmain: 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.ogcc hello.o -o hello./hello
Файл "hello.awk":
BEGIN { print "Hello, World" }
Виконання програми:
awk -f hello.awk /dev/null
Файл "hello.sh":
#!/bin/bashecho 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 mainimport "fmt"func main() {fmt.Println("Привіт, світе!")}
Файл "Hello.java":
public class Hello { public static void main(String[] args) { System.out.println("Hello, world!"); }}
Компіляція програми компілятором Javac та виконання програми:
javac Hello.javajava 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/perlprint "Hello, world!"
Виконання програми:
./hello.pl
Файл "hello.php":
<?php echo 'Hello, world!'; ?>
Для виконання програми необхідно розмістити файл "hello.php" в одному з каталогів Вебсервера і виконати запит відповідної сторінки через Веббраузер, або php hello.php.
Porth
include "std.porth"proc main in "Hello, World\n" putsend
Файл "hello.py":
#!/usr/bin/pythonprint("Hello, world!")
Виконання програми:
./hello.py
Файл "hello.tcl":
#!/usr/bin/tclshputs "Hello world!"
Виконання програми:
./hello.tcl
Див. також
Посилання
- Hello world/Text. Rosetta Code. Архів оригіналу за 14 березня 2017. Процитовано 13 березня 2017. – сайт з програмами "Hello, world!" на різних мовах програмування
- A Collection of Assembler Hello World Programs