Эта статья о многолетнем личном опыте самостоятельного изучения иностранных языков, истории становления метода, а также о создании собственной программы для запоминания слов: как создавалась и какая получилась. Возможно, результаты опыта покажутся кому-то интересными или даже полезными.
Петров, Lingualeo и другие
Мои первые попытки самостоятельно заниматься языками были несколько неудачными и не дали особого результата: не было внятной мотивации, кроме «хочу знать несколько языков», занятия были нерегулярными, а способы занятий постоянно менялись. Уже хотелось всё бросить, но многое изменила всего лишь одна услышанная фраза. Полиглот Дмитрий Петров в одной из своих передач сказал приблизительно следующее: «Мы люди взрослые и вряд ли обладаем избытком свободного времени, но 5 минут в день на занятия языком может найти каждый». Вот чего не хватало — понятного критерия регулярности и объёма: каждый день по 5 минут. Почти сразу попался и сайт Puzzle-English, на котором удалось закрепить привычку заниматься по 5 минут каждый день (в былые времена там можно было минут 5 заниматься бесплатно).
Далее абстрактная мотивация «хочу знать языки» преобразовалась в более внятную «хочу читать на английском без словаря». К сожалению, Puzzle-English делал упор на грамматику и восприятие на слух (тоже полезно, но для меня второстепенно), а вот в чтении особо не помогал. Зато вскоре попался другой сайт: Lingualeo. Здесь уже можно было читать самые разные тексты (статьи, рассказы, книги), по одному клику открывать переводы отдельных слов и целых предложений, добавлять слова в свой словарь и учить их с помощью разнообразных упражнений. Заниматься там было настолько интересно и несложно, что даже не хотелось ограничиваться 5 минутами в день. А ещё Lingualeo приучил к тому, что новые слова нужно всё-таки учить, пусть даже не все подряд, а самые интересные и часто попадающиеся. И уже через несколько месяцев это дало первые заметные результаты.
В общем, Lingualeo был отличным сервисом (до сих пор считаю его одним из лучших) и очень помог запомнить несколько тысяч наиболее частых слов. Однако для запоминания более редких слов понадобилось больше внимания уделять контексту и изменить подход к самому запоминанию, отказавшись от интервальных повторений, а взамен учить новые слова несколько дней и потом к ним не возвращаться (о причинах — ниже). Для такого подхода Lingualeo уже не очень удобен и не только он — приложения наподобие Quizlet или Anki в этом смысле тоже не дают каких-то особых преимуществ.
О запоминании слов
На этом не часто акцентируют внимание, но интервальные повторения работают лучше, если слова (или что там нужно повторять) изначально тщательно заучить. Значит, нужно или потратить много времени на заучивание сразу, или заучивать слова несколько дней, тратя на это 3-5 минут в день (если слов не слишком много). Потом их можно повторять через интервалы, а можно полагаться на то, что они снова попадутся в текстах. Да, особо редкие слова часто забываются, но проще их снова взять на заучивание, когда попадутся в следующий раз, а не пытаться вспоминать через определённые интервалы времени.
Так что для себя я определил, что новые слова нужно тренировать 3-4 дня, в том числе сегодняшние с вчерашними и позавчерашними, а по мере добавления более новых слов самые старые из тренировки исключать. На практике я также убедился, что слова в контексте запоминаются лучше и тренировать их интереснее, чем просто слова с переводами. Значит, контекст нужно или помнить, или добавлять к слову в виде примера из самой книги и этот пример должен отображаться в тренировке вместе с самим словом (сразу, а не после выбора ответа).
В приложениях и сервисах для изучения языков и запоминания слов я стал искать именно возможность тренировать вместе добавленные за недавние 3-4 дня слова, причём добавлять их с примерами, которые бы отображались во время тренировки. Найти такое приложение было не так просто и, с учётом навыков любительского программирования, показалось проще написать собственную программу — простую и с минимумом функций.
Своя программа: формат и загрузка слов
Сразу возник вопрос: в каком формате хранить слова, как их добавлять и редактировать? Недолго думая пришёл к выводу, что самый простой формат — текстовый. Если слова будут храниться в обычном текстовом файле, то их можно легко редактировать в любом удобном текстовом редакторе. Нужно было только сразу смириться с тем, что программа будет открывать файлы только для чтения и никак не отмечать, сколько раз и когда было на тренировке то или иное слово. С другой стороны, это упрощало реализацию программы, сделав случайный выбор слов для тренировки.
Следующий вопрос: как отделять слова друг от друга и от своих переводов и примеров? Выглядит естественно, если каждое слово будет находиться в отдельной строке, а от своего перевода отделяться символами « - » (пробел-минус-пробел на клавиатуре). Пример было решено отделять от слова с переводом символами «//» (как комментарии в Си-подобных языках программирования). То есть, слова в файле могут выглядеть примерно так:
exempt - освобождённый // exempt from the end-of-term tests
plea - просьба; призыв // this could be a plea for attention
twinkle - сверкать; мигать // her eyes twinkling
Остался один вопрос: если нужно тренировать только новые слова (добавленные в ближайшие дни) и не удалять старые, то как отличать новые от старых? Было решено помечать блок новых слов специальной меткой «.new» (в отдельной строке), чтобы программа считала все слова после этой метки новыми.
Реализация в программе чтения такого файла несложная: файл читается построчно, в каждой строке ищутся разделители « - » и «//», по которым и отделяются слова, переводы и примеры. Каждое отдельное слово, перевод и пример (даже пустой, если его нет) добавляются в соответствующие динамические массивы и запоминается количество прочитанных слов. Если встретилась метка «.new», то нужно запомнить индекс первого «нового» слова.
Тренировка «Слово-Перевод» и её режимы
Итак, формат выбран, слова из файла загружаются и теперь можно подумать о реализации простой тренировки. Сразу напрашивается вариант «Слово-Перевод»: отображается слово и нужно выбрать правильный перевод из нескольких возможных вариантов. Выбор из 4-6 вариантов хорош для тестов и проверок, но при запоминании множество неверных вариантов только отвлекает, потому было решено оставить всего два: правильный и неправильный (в случайном порядке).
А сколько слов нужно проходить в одной тренировке? В Lingualeo подобные тренировки включают до 10 слов и это кажется уместным. Но если в файле будет 11-12 новых слов, то нужен выбор: запустить 10 случайных (из новых) или все новые. Что и было реализовано в соответствующих режимах: «10 новых» и «Все новые». Для возможности закрепления слов из всего файла (а не только новых) реализованы также режимы «10 случайных» и «Новее чаще». Во втором случае на тренировке тоже будет 10 слов, но чем ближе они к концу файла, тем чаще будут попадаться.
Значит, в окне тренировки нужно отобразить номер слова, само слово и две кнопки с вписанными вариантами перевода (один из них правильный), на которые нужно нажимать, чтобы программа засчитала выбор. Здесь же под кнопками можно отобразить пример, если он есть. Так это выглядит в реализованной программе:

