Będąc programistą, koderem, frontend developerem (czy będąc nawet jedynie kandydatem na to miano) na bank spotkaliście się z frazą "Hello world!" lub też, tłumacząc na język polski, "Witaj świecie!".

Czym jednak są tak naprawdę te słowa? Czy tylko formą powitania? Formą zakomunikowania światu, że istniejemy i chcemy w nim znaleźć swoje miejsce?

Tak naprawdę "Hello world!" jest bardziej złożone niż się wydaje!

Jedno zdanie, dwa wyrazy i 12 znaków- od "Hello world!" tak naprawdę wszystko się zaczyna w programowaniu.

Każdy język programowania, zarówno ten najprostszy jak i ten bardziej skomplikowany, powinien mieć możliwość wygenerowania tego napisu, by móc tak naprawdę zwać się językiem programowania.

Wszystko rozpoczyna się w roku 1967, gdy w języku BCPL panowie Brian Kernighan i Stephen Johnson za pomocą tego właśnie zdania przedstawili zasadę używania zmiennych zewnętrznych za pomocą tego oto kodu:

main(){
	extrn a,b,c;
	putchar(a); putchar(b); putchar(c); putchar('!*n');
}

 a 'hell';
 b 'o, w';
 c 'orld';

Wkrótce potem (bo 7 lat później) powyższy przykład został przedstawiony w publikacji Programming in C: A Tutorial, traktującej o języku C.

#include <stdio.h> 

main()
{
	printf("hello, world\n");
}

Long story short, tak dalej się to potoczyło że dziś pierwszym programem jaki piszemy jest właśnie 'hello world', który zazwyczaj ma za zadanie wypisać właśnie frazę "hello world"- w wersji oryginalnej, pisanej po angielsku lub przetłumaczoną na inny język.

Innymi przykładami tego typu kodu są:

HTML (choć nie jest językiem programowania, a językiem znaczników to jednak go przedstawię jako podstawowe narzędzie mojej pracy):

<!doctype html>
<html>
	<head>
		<title>Hello world!</title>
	</head>
	<body>
		<h1>Hello world</h1>
	</body>
</html>

Javascript:

document.write("Hello World!");
alert("Hello World!");

PHP:

<?php
	echo "Hello world!";
?>

Brainfuck:

>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++. [-]>++++++++[<++++>-]<.>+++++++++++[<+++++>-]<. >++++++++[<+++>-]<.+++.------.--------.[-]>++++++++[<++++>-]<+. [-]++++++++++.
>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++. [-]>++++++++[<++++>-]<.#>+++++++++++[<+++++>-]<. >++++++++[<+++>-]<.+++.------.--------.[-]>++++++++[<++++>-]<+. [-]++++++++++.

Cow:

MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO MoO MoO MoO MoO MoO MoO Moo Moo MoO MoO MoO Moo OOO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo Moo MoO MoO MoO Moo MOo MOo MOo MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo Moo OOO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo

Jak widać sprawa wydaje się prosta (szczególnie w dwóch ostatnich przypadkach). Każdy z powyższych programów/skryptów wypisze nam frazę "Hello world". Jednak są języki, gdzie wynik, a więc fraza "hello world" nie jest taka oczywista, bo nie jest w formie tekstowej!

Przykładem może być rok 2003, gdzie Sun Microsystems, zaprezentowało kod wynikowy w formie pliku SVG (szczegóły znajdziecie tutaj).

Innym przykładem może być język XL, w którym udało się stworzyć animację planety Ziemia z napisem "Hello world" w kilku innych językach (szczegóły znajdziecie tutaj).

Więcej przykładów programów "Hello world' znajdziecie pod adresem: tym


Jest to mój pierwszy artykuł na blogu, więc i ja, niczym powyższe skrypty, oznajmię Wam i całemu światu: Witaj świecie!