Програма Hello world — традиційна серед програмістів перша програма, що наводиться в підручниках з мов програмування. Програма виводить рядок «Hello, world!» або його еквіваленти «Привіт, світе!» тощо.
Традицію розпочинати вивчення нової мови програмування з такої простої програми було започатковано в книзі «Мова програмування Сі» Браяна Кернігана та Денніса Рітчі, опублікованій в 1978 році.
Незважаючи на свою простоту, програма корисна тим, що дозволяє початківцю виконати всі дії, необхідні для написання, компілювання і запуску простої програми, написаної обраною мовою програмування.
У середовищі програмування мікроконтролерів при відсутності дисплея найпростішою програмою також під назвою «Hello, world» є програма яка реалізує мигання світлодіода на одному з виходів мікроконтролера. Мета такої програми є успішна компіляція програми (при вивченні нового мікроконтролера або нового середовища розробки), прошивка програми в мікроконтролер і демонстрація працездатності самого мікроконтролера.
Проблема Hello world
Відносно до простоти написання програми Hello world тим більше важливо, що така програма є прикладом розв'язання проблеми виводу тексту на стандартний вивід (цю проблему також інколи називають проблемою Hello world). Корисним розв'язанням цієї проблеми є те, що рядок «Hello world» може бути замінений на будь-який інший обчислений рядок, а проблема виводу такого рядка може бути зведена до використання рішення для вже вирішеної проблеми Hello world. Таким чином, простий приклад програми Hello world насправді демонструє в обраній мові програмування спосіб реалізації двох (обчислення, виведення) з трьох (введення, обчислення, виведення) механізмів комп'ютерних обчислень.
Приклади
Як приклади будемо розглядати записаний в файл набір інструкцій, оформлений відповідно до вимог операційної системи або середовища програмування. Якщо це не вказано окремо, назви файлів та синтаксис команд — як в ОС UNIX/Linux. Для файлів інтерпретованих мов програмування має бути попередньо встановлене право на виконання.
Ada
Файл "hello.adb":
with Ada.Text_IO;
use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("Hello, world!");
end Hello;
Компіляція компілятором GNAT і виконання програми:
gnatmake hello.adb
./hello
Assembler
Файл "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
Awk
Файл "hello.awk":
BEGIN { print "Hello, World" }
Виконання програми:
awk -f hello.awk /dev/null
Bash
Файл "hello.sh":
#!/bin/bash
echo Hello, world!
Виконання програми:
./hello.sh
Basic
Текст програми:
PRINT "Hello, world!"
С
Файл "hello.c":
#include <stdio.h>
int main()
{
printf("Hello, world!\n");
return 0;
}
Компіляція програми компілятором GCC та виконання програми:
gcc hello.c -o hello
./hello
C++
Файл "hello.cpp":
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world!" << endl;
return 0;
}
Компіляція програми компілятором GCC та виконання програми:
g++ hello.cpp -o hello
./hello
C#
Файл "hello.cs":
using System;
class ExampleClass
{
static void Main()
{
Console.WriteLine("Hello, world!");
}
}
Компіляція програми компілятором CSC та виконання програми:
csc hello.cs /o- hello
D
import std.stdio;
void main()
{
writeln("Hello world!");
}
Компіляція та виконання програми:
dmd hello.d
./hello
Go
package main
import "fmt"
func main() {
fmt.Println("Привіт, світе!")
}
Java
Файл "Hello.java":
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
Компіляція програми компілятором Javac та виконання програми:
javac Hello.java
java Hello
JavaScript
У тілі файлу "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!");
Pascal
Файл "hello.pas":
program Hello;
begin
WriteLn ('Hello, world!');
end.
Компіляція програми компілятором FPC та виконання програми:
fpc hello.pas
./hello
Perl
#!/usr/bin/perl
print "Hello, world!"
Виконання програми:
./hello.pl
PHP
Файл "hello.php":
<?php
echo 'Hello, world!';
?>
Для виконання програми необхідно розмістити файл "hello.php" в одному з каталогів Вебсервера і виконати запит відповідної сторінки через Веббраузер, або php hello.php.
Porth
include "std.porth"
proc main in
"Hello, World\n" puts
end
Python
Файл "hello.py":
#!/usr/bin/python
print("Hello, world!")
Виконання програми:
./hello.py
Tcl
Файл "hello.tcl":
#!/usr/bin/tclsh
puts "Hello world!"
Виконання програми:
./hello.tcl
Див. також
Посилання
- Hello world/Text. Rosetta Code. Архів оригіналу за 14 березня 2017. Процитовано 13 березня 2017. – сайт з програмами "Hello, world!" на різних мовах програмування
- A Collection of Assembler Hello World Programs
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.