Быстрые ссылки
Вы слышали о «Привет, мир»? Этот фрагмент кода стал своеобразным ритуалом для каждого программиста. Но что он обозначает и почему мы его используем? Давайте исследуем историю этой программы и узнаем, как она демонстрирует разные особенности языков программирования.
Что такое «Привет, мир»?
Неважно, новичок вы в программировании или учите уже седьмой язык, простой пример программы всегда окажется полезным. Запуск хоть какой-то программы — это важный шаг, поэтому разумно начать с классического примера. И именно таким примером является «Привет, мир».
«Привет, мир» — это, возможно, самый простой код, который только можно представить. У него весьма несложные требования:
Вот и всё! Конечно, точный текст, включая знаки препинания, может меняться и не является критически важным. «Привет, мир» — это просто нечто весёлое и позитивное, что вы видите, когда запускаете свою первую программу.
Что такое язык программирования?
Вы когда-нибудь задумывались, что такое языки программирования?
Трудно установить точное происхождение «Привет, мир», но самое раннее достоверное упоминание встречается в книге «Учебное введение в язык B» (1972):
Язык B — это старый язык, предшествовавший C. Существует мнение, что «Привет, мир» может датироваться еще раньше — с 1967 года и языком под названием BCPL, но четких доказательств этому нет.
Концепция стала известной благодаря публикации книжки «Язык программирования C» в 1978 году. Эта книга сейчас считается классическим текстом в области информатики; введя программу «Привет, мир» как первый пример кода, она положила начало традиции, которая сохраняется и по сей день.
В чём полезность «Привет, мир»?
«Привет, мир» имеет две основные цели. Во-первых, он служит полезным каноническим примером, с которым удобно сравнивать языки. Поскольку цель программы крайне проста и понятна, она может дать много информации о синтаксисе языка. Опытный программист может взглянуть на программу «Привет, мир», написанную на незнакомом языке, и начать изучать её.
Во-вторых, «Привет, мир» имеет практическое применение. Запуск этой образцовой программы — важный шаг в создании любой другой программы на том же языке. Он требует подходящего компилятора или интерпретатора для выполнения. Это также проверит, правильно ли ваша операционная система обрабатывает его вывод и поможет вам настроить вашу среду разработки для работы с языком.
«Привет, мир» на нескольких языках
Изучая реализацию «Привет, мир» на разных языках, можно многому научиться. Поскольку каждая из этих программ должна вести себя одинаково, вы также можете использовать набор файлов hello.* для тестирования своей среды.
«Привет, мир» на C
Как уже упоминалось, первый надёжный пример «Привет, мир», который мы знаем, написан на языке C. Он датируется 1978 годом:
Через десять лет второе издание этой книги обновило пример для совместимости с ANSI C:
Но в наши дни даже эта версия нуждается в обновлении; современный компилятор C выдаст ошибку, когда вы попытаетесь скомпилировать эту программу:
C99 более строгий, чем ANSI C; он требует следующего:
Версия «Привет, мир» на C состоит из трёх основных частей:
Однако код «Привет, мир» — это лишь часть задачи. Остаётся ещё полдела — запуск программы. В компилируемом языке, таком как C, вам нужно запустить программу, чтобы превратить ваш исходный код в отдельный исполняемый файл:
Если всё в порядке, компилятор завершит работу без предупреждений и создаст исполняемый файл в вашей текущей директории с именем a.out. Запустите эту программу (./a.out), и вы увидите, как ваш код работает:
Вот так правильно работает программа «Привет, мир», выводя текст в вашем терминале и завершаясь с переносом строки.
«Привет, мир» на Go
Go — это относительно новый язык, который был выпущен в 2009 году. Он был создан инженерами Google, включая Кена Томпсона, разработавшего язык B. Go имеет простой синтаксис, схожий с C:
Вы можете запустить эту программу с помощью go run hello.go или скомпилировать исполняемый файл, используя go build hello.go, и запустить его командой ./hello.
Система пакетов Go помогает вам организовать ваш код и повторно использовать функциональность согласно строгим инженерным принципам. Однако для простой программы «Привет, мир» вам просто нужно объявить, что она принадлежит к «пакету main» и убедиться, что у вас есть основная функция, которая служит точкой входа.
«Привет, мир» на Rust
Реализация «Привет, мир» на языке Rust настолько минималистична, что может показаться, что она ничего не говорит. Тем не менее, даже этот простой код отражает интересные нюансы языка.
Вызов println — который выглядит как функция — содержит восклицательный знак после своего имени. Это указывает на то, что println на самом деле является макросом, а не функцией; его необходимо вызывать с помощью синтаксиса с восклицательным знаком.
Почему стоит учить Rust, особенно если вы новичок в программировании
Rust — один из самых современных языков программирования, и он может изменить ваш взгляд на код.
Так же, как и в C, основная функция служит точкой входа для этой автономной программы. В отличие от C — и большинства других языков — ключевое слово Rust для объявления функции очень короткое: fn. Это соответствует общей тенденции языка, который использует краткие ключевые слова, такие как «pub,» «mut,» и «ref.»
Вы можете компилировать эту программу с помощью rustc hello.rs и запускать сгенерированный исполняемый файл командой ./hello.
«Привет, мир» на Python
Программа «Привет, мир» на Python примечательна своей минималистичностью. Это соответствует его репутации как простого языка, особенно подходящего для новичков. Вся программа выглядит так:
Python — это интерпретируемый язык, поэтому вы можете использовать команду python для выполнения программ Python напрямую. Сохраните приведённый выше код в файл (hello.py), запустите его (python hello.py), и вы должны увидеть знакомый вывод.
Обратите внимание, что функция print() в Python по умолчанию добавляет символ новой строки, поэтому вам не нужно включать n в вашу строку. Также учтите, что в отличие от C, вы можете заключать строку текста в Python как в одинарные, так и в двойные кавычки.
«Привет, мир» на Java
Java, напротив, считается многословным языком, и программа «Привет, мир» полностью это подтверждает:
В Java даже простая автономная программа должна быть представлена классом, а эквивалент функции main() в Java имеет три модификатора:
Не обязательно знать все детали этих трёх ключевых слов, но вам придётся их запомнить, чтобы написать любую программу на Java.
Для вызова функции печати в Java также потребуется написать много. «System.out.» перед «print» указывает на стандартный поток вывода, который в других языках используется по умолчанию.
Перед тем, как вы сможете запустить «Привет, мир», вам нужно знать ещё одну особенность Java: имя файла. В соответствии с соглашениями Java имя файла, в котором вы сохраняете код, должно совпадать с названием его публичного класса: HelloWorld.java. После создания этого файла выполните javac HelloWorld.java, а затем java HelloWorld, чтобы сказать интерпретатору Java запустить вашу программу:
Каждый язык программирования уникален, но даже среди таких разнообразных языков, как упомянутые выше, можно увидеть сходства. Самое главное, как только вы сможете запустить «Привет, мир», вы сможете сосредоточиться на специфических особенностях языка, который изучаете.
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Вы также можете читать наши материалы в:
- Telegram: https://t.me/gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru