Меню
Главная
Случайная статья
Настройки
|
«Hello, world!» — программа, результатом работы которой является вывод на экран или иное устройство фразы «Hello, world!» (в дословном переводе с английского — «Здравствуй, мир!»; представляет собой распространённое неформальное приветствие, близкое к русскому «всем привет!»). Также используются вариации с другой пунктуацией или регистром — например, «Hello World». Обычно это первый пример программы в учебниках по программированию, и для многих студентов такая программа является первым опытом при изучении нового языка.
Такая постановка задачи обращает внимание учащегося сразу на несколько ключевых моментов языка программирования, главным из которых является базовая структура программы.
Хотя небольшие проверочные примеры использовались с тех самых пор, как появились компьютеры, традиция использования фразы «Hello, world!» в качестве тестового сообщения была введена в книге «Язык программирования Си» Брайана Кернигана и Денниса Ритчи, опубликованной в 1978 году.
В среде программирования микроконтроллеров при отсутствии дисплея простейшей программой «Hello, world» является программа «blink», реализующая мигание светодиода на одном из выходов микроконтроллера. Цель такой программы является успешная компиляция программы (при изучении нового микроконтроллера или новой среды разработки), прошивка программы в микроконтроллер и демонстрация работоспособности самого микроконтроллера.
Содержание
Перевод на русский язык
Русскоязычные программисты и технические переводчики традиционно переводят слово world в его основном значении — «мир, свет, вселенная», отчего из «hello world» получается дословное «здравствуй, мир». Объясняется такой перевод тем, что программа, начиная работу, как бы рождается и приветствует мир, в который она приходит.
Более знакомые с тонкостями английского языка указывают на то, что у world имеются и другие значения — «народ», «общество», «человечество»[1], а «hello world» является распространённым неформальным приветствием, адресованным неопределённому кругу лиц (людей, а не просто произвольных объектов или природе в целом). Поэтому переводить приветствие следует как «всем привет», «привет, народ», «здорово, люди» и т. п., что подтверждается англоязычными программистами[2][3].
В аналогичном смысле слово world применяется при назначении прав доступа (owner, group, world) в операционных системах UNIX, для которых был разработан язык C, откуда и пошла традиция выводить «hello world» в качестве приветствия. owner означает владельца объекта, group — группу пользователей, в которую входит владелец, а world — всех остальных пользователей системы.
Примеры
C в устаревшем варианте K&R:[4]
#include <stdio.h>
main()
{
printf("hello, world!\n");
}
Современный пример, соответствующий стандарту ANSI C.[5]:
#include <stdio.h>
int main(void)
{
printf("Hello, world!\n");
return 0;
}
C++:[6]
#include <iostream>
int main()
{
std::cout << "Hello, world!" << std::endl;
return 0;
}
C#:
using System;
class HelloWorld
{
static void Main()
{
Console.WriteLine("Hello, world!");
}
}
Паскаль:
begin
writeln('Hello, world!');
end.
Visual Basic (6.0):
Private Sub Form1_Load()
Print "Hello, world!"
End Sub
Java:
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello, world!");
}
}
Go:
package main;
import "fmt"
func main() {
fmt.Println("Hello, world!")
}
Ruby и Tcl:
puts "Hello, World!"
Python, Lua, Perl, Kotlin и Swift:
print("Hello, world!")
Python (альтернативный вариант):
import __hello__
Rust:[7]
fn main() {
println!("Hello, world!");
}
PHP:
<?php
echo "Hello, world!";
?>
JavaScript (браузерный вариант):
document.write("Hello, world!");
На языке JavaScript (Node.JS вариант):
console.log("Hello, world!");
Processing:
void setup (){
size(400,150);
background(255);
textSize(30);
fill(0);
text("Hello World",100,100);
}
Common Lisp:
(format t "Hello, world!~%")
NASM:
global start
section .text
start:
mov rax, 0x2000004 ; write
mov rdi, 1 ; stdout
mov rsi, "Hello, world!"
mov rdx, 13
syscall
mov rax, 0x2000001 ; exit
mov rdi, 0
syscall
1С:
Сообщить ("Hello, world!");
Brainfuck:
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
Dart:
main() {
print("Hello, World!");
}
На эзотерическом языке HQ9+:
H
На эзотерическом языке Malbolge:
('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>
На эзотерическом языке Whitespace:
Каждому символу Пробел, Таб, и Перевод строки предшествует комментарий "S", "T", и "L", соответственно:
S S S T S S T S S S L
T L
S S S S S T T S S T S T L
T L
S S S S S T T S T T S S L
T L
S S S S S T T S T T S S L
T L
S S S S S T T S T T T T L
T L
S S S S S T S T T S S L
T L
S S S S S T S S S S S L
T L
S S S S S T T T S T T T L
T L
S S S S S T T S T T T T L
T L
S S S S S T T T S S T S L
T L
S S S S S T T S T T S S L
T L
S S S S S T T S S T S S L
T L
S S S S S T S S S S T L
T L
S S L
L
Lstyly=
Маргинальные примеры
Данная группа примеров призвана показать громоздкость некоторых технологий.
|
|