Пара слов о реализации. Для подготовки тренировки программа создаёт массив индексов слов и перемешивает их в случайном порядке (в режиме «Новее чаще» выполняется более сложное перемешивание). Для каждого из 10 слов (или сколько их будет на тренировке) берётся очередной индекс и по нему из соответствующих массивов берутся слово (отображается вверху окна), перевод (вписывается в одну из двух кнопок) и пример (отображается внизу окна). Ещё один индекс вычисляется случайно (но обязательно не равный индексу текущего слова) и по нему берётся второй (неправильный) перевод.
Тренировка «Ввод слов»
Слишком большое количество тренировок для простой программы кажется излишним, но вот тренировки с вводом слов всё-таки не хватает. Реализовать её несложно: отобразил перевод, пользователь вводит свой вариант слова, а программа сравнивает его с «правильным» (который прочитан из файла) и либо принимает, либо сообщает об ошибке. Вот только без подсказок легко попасть в ситуацию, когда правильное написание забылось, а ни один из написанных вариантов программа не принимает. В таких случаях хочется просто закрыть программу и больше её не открывать. Нет, лучше уж отобразить подсказки, например, в виде двух вариантов слова, из которых один правильный, а второй случайный. Так это выглядит в реализованной программе:

То есть, в данной тренировке нужно идентифицировать правильный вариант слова и набрать его на клавиатуре. Возможно, это несколько «ленивый» способ письменной тренировки, но и он позволяет запоминать слова, в том числе их написание (особенно после нескольких ошибок). И да, здесь примеры не отображаются, поскольку являются излишними по отношению к отображаемым вариантам слова.
Результаты и выводы
Конечно, данная программа не идеальна и мне самому, например, не хватает в ней озвучки слов, которая была в Lingualeo и Quizlet. Также есть проблемы с другими языками: например, испанское слово «pequeño» сложно ввести с английской клавиатуры из-за отсутствия на ней символа «ñ», хотя в других приложениях нетипичные символы размещаются в виде кликабельных кнопок вблизи поля для ввода. Но свою главную задачу программа всё же выполняет: позволяет легко добавлять слова с переводами и примерами, тренировать только новые и при желании выборочно закреплять старые слова, а примеры отображаются на видном месте в окне тренировки.
Результаты занятий следующие: за несколько лет занятий в Lingualeo я поднял свой уровень английского где-то с A2 (Pre-Intermediate) до B2 (Upper-Intermediate). Занимаясь ещё несколько лет вне Lingualeo с тренировкой новых слов в собственной программе удалось поднять уровень английского уже с B2 до C1 (Advanced). Это при занятиях минут по 30 в день (от 5 минут и далее по возможности и вдохновению).
И общие выводы по изучению языков.
Регулярность даёт результаты, если заниматься хотя бы по 5 минут в день (и больше, если есть понятная и достаточная мотивация).
Новые слова нужно учить, пусть даже некоторые, а не все подряд.
Лучше всего слова запоминаются в контексте.
Интервальные повторения не обязательны, если учить слова несколько дней и потом они будут попадаться при использовании языка (при чтении, общении и т. д.).
P.S. Чуть не забыл: исходный код описанной программы для запоминания слов доступен на GitFlic (написана на C++ с использованием Qt).
Комментарии (6)

