Зара Горенко – Мыслим на Си (страница 6)
Плюсы: ничего не нужно устанавливать, работает даже на планшете.
Минусы: нет доступа к системным вызовам, ограниченное время выполнения.
Часть 7: Первый эксперимент – проверяем, что всё работает
Давайте убедимся, что компилятор работает.
Шаг 1: Создайте файл
Откройте любой текстовый редактор:
Linux: nano, gedit, vim
Windows (WSL): nano (в терминале WSL)
macOS: TextEdit, nano, vim
Онлайн: встроенный редактор Replit или OnlineGDB
Создайте файл test.c:
bashnano test.c
Шаг 2: Напишите код
c#include <stdio.h> int main() { printf("Компилятор работает!\n"); printf("Я готов учить Си.\n"); return 0; }
Сохраните:
В nano: Ctrl + O (сохранить), Enter, Ctrl + X (выход)
В vim: нажмите Esc, введите :wq, Enter
В графических редакторах: Ctrl + S или Cmd + S
Шаг 3: Скомпилируйте
bashgcc test.c -o test
Что это значит?
gcc – запуск компилятора
test.c – ваш исходный файл
–o test – опция "output" (выход): назвать программу test
Если всё правильно, ничего не выведется – это хорошо! Компилятор молчит, если нет ошибок.
Если есть ошибки – компилятор скажет:
texttest.c:3:5: error: expected ';' before 'return'
Читайте сообщения. Они говорят, где ошибка (строка 3, символ 5) и что не так (пропущена точка с запятой).
Шаг 4: Запустите
bash./test
Выведет:
textКомпилятор работает! Я готов учить Си.
Поздравляю! Вы только что написали, скомпилировали и запустили программу на Си.
Часть 8: Философия экспериментов – ломайте без страха
Папа сказал мне когда-то: "Ты можешь сломать этот компьютер. Можешь удалить всю систему. Это нормально. Так учатся".
Самое важное в изучении Си – не бояться ошибок.
Segmentation fault? Хорошо. Вы узнали, что обратиться к памяти, которой нет, нельзя.
Программа зависла? Отлично. Вы узнали, что бесконечный цикл – это плохо.
Компилятор ругается? Прекрасно. Вы узнали правила синтаксиса.
Каждая ошибка – урок. Каждый краш – опыт.
Если вы используете Live USB:
При перезагрузке всё вернётся к началу. Можно экспериментировать, удалять системные файлы, выполнять rm -rf / (не делайте это на установленной системе!). Ничего страшного не случится – перезагрузились, и система снова чистая.
Если вы используете WSL или установленный Linux:
Худшее, что может случиться – вы сломаете свой домашний каталог. Системные файлы защищены (нужен sudo). А домашний каталог – это просто ваши файлы. Удалили программу? Переустановите. Сломали настройки? Удалите конфигурационные файлы.
Если вы используете онлайн-компилятор:
Сломать вообще ничего нельзя – это просто сервер где-то в интернете. Пишите что угодно, экспериментируйте сколько хотите.
Заключение части
Теперь у вас есть:
Компилятор GCC – переводчик с Си на язык машины
Текстовый редактор – где писать код
Терминал – где компилировать и запускать программы
Среда для экспериментов – Linux, WSL, Live USB или онлайн-компилятор
Вы проверили, что всё работает. Написали первую программу. Скомпилировали. Запустили.
Вы готовы учить Си.
В следующей части мы разберём программу "Hello, World" построчно – что означает каждый символ, каждое слово, каждая скобка. Вы поймёте, как устроена программа изнутри.
Но прежде – практика. Измените программу test.c. Пусть она выводит ваше имя, возраст, любимое число. Пять разных строк. Скомпилируйте снова. Запустите.
Привыкайте к циклу: написал → скомпилировал → запустил → изменил → повторил. Это и есть программирование.
Компьютер ждёт ваших команд.
Зара
Глава 2. Переменные и типы данных – Как я вышла на Reddit
Пролог: Первый пост на английском
Мне было почти одиннадцать лет. Пять лет я изучала Си, пять лет писала код, компилировала, ломала, чинила. Я понимала указатели лучше, чем английскую грамматику. Я знала, как работает память, но не знала времён глаголов.
Но у меня была идея. Мысль, которая не давала мне спать: можно ли написать программу, которая думает?
Я хотела обсудить это с кем-то. Папа был занят. Тётя Люда не понимала программирования. Соседская Настя давно уехала учиться в другой город. Мне нужны были люди, которые пишут код. Программисты. Инженеры.
Я зашла на Reddit. Раздел r/programming. Тысячи людей, которые обсуждают алгоритмы, языки, архитектуру. Но все говорили по-английски.