"Привет, мир!" программа
" Привет, мир!" Программа , как правило, является простой компьютерной программой , которая выводит (или отображается) на экран (часто консоль ) сообщение, похожее на «Привет, мир!» игнорируя любой пользовательский ввод. небольшая часть кода в большинстве языков программирования общего назначения языка используется Эта программа используется для иллюстрации основного синтаксиса . "Привет, мир!" Программа часто является первой, написанной студентом нового языка программирования, [1] Но такая программа также может использоваться в качестве проверки здравомыслия , чтобы убедиться, что компьютерное программное обеспечение предназначено для компиляции или запуска исходного кода , и что его оператор понимает, как его использовать.
История
[ редактировать ]
В то время как небольшие программы испытаний существовали с момента разработки программируемых компьютеров , традиция использования фразы «Привет, мир!» В качестве тестового сообщения повлияла примерная программа в книге 1978 года «Язык программирования» , [2] С вероятностью более раннего использования в BCPL . Пример программы из отпечатка книги "Привет, мир" , и был унаследован от Bell Laboratories внутреннего меморандума 1974 года Брайана Кернигана , программирования в C: учебное пособие : [3]
main( ) {
printf("hello, world");
}
В приведенном выше примере основной( ) Функция определяет, где программа должна начать выполнять . Функциональный корпус состоит из единого оператора , вызов к printf () функция, которая означает « print f Ormatted»; Он выводит в консоль то, что передается в нее как параметр , в данном случае строка "Привет, мир" .
Версии C-языка предшествовали собственное руководство Kernighan 1972 года. Введение в язык B , [4] где первая известная версия программы находится в примере, используемом для иллюстрации внешних переменных:
main( ) {
extrn a, b, c;
putchar(a); putchar(b); putchar(c); putchar('!*n');
}
a 'hell';
b 'o, w';
c 'orld';
Программа выше отпечатка Привет, мир! на терминале, включая новую линию. Фраза делится на несколько переменных, потому что в B константа символа ограничена четырьмя ASCII символами . Предыдущий пример в учебном пособии привет! на терминале и фразу Привет, мир! был введен как немного более длинное приветствие, которое требовало нескольких констант персонажа для его выражения.
Файл жаргона сообщает, что «привет, мир» вместо этого возник в 1967 году с языком BCPL . [5] Вне вычислений использование точной фразы началось более десяти лет назад; Это была бросающая фраза нью -йоркского радиосвязанного жокея Уильяма Б. Уильямса, начиная с 1950 -х годов. [6]
Вариации
[ редактировать ]
"Привет, мир!" Программы различаются по сложности между различными языками. На некоторых языках, особенно языках сценариев , «Привет, мир!» Программа может быть написана как единое утверждение, в то время как в других (особенно на многих языках низкого уровня ) может потребоваться гораздо больше заявлений. Например, в Python , чтобы распечатать строку Привет, мир! За последующим новым строк, нужно только написать print("Hello, World!")
Полем Напротив, эквивалентный код в C ++ [7] Требуется импорт ввода/вывода библиотеки программного обеспечения , ручного объявления точки входа и явного инструкции о том, что выходная строка должна быть отправлена в стандартный выходной поток .

Фраза "Привет, мир!" наблюдал различные отклонения в корпусе и пунктуации, таких как капитализация ведущих H и W , а также наличие запятой или восклицательной отметки. Некоторые устройства ограничивают формат определенными вариациями, такими как все капитализированные версии в системах, которые поддерживают только заглавные буквы, в то время как некоторые языки эзотерического программирования, возможно, придется печатать слегка измененную строку. Например, первая нетривиальная программа Malbolge напечатала «Hello World», это было установлено, чтобы быть достаточно хорошим . [8] [ ненадежный источник? ] Другие человеческие языки использовались в качестве вывода; Например, учебник для языка программирования GO, выведенного как английского, так и китайского или японского персонажей, демонстрируя встроенную поддержку Unicode языка программирования . [9] Другим заметным примером является язык программирования Rust , система управления, автоматически вставляет программу «Hello, World» при создании новых проектов.

