> For the complete documentation index, see [llms.txt](https://97-things-every-x-should-know.gitbook.io/97-things-every-programmer-should-know/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://97-things-every-x-should-know.gitbook.io/97-things-every-programmer-should-know/ru/thing_36.md).

# Не забывайте о "Hello, world"

(В оригинале - Learn to Say "Hello, World")

Paul Lee, имя пользователя leep, более известен как Hoppy, имел репутацию эксперта в программировании. Мне требовалась помощь. Я подошел к его рабочему месту и спросил, не мог бы он взглянуть на мой код?

«Конечно», - сказал Hoppy, отодвигая стул. Я постарался не зацепить пирамиду пустых банок из под колы, стоящую позади него. «Какой код?»

«В функции в файле», - ответил я.

«Что ж, давай посмотрим». Hoppy отодвинул в сторону копию K\&R и придвинул к себе клавиатуру.

Так, а где же IDE? Похоже, что у Hoppy IDE не был запущен вообще, а был только какой-то редактор, которого я совсем не знал. Несколько нажатий клавиш – и файл открыт. На нужной функции (а файл был очень большим). Он пролистал функцию до того места, о котором я говорил.

«А что произойдет, если `x` будет отрицательным?» - спросил я. «Похоже, что так не должно быть».

Я потратил все утро на поиск способа сделать `x` отрицательным, но большая функция в большом файле была лишь частью очень большого проекта, и цикл перекомпиляции и перезапуска был слишком долгим для эффективной работы. Возможно, такой эксперт, каким был Hoppy, мог бы просто дать мне ответ?

Hoppy ответил, что он не уверен. К моему удивлению, он не стал ничего делать в K\&R. Вместо этого, он скопировал часть кода себе в редактор, заменил в нем индентацию, сделал его функцией. После чего добавил еще одну функцию с бесконечным циклом, запрашивающую у пользователя входные данные, вызывающую нашу функцию и печатающую результат. Он сохранил это все в файл tryit.c. Все это я бы мог сделать сам, хотя и не так быстро. Однако следующий шаг был одновременно и простым, и полностью для меня новым.

```
$ cc tryit.c && ./a.out
```

Вау! Его программа, еще несколько назад бывшая лишь идеей, уже работала! Мы попробовали разные варианты входных данных и быстро подтвердили мои подозрения (хоть в чем-то я оказался прав). После чего он перепроверил отдельные места в K\&R. Я поблагодарил его и пошел к себе, снова постаравшись не зацепить стоящую позади него пирамиду пустых баночек.

Придя на свое место, я закрыл IDE. Я так долго работал над большим проектом с помощью больших инструментов, что я начал думать, что это именно то, что я и должен делать. Однако компьютеры способны решать и небольшие задачи. Я открыл текстовый редактор и начал печатать.

```
#include <stdio.h>

int main()
{
    printf("Hello, World\n");
    return 0;
}
```

Автор оригинала - [Thomas Guest](http://programmer.97things.oreilly.com/wiki/index.php/Thomas_Guest)
