Kodokon kodokon.com

Почему код - это просто текст

Открой для себя, что любая программа - это всего лишь текстовый файл, и почему это меняет твою манеру работать.

6 мин · 3 вопросов

Открыть этот урок в Kodokon

Вот открытие, которое удивляет почти всех: код - это просто текст. Не секретный формат, не какой-то загадочный двоичный файл. Сайт, приложение для телефона, видеоигра - всё начинается с файлов, которые ты мог бы открыть в Блокноте и прочитать символ за символом. Внутри нет ничего скрытого, и именно это делает программирование по-настоящему изучаемым.

Одна оговорка: речь идёт о простом тексте, а не о форматированном. Когда ты пишешь в Word, LibreOffice или Google Документах, файл хранит куда больше, чем твои буквы: шрифт, размер, цвета, поля - всё это невидимое оформление. Файл с кодом содержит только символы, по порядку, без единого украшения. Цвета, которые ты позже увидишь в редакторе, не лежат в файле: редактор добавляет их на экране, чтобы тебе помочь.

TEXT
Настоящее содержимое файла index.html, символ за символом:

<h1>Hello</h1>
<p>My first page.</p>

Больше ничего. Ни шрифта, ни цвета, ни полей.
Файл с кодом содержит только те символы, которые ты набрал.

А что же расширение, этот маленький суффикс после точки: .txt, .html, .py, .js? Это не более чем наклейка на коробке. Она ничего не меняет в содержимом. Она нужна, чтобы сообщать программам, и тебе самому, что файл должен содержать. Если переименовать photo.jpg в photo.txt, изображение не превратится в текст: содержимое останется прежним, просто наклейка соврала. И наоборот: один и тот же текст, сохранённый как page.txt или как page.html, - это строго один и тот же файл, но браузер покажет его как веб-страницу только во втором случае.

Отсюда следует ещё одно: никогда не пиши код в текстовом процессоре. Word и Google Документы автоматически правят то, что ты набираешь, и, в частности, подменяют прямые кавычки красивыми фигурными типографскими. Для тебя разница незаметна. Для машины это два совершенно разных символа, и твоя программа просто откажется работать.

TEXT
Что ждёт машина          "hello"     прямые кавычки
Что пишет Word           “hello”     фигурные типографские кавычки
Ещё одна частая ловушка  'hello'  ->  ' становится фигурным апострофом
Два символа, похожих друг на друга, - это не один и тот же символ.

Проверка знаний

Убедись, что запомнил ключевые моменты этого урока.

  1. Что на самом деле содержит файл с кодом?
    • Только набранные символы, без всякого оформления
    • Символы и цвета, которыми они отображаются
    • Сжатый формат, нечитаемый без специальной программы
  2. Зачем нужно расширение файла, например .html?
    • Чтобы сообщать, что файл должен содержать
    • Чтобы сжимать содержимое файла
    • Чтобы защищать файл от изменений
    • Чтобы менять содержимое файла
  3. Почему не стоит писать код в Word?
    • Он автоматически подменяет некоторые символы, например кавычки
    • Он не умеет сохранять файлы
    • Он ограничивает количество допустимых строк