Некоторые языки изменяют функциональность «Привет, мир!» Программа, сохраняя дух демонстрации простого примера. Функциональные языки программирования, такие как LISP , ML и Haskell , имеют тенденцию заменяют факторную программу для «Привет, мир!», Поскольку функциональное программирование подчеркивает рекурсивные методы, тогда как в исходных примерах подчеркивается ввод -вывод, который нарушает дух чистого функционального программирования, создавая побочные эффекты . Языки иначе способны печатать "Привет, мир!" (Сборка, C, VHDL ) также может использоваться во встроенных системах , где вывод текста либо сложный (требующий дополнительных компонентов или связи с другим компьютером), либо отсутствие. Для таких устройств, как микроконтроллеры , полевые массивы ворот и CPLD , «Привет, мир!» Таким образом, может быть заменен мигающим светодиодом , который демонстрирует время и взаимодействие между компонентами. [10] [11] [12] [13] [14]
Распределения Debian » и Ubuntu Linux предоставляют «Привет, мир! Программа через свои системы диспетчера программных пакетов , которые можно использовать с помощью команды привет Полем Он служит проверкой здравомыслия и простым примером установки программного пакета. Для разработчиков он дает пример создания пакета .deb , традиционно или использования Debhelper , и версию привет Используется, GNU Hello , служит примером написания программы GNU . [15]
Вариации "Привет, мир!" программа, которая производит графический вывод Также была показана (в отличие от вывода текста). Солнце продемонстрировал "Привет, мир!" Программа на Java на основе масштабируемой векторной графики , [16] А на языке программирования XL есть вращающаяся земля "Привет, мир!" Использование 3D компьютерной графики . [17] Марк Гусдиал и Эллиот Солоуэй предположили, что тестовое сообщение «Привет, мир» может быть устаревшим теперь, что графика и звук можно манипулировать так же легко, как текст. [18]
Время Hello World
[ редактировать ]«Время Hello World» (TTHW) - это время, которое нужно для автора «Привет, мир!» Программа на данном языке программирования. Это одна из меры использования языка программирования; Поскольку программа предназначена как введение для людей, незнакомого с языком, более сложный «Привет, мир!» Программа может указывать на то, что язык программирования менее доступен. [19] Эта концепция была расширена за пределы языков программирования на API , как показатель того, насколько просто для нового разработчика, чтобы получить базовый пример; Более короткое время указывает на более легкий API для разработчиков. [20] [21]
Статьи в Википедии, содержащие «Привет, мир!» программы
[ редактировать ]- Абап
- Есть
- Олдор
- Алгол
- Алгол 60
- AmbientTalk
- Друг и
- Apache Click
- Апаче желе
- Apache калитка
- Прижимание
- AppleScript
- Applesoft Basic
- Дуговой
- Редактор ассемблера Атари
- Autolisp
- Ависинт
- Ав
- БАЗОВЫЙ
- Основной язык собрания
- Балерина
- Bcpl
- Битник
- Befunge
- БЕТА
- Blitz Basic
- Brainfuck
- В
- Скрытый объект
- Каир
- C/al
- Углерод
- Casio Basic
- Шарм
- Вишня
- Чистый
- Клиппер
- C ++
- C#
- Кобол
- Кобра
- Общий промежуточный язык
- Кристалл
- Кифон
- Дрэк
- Дарвин
- Данные общие нова
- Дено
- Язык расширения двери
- Легкий язык программирования
- Эль-76
- Эликсир
- Зеркало
- Расширяемый встроенный язык
- Северный
- F#
- FASTAPI
- Фовел
- Колба
- Фликс
- Вперед
- Фортран
- Крепость
- FreeBasic
- Идти
- Годо
- Google Гаджеты
- GNU Smalltalk
- Взломать
- Гавань
- Хаскелл
- Голливуд
- HTML
- Приложение HTML
- IBM Open Class
- Идрис
- Интеркальный
- Интернет -фонд занятий
- Это
- Ираф
- Дж
- ВЫХОД
- Jam.py
- Ява
- Javafx Script
- JavaScript
- Джафа
- ДЗЮДО
- K
- Кернал
- Подавлен
- К-мелеон
- LibreLogo
- LISP
- Livescript
- LOLCODE
- Два
- Mac/65
- Макро-10
- Макро-11
- БЕЗУМНЫЙ
- Магический
- Малболж
- Матлаб
- Меркурий
- Микропитон
- Microsoft Small Basic
- Язык сценариев MIRC
- Mmix
- Макето
- Модуль-3
- Моджо
- Монад
- Свояй
- MXML
- Немерле
- Сетевая сборка
- Newspeak
- Nim
- NWScript
- Омнимарк
- Опала
- OpenEdge Advanced Business Language
- Открытый язык программирования
- Ориэль
- Парасейл
- Язык Ассамблеи попугай
- Попугательное промежуточное представление
- Паскаль
- Pcastl
- PDP-8
- Перв
- Модуль Perl
- PHP
- Место
- Пыль
- Плюс
- PostScript
- Powerbasic
- Пролог
- Чистый
- Чистые данные
- Purescript
- Pygtk
- Питон
- Q.
- QB64
- Quickbasic
- Ведущий
- Стойка
- Ракетка
- Раку
- Реагировать
- Реагировать на родной
- Ребел
- Красный
- Рефаль
- RGTK2
- Кольцо
- Робот Фреймворк
- Рубин
- Ржавчина
- Говорит
- Сарл
- Скала
- Scilab
- Царапать
- Но
- Себя
- Шекспир
- Начало
- Маленький бассейн
- SmallTalk
- Стандартный Ml
- Стандартный инструментарий виджета
- Быстрый
- Текс
- 990
- Ti -Basic
- Торнадо
- Турбо Паскаль
- Тьюринг
- Ucblogo
- Уфи
- Наполнять
- Неосмысленная
- V
- Залить
- Visual Basic
- Визуальный IRC
- web2py
- Интерфейс шлюза веб -сервера
- Пробел
- Мастерская
- Xblite
- Xharbour
- Домик
- Сульга
- Zig
Смотрите также
[ редактировать ]- «99 бутылок пива», используемые в информатике
- Плохое яблоко !! § Использовать в качестве графического и аудио -тестирования (графический эквивалент «Привет, мир!» Для старого оборудования)
- Фубар
- Java Pet Store
- Просто еще один хакер Perl
- Схема информатики
- Алгоритм TPK
Ссылки
[ редактировать ]- ^ Джеймс А. Лэнгбридж (3 декабря 2013 г.). Профессиональная встроенная рука . Джон Уайли и сыновья. ISBN 9781118887820 .
- ^ Керниган, Брайан В .; Ричи, Деннис М. (1978). Язык программирования C (1 -е изд.). Englewood Cliffs, NJ : Prentice Hall . ISBN 0-13-110163-3 .
- ^ Керниган, Брайан (1974). «Программирование в C: учебник» (PDF) . Bell Labs. Архивировано (PDF) из оригинала 22 марта 2022 года . Получено 9 января 2019 года .
- ^ "Язык программирования B" . Bell Labs. Архивировано из оригинала 11 июня 2015 года . Получено 30 мая 2016 года .
- ^ "Bcpl" . Файл жаргона . Архивировано из оригинала 3 апреля 2018 года . Получено 21 апреля 2013 года .
- ^ «Уильям Б. Уильямс, радиопередач, умирает» . New York Times . 4 августа 1986 года.
- ^ «C ++ Программирование/примеры/Hello World» . Викибук . Архивировано из оригинала 28 марта 2022 года . Получено 16 марта 2022 года .
- ^ "Малболж" . Эзоланг . Эзолангс-Вики. Архивировано из оригинала 27 августа 2022 года . Получено 28 октября 2016 года .
- ^ Учебник для языка программирования GO. Архивировано 26 июля 2010 г. На Wayback Machine The Go Language. Получено 26 июля 2011 года.
- ^ Сильва, Майк (11 сентября 2013 г.). «Введение в микроконтроллеры - Hello World» . InceddedRelated.com . Архивировано из оригинала 22 мая 2015 года . Получено 19 мая 2015 года .
- ^ Джордж, Лиго (8 мая 2013 г.). «Мигальный светодиод с использованием микроконтроллера Atmega32 и Atmel Studio» . электросом . Архивировано с оригинала 5 ноября 2014 года . Получено 19 мая 2015 года .
- ^ PT, Ранджет. «2. Микроконтроллеры AVR в Linux Howto» . Проект документации Linux . Архивировано из оригинала 2 мая 2015 года . Получено 19 мая 2015 года .
- ^ Андерссон, Свен-Åke (2 апреля 2012 года). «3.2 Первый дизайн Altera FPGA» . Raidió teilifís éireann. Архивировано из оригинала 21 мая 2015 года . Получено 19 мая 2015 года .
- ^ Фабио, Адам (6 апреля 2014 г.). «Учебник CPLD: изучить программируемую логику простым способом» . Hackaday . Архивировано из оригинала 20 мая 2015 года . Получено 19 мая 2015 года .
- ^ "Привет" . GNU Project . Free Software Foundation. Архивировано из оригинала 29 мая 2014 года . Получено 7 июля 2017 года .
- ^ Джолиф, Кристоф (январь 2003 г.). «Принесение SVG Power в приложения Java». Sun Developer Network .
- ^ Де Динечин, Кристоф (24 июля 2010 г.). "Привет, мир!" Полем Вареная лягушка.
- ^ «Обучение поколению Nintendo программировать» (PDF) . bfoit.org . Архивировано из оригинала (PDF) 5 мая 2016 года . Получено 27 декабря 2015 года .
- ^ О'Двейер, Артур (сентябрь 2017 г.). Освоение C ++ 17 STL: полностью использовать стандартные компоненты библиотеки в C ++ 17 . Packt Publishing Ltd. п. 251. ISBN 978-1-78728-823-2 Полем Получено 4 декабря 2019 года .
- ^ Вигерс, Гарольд (28 июня 2018 г.). «Важность« время для первого привет, мира! »Эффективная программа API» . Архивировано из оригинала 19 февраля 2020 года . Получено 19 февраля 2020 года .
- ^ Джин, Бренда; Сахни, Саурабх; Шеват, Амир (29 августа 2018 г.). Проектирование веб -API: создание API, которые любят разработчики . О'Рейли СМИ. ISBN 9781492026877 Полем Получено 19 февраля 2020 года .
Внешние ссылки
[ редактировать ]

- Коллекция Hello World
- «Привет, мир/текст» . Код Розетты . 23 мая 2024 года.
- «Github-Leachim6/Hello-World: Hello World на каждом компьютерном языке. Спасибо всем, кто вносит это в это, обязательно увидите ancom.md для инструкций взносов!» Полем GitHub . 30 октября 2021 года.
- «Неогнутые герои этого / Часть первая: Брайан Керниган» . TheUnsungeresofit.com . Архивировано с оригинала 26 марта 2016 года . Получено 23 августа 2014 года .