Jump to content

"Привет, мир!" программа

(Перенаправлено с «Привет, мир! »)

« Привет, мир!» Программа обычно представляет собой простую компьютерную программу , которая выводит (или отображает) на экран (часто консоль ) сообщение, похожее на «Hello, World!» игнорируя любой ввод пользователя. Небольшой фрагмент кода на большинстве языков программирования общего назначения языка . Эта программа используется для иллюстрации основного синтаксиса . «Привет, мир!» программа часто является первой, написанной студентом, изучающим новый язык программирования, [1] но такую ​​программу можно также использовать для проверки работоспособности , чтобы убедиться, что компьютерное программное обеспечение, предназначенное для компиляции или запуска исходного кода , правильно установлено и что его оператор понимает, как его использовать.

"Привет, мир!" программа, написанная от руки на языке C и подписанная Брайаном Керниганом (1978).

Хотя небольшие тестовые программы существовали со времен разработки программируемых компьютеров , традиция использования фразы «Hello, World!» поскольку на тестовое сообщение повлиял пример программы из книги « Язык программирования C» 1978 года , [2] с вероятным более ранним использованием в BCPL . Пример программы из книги печатает "Привет, мир" и был унаследован из Bell Laboratories внутреннего меморандума 1974 года Брайана Кернигана « Программирование на C: Учебное пособие» : [3]

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

В приведенном выше примере основной( ) Функция определяет, где программа должна начать выполнение . Тело функции состоит из одного оператора — вызова метода печатьф() функция, которая расшифровывается как « формат печати »; он выводит на консоль все, что передается ему в качестве параметра , в данном случае строку "Привет, мир" .

Версии на языке C предшествовала книга Кернигана «Введение в язык 1972 года . [4] где первая известная версия программы находится в примере, используемом для иллюстрации внешних переменных:

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

Программа выше печатает Привет, мир! на терминале, включая символ новой строки . Фраза разделена на несколько переменных, поскольку в B символьная константа ограничена четырьмя символами ASCII . Предыдущий пример в руководстве напечатан привет! на терминале и фраза Привет, мир! было представлено как немного более длинное приветствие, для выражения которого требовалось несколько символьных констант.

В The Jargon File сообщается, что слово «hello, world» возникло в 1967 году на языке BCPL . [5] За пределами вычислений использование этой фразы началось более десяти лет назад; это была крылатая фраза диск-жокея нью-йоркского радио Уильяма Б. Уильямса, начиная с 1950-х годов. [6]

Вариации

[ редактировать ]
«Привет, мир!» от Sony, программа, работающая на PlayStation Portable в качестве доказательства концепции

"Привет, мир!" программы различаются по сложности на разных языках. В некоторых языках, особенно в языках сценариев , надпись «Hello, World!» Программа может быть написана как один оператор, в то время как в других (особенно во многих языках низкого уровня ) может потребоваться гораздо больше операторов. Например, в Python для печати строки Привет, мир! за которым следует новая строка, нужно только написать print("Hello, World!"). Напротив, эквивалентный код на C++ [7] требует импорта ввода-вывода библиотеки программного обеспечения , ручного объявления точки входа и явной инструкции о том, что выходная строка должна быть отправлена ​​в стандартный поток вывода .

на станке с ЧПУ Тест обработки в Perspex

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

«Привет, мир!» сообщение отображается посредством световой живописи с длинной выдержкой и движущейся полосой светодиодов.

Некоторые языки изменяют функциональность «Hello, World!» программу, сохраняя при этом дух демонстрации простого примера. Языки функционального программирования , такие как Lisp , ML и Haskell , имеют тенденцию заменять факториальную программу «Hello, World!», поскольку функциональное программирование делает упор на рекурсивные методы, тогда как исходные примеры делают упор на ввод-вывод, что нарушает дух чистого функционального программирования. программирование путем создания побочных эффектов . Языки, способные в противном случае печатать «Hello, World!» (Ассемблер, C, VHDL ) также может использоваться во встроенных системах , где вывод текста либо затруднен (требует дополнительных компонентов или связи с другим компьютером), либо отсутствует. Для таких устройств, как микроконтроллеры , программируемые вентильные матрицы и CPLD , «Hello, World!» Таким образом, его можно заменить мигающим светодиодом , который демонстрирует синхронизацию и взаимодействие между компонентами. [10] [11] [12] [13] [14]

Дистрибутивы Debian и Ubuntu Linux предоставляют функцию «Hello, World!» программу через свои системы менеджера пакетов программного обеспечения , которые можно вызвать с помощью команды привет . Он служит проверкой работоспособности и простым примером установки программного пакета. Для разработчиков здесь приведен пример создания пакета .deb традиционным способом или с использованием debhelper , а также версия привет Используемый GNU Hello служит примером написания программы GNU . [15]

Вариации «Привет, мир!» программы, которые производят графический вывод Также были показаны (в отличие от текстового вывода). Сан продемонстрировал «Привет, мир!» программа на Java на основе масштабируемой векторной графики , [16] а в языке программирования XL есть вращающаяся Земля «Hello, World!» с использованием 3D компьютерной графики . [17] Марк Гуздиал и Эллиот Солоуэй предположили, что тестовое сообщение «Привет, мир» может устареть теперь, когда графикой и звуком можно манипулировать так же легко, как и текстом. [18]

