Вот учу я, допустим, французский. Есть всякие приложения типа Duolingo, Busuu. У них сильная сторона - изучение лексики, разбор конкретных ситуаций вида «что говорить, если я попал в аэропорт» и «как рассказать как я провёл лето». Просмотр фильмов учит понимать на слух и опять же лексике. Чтение книг учит в первую очередь лексике. А есть ещё такая штука как грамматика. С каким окончанием надо писать глагол partir в третьем лице единственном числе во времени imparfait. И вот такие штуки можно только выучить.
Однако, я до сих пор не встречал комплексных приложений на эту тему. С моей точки зрения идеальное приложение должно работать так:
- Хочу поучить числительные - Тебе показывают число записанное цифрами и ты должен записать его буквами. Число может быть большим - с сотнями, тысячами и даже миллионами. Число случайное, а не один и тот же тест из десяти вопросов. Может быть обратная задача - тебе показывают число записанное буквами и предлагают написать его цифрами.
- Хочу поучить спряжения глаголов для уровня A1/A2/B1/B2/etc (от уровня зависит набор доступных времён, либо можно просто выбрать какие времена интересны). - Тебе показывают случайно выбранный инфинитив глагола, личное местоимение и время. Ты должен написать глагол правильно согласовав. На лёгком уровне сложности могут подсказать группу глагола, на сложном должен сам понять.
То же самое для сопряжения прилагательных (род и число) и т. п.
С алгоритмической точки зрения нет проблем составлять вопросы из кусочков. Достаточно иметь размеченную БД тех же глаголов с указанием правил спряжения (на том же wikitonary есть такая информация, плюс куча других сайтов). Но... Таких приложений нет. Предлагают учить лексику, а грамматика сама как-нибудь когда-нибудь подтянется. Но ведь она тоже важна.
Можно найти учебник с упражнениями, но эти упражнения потом должен кто-то проверять, а у приложений и сервисов плюс в мгновенной реакции правильно/неправильно. Это гораздо эффективнее для обучения.
Может быть уже есть такие штуки? А то у меня уже от безысходности часаться руки по мере изучения языка писать процедурные генераторы вопросов такого вида.
P. S. Только не надо говорить, что грамматика не нужна - есть вполне конкретные ситуации, когда она нужна 100% - сдача языкового экзамена для поступления в вуз, трудоустройства, получения ВНЖ/ПМЖ/гражданства и т. д.
P. P. S. Английский ещё относительно легко учится, там одна таблица неправильных глаголов, из которой активно используется меньше половины. А времена строятся как различные комбинаиции употребления to be, have и инфинитива глагола с максимум с парой вариантов концовок. А в том же французском есть группы глаголов, рода, времена и это всё с кучей исключений для каждого случая.