Я Вас регулярно читаю и задумался о том, что хорошо бы мне подтянуть математику. (В последний раз вышмат был в универе лет 7-8 назад).
Хочу узнать у Вас куда можно записаться, что посмотреть и порешать. В целом хочу понять что из матана может потребоваться для того, чтобы заниматься дальше комфортно заниматься на курсах и стать полноценным Ментатом. (Думаю пока со Смаллиана начну.)
1. Матан не нужен 💯
Собственно, в закрепе Лаборатории вконтактнике уже много лет пост висит, какая математика/computer science нужна Программисту.
2. Смаллиана однозначно рекомендую просто в вакууме, ни с чем не связано, "Передразнить пересмешника" в первую очередь. А с детишками полезно вместе поразбирать его легендарные "Принцесса или тигр", про Алису серию, и т.д.
3. В матрице компетенций (в личном кабинете), там 50+ треков развития, и среди них есть трек по математике вот буквально с самого начала, с околонуля.
4. Если кто-то прямо очень-очень серьёзно настроен в математику, я помогаю индивидуально даю рекомендации что поизучать, и самое главное, в каком порядке -- до топового уровня HoTT именно на уровне профессионального математика. Но за всё время было всего два человека кто пытался, и запала ожидаемо хватило ненадолго, на теории групп все слились. Даже до базового уровня учебника Александрова "Введение в теорию групп" не добрались.
5. Я фактически закончил трек HoTT/CoC/CTT для уровня обычного программиста (надеюсь). Кто проходит три базовых трека второй части Лаборатории -- ООАП, Ясное проектирование и Функциональное программирование (дорабатываю сейчас, кстати), потом по желанию может сразу его пройти.
6. В качестве вводного подготовительного уровня к HoTT, в принципе много раз уже рекомендовал "Типы в языках программирования" Пирса и/или "Программирование: теория типов" (Швецкий, Кудрявцева).
Конечно стоит и SICP прочитать (база, как и TaPL), ну и до кучи "How to Design Programs" (HtDP). Эти три-четыре книги - абсолютный начальный must have для всех, кто хочет изучать computer science.
И затем всю линейку "The Little ...":
The Little Schemer, The Little Typer, The Little Prover...
"A Little Java" кстати вообще всем рекомендую: мозгоразрывающее применение паттерна Visitor.
7. Но если честно, то по хардкору я бы рекомендовал так =>
- прыгаешь сперва с головой в OnLisp
- потом в "Introduction to the MIPS Architecture and Assembly Language"
вроде такого
- пишешь для MIPS/Байкала свой компилятор Лиспа в continuation-passing style
- попутно шлифуешь алгосики по MIT-овскому "6.851: Advanced Data Structures"
- Настанет день, - произнёс герцог Лето, - когда потенциальный ментат должен узнать о том, что с ним происходит. Он не может больше быть предметом обучения. Он сам должен сделать выбор: продолжить обучение, или прекратить. Некоторые способны к дальнейшим занятиям, некоторые нет. И только сам полноценный ментат может решить это для себя.
Колебаний не было.
- Я буду продолжать тренировки! - сказал Пол, и подумал: "возможно, быть ментатом на самом деле ужасно".