Biga
03.05.2026 00:10Что насчёт мобильного приложения? По моему опыту удобно учить/повторять с телефона во время перерывов.

d_n_trunov Автор
03.05.2026 00:10Мысль интересная, но что-то конкретное сказать пока не могу: не было опыта (и необходимости) мобильной разработки.

DmitrySushkov
03.05.2026 00:1013 лет назад учил чешский, наиболее качественно укладывало в голову слова приложение learnwords для андроида. Судя по всему автор его забросил, уже тогда можно было установить только apk. Суть в том, что это приложение позволяло использовать для обучения огромное количество времени, доступного каждому. Очереди в магазинах и учреждениях, общественный транспорт, туалет в конце концов.

d_n_trunov Автор
03.05.2026 00:10Сайт learnwords.ru выглядит рабочим, но требует регистрации для "попробовать". Это он? Кажется, на старой версии сайта (ссылка внизу главной страницы) есть возможность скачать и apk-файл. Возможно, он давно не обновлялся - не знаю. По описанию функционал приложения выглядит неплохо, но это лишь описание. И смущает приписка внизу: "Стоимость регистрации 580 рублей". Это уже на любителя.
Конечно, для занятий в очередях можно пройти слова в каком-то приложении, прочитать фрагмент электронной книги на изучаемом языке или даже пройти урок в Duolingo, например. К счастью, выбор способов и приложений большой и подобрать что-то подходящее есть из чего.
Emelian
«Интересными», в том смысле, что подобный путь уже проделан и, аналогичные вашим, выводы получены.
Естественно, если две «команды» решают одну и ту же задачу, то разница в подходах будет, по любому.
Эти нюансы, в разных проектах, можно обсудить с целью поиска «истины», которая, как всегда, где-то «посередине».
У меня использовался C++ / WTL.
Они даны с транскрипцией и слогоделением, для чтения по слогам (как учились читать в детстве).
Пять минут – мало. Это обман самого себя. Заниматься нужно, с удовольствием, часами (пусть и не каждый день). И то, не факт, что язык освоится.
Зачем, вообще, такие ресурсы нужны? Есть же масса бесплатных вариантов.
У меня, лично, цель другая. Хочу понимать язык носителей и, особенно, носительниц языка :) . Прежде всего, в любимых видосиках, для удобства скачивания которых я даже наваял собственную графическую обёртку, для «широко известного в узких кругах» консольного загрузчика.
Я тоже «недолго думал», но пришел к другому выводу. Мне важнее была озвучка, поэтому использовал формат Sqlite (для звука – blob-поля). В статьях, здесь, я описывал процесс редактирования своих db-файлов (разборки и пересборки) и создания их с нуля, с генерацией озвучки, с помощью локальных моделей.
Если использовать встроенную базу данных, то таких вопросов не возникает, можно делать любые запросы и получать «любые» ответы :) .
В моей обучающей программе «L’école» ( https://lecole.free.nf/Prg/Lecole.php ) имеется шесть режимов работы. Три – основных (оригинал –> перевод): «Конспект» (для тренировки написания), «Видео» (если влом набирать текст руками) и «Экзамен» (для проверки запомненных слов либо фраз) и три – альтернативных режима (перевод –> оригинал).
У меня таких проблем нет. Расширенные символы европейских языков можно ввести с помощью комбинаций клавиш (описаны в справке по «F1»).
Я об этом тоже говорил, но, сейчас, ориентируюсь на немного другую парадигму.
Несмотря на то, что обучающая программа «L’école», v. 1.01, существует и там есть демо-данные по нескольким языкам (более того, я уже готовлю ее вторую версию) и, кроме того, на моих каналах опубликовано много видео с двуязычными субтитрами, я, в настоящее время, предпочитаю запоминать слова, просто читая, как художественную книгу, электронные словари в формате djvu или pdf. Желательно, чтобы там были словарные статьи в «одну колонку». Можно, в крайнем случае, в две, но, приходится делать лишние телодвижения. Хотя, я могу разрезать, с помощью Питона, изображения графических форматов пополам и пересоздать djvu либо pdf заново (экспериментировал также с html-книгами, Excel-книгами и видео-книгами, но, одноколоночный djvu – предпочтительней), однако, из-за потери текстовых слоев, в графике, книги слишком сильно «распухают», в десятки и сотни раз, при сохранении того же качества текста.
Как я понял, словари – это тоже книги, и их вполне можно читать расслабленно, без особого желания что-то зазубривать. Достаточно одного любопытства, акцентируя внимание на примерах использования (именно в них – весь прикол!)
При этом читать можно несколько словарей сразу (обращая внимание на нюансы в расхождениях), естественно, по нескольку раз, для большего эффекта и столько, сколько выдерживает голова (у меня два-три часа в день). Потом можно отвлечься на другой язык, создание субтитров к понравившимся фильмам и т.п. Все это, исключительно, ради удовольствия, без какого-либо самопринуждения.
В общем, чтобы выучить язык – его надо учить. Столько, сколько по силам, месяцы или годы – не важно, главное, с удовольствием!
d_n_trunov Автор
Да, у Вас действительно хорошая программа, хотя наши подходы несколько различаются. Удачи Вам в развитии Вашего проекта и изучении языков!