Время приветствовать мир

[ редактировать ]

«Время привет, мир» (TTHW) — это время, необходимое для написания «Привет, мир!» программу на заданном языке программирования. Это один из показателей простоты использования языка программирования; поскольку программа задумана как введение для людей, незнакомых с языком, более сложная программа «Hello, World!» программа может указывать на то, что язык программирования менее доступен. [19] Эта концепция была расширена за пределы языков программирования до API , как мера того, насколько просто новому разработчику заставить работать базовый пример; более короткое время указывает на более простой API для внедрения разработчиками. [20] [21]

Статьи Википедии, содержащие фразу «Hello, World!» программы

[ редактировать ]

См. также

[ редактировать ]
  1. ^ Джеймс А. Лэнгбридж (3 декабря 2013 г.). Профессиональная разработка встраиваемых систем ARM . Джон Уайли и сыновья. ISBN  9781118887820 .
  2. ^ Керниган, Брайан В .; Ричи, Деннис М. (1978). Язык программирования C (1-е изд.). Энглвуд Клиффс, Нью-Джерси : Прентис Холл . ISBN  0-13-110163-3 .
  3. ^ Керниган, Брайан (1974). «Программирование на C: Учебное пособие» (PDF) . Лаборатории Белла. Архивировано (PDF) из оригинала 22 марта 2022 года . Проверено 9 января 2019 г.
  4. ^ «Язык программирования Б» . Лаборатории Белла. Архивировано из оригинала 11 июня 2015 года . Проверено 30 мая 2016 г. .
  5. ^ «БЦПЛ» . Файл жаргона . Архивировано из оригинала 3 апреля 2018 года . Проверено 21 апреля 2013 г.
  6. ^ «Умер Уильям Б. Уильямс, радиоведущий» . Нью-Йорк Таймс . 4 августа 1986 г.
  7. ^ «Программирование на C++/Примеры/Привет, мир» . Викикниги . Архивировано из оригинала 28 марта 2022 года . Проверено 16 марта 2022 г.
  8. ^ «Мальбольге» . Эсоланг . esolangs-вики. Архивировано из оригинала 27 августа 2022 года . Проверено 28 октября 2016 г.
  9. ^ Учебное пособие по языку программирования Go. Архивировано 26 июля 2010 года на сайте Wayback Machine . Язык программирования Go. Проверено 26 июля 2011 г.
  10. ^ Сильва, Майк (11 сентября 2013 г.). «Введение в микроконтроллеры — Привет, мир» . EmbeddedRelated.com . Архивировано из оригинала 22 мая 2015 года . Проверено 19 мая 2015 г.
  11. ^ Джордж, Лиго (8 мая 2013 г.). «Мигающий светодиод при использовании микроконтроллера Atmega32 и Atmel Studio» . электроСом . Архивировано из оригинала 5 ноября 2014 года . Проверено 19 мая 2015 г.
  12. ^ ПТ, Ранджит. «2. Микроконтроллеры AVR в Linux HOWTO» . Проект документации Linux . Архивировано из оригинала 2 мая 2015 года . Проверено 19 мая 2015 г.
  13. ^ Андерссон, Свен-Оке (2 апреля 2012 г.). «3.2 Первая конструкция Altera FPGA» . Радио Телевидение Ирландии. Архивировано из оригинала 21 мая 2015 года . Проверено 19 мая 2015 г.
  14. ^ Фабио, Адам (6 апреля 2014 г.). «Учебное пособие по CPLD: простое изучение программируемой логики» . Хакадей . Архивировано из оригинала 20 мая 2015 года . Проверено 19 мая 2015 г.
  15. ^ "Привет" . Проект ГНУ . Фонд свободного программного обеспечения. Архивировано из оригинала 29 мая 2014 года . Проверено 7 июля 2017 г.
  16. ^ Джолиф, Кристоф (январь 2003 г.). «Привнесение возможностей SVG в Java-приложения». Сеть разработчиков Sun.
  17. ^ Динешен, Кристоф (24 июля 2010 г.). "Привет, мир!" . Вареная лягушка.
  18. ^ «Обучение поколения Nintendo программированию» (PDF) . bfoit.org . Архивировано из оригинала (PDF) 5 мая 2016 года . Проверено 27 декабря 2015 г.
  19. ^ О'Дуайер, Артур (сентябрь 2017 г.). Освоение C++17 STL: в полной мере используйте компоненты стандартной библиотеки C++17 . Пакт Паблишинг, ООО . п. 251. ИСБН  978-1-78728-823-2 . Проверено 4 декабря 2019 г.
  20. ^ Вигерс, Гарольд (28 июня 2018 г.). «Важность эффективной программы API «Time to First Hello, World!»» . Архивировано из оригинала 19 февраля 2020 года . Проверено 19 февраля 2020 г.
  21. ^ Джин, Бренда; Сахни, Саураб; Шват, Амир (29 августа 2018 г.). Проектирование веб-API: создание API, которые нравятся разработчикам . О'Рейли Медиа. ISBN  9781492026877 . Проверено 19 февраля 2020 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 793fa78088e1fdf5b7963f92bd904ce1__1722267360
URL1:https://arc.ask3.ru/arc/aa/79/e1/793fa78088e1fdf5b7963f92bd904ce1.html
Заголовок, (Title) документа по адресу, URL1:
"Hello, World!" program - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)