3 января 2022 я запустил свой новый проект “Превозмочь Rust”. Это канал в Телеграме, где я рассказываю о том, как я постигаю язык программирования Rust. Этот язык, как и Haskell, Agda, Idris и некоторые другие, известен высоким порогом входа, в отличие от Python, Pascal или C, например. Но при этом способствует написанию качественного и эффективного кода. На этом канале вы узнаете о том, с какими трудностями я столкнулся, как я их преодолевал, какие задачи мне потребовалось решать. Самообучение будет построено на решении кейсов и разработке проектов. В канале уже опубликовано несколько постов на разную тематику: от настройки среды до мигания светодиодом на Arduino Uno. Подключайтесь!
Успешно завершил курс Learning How to Learn. Курс понравился. Сам курс на английском языке, но под большинством видео есть русские субтитры. Кроме того, в продаже есть перевод книги одного из авторов курса Думай как математик. Как решать любые задачи быстрее и эффективнее – Барбара Оакли. Книгу прочитал: в целом она идентична по содержанию этому курсу.
По Prolog книжек достаточно много, есть онлайн-курсы. Автор впервые познакомился с Prolog ещё в девяностые, прочитав советский перевод [Братко]. Эта хорошая книга была переиздана в 2004 году в лучшем виде, чем в первый раз. В советском издании зачем-то перевели на русский идентификаторы в коде на Prolog, да и сам язык там носит название Пролог. [Братко] не единственная переведённая ещё в советское время книга по Prolog, автору известно ещё пять. Из современных книг хотелось бы выделить учебник коллеги по кафедре информационных систем и программирования ИКСИБ КубГТУ [Марков]. В книге рассматривается коммерческий диалект Visual Prolog.
Знакомство с Prolog можно начать с любой из основных книг, только нужно учитывать различия между диалектами.
Начиная или продолжая изучать что-либо, мы интересуемся тем, а что нам бы ещё интересного и полезного об этом почитать? И вот, здесь я отвечаю на этот вопрос и привожу ссылки на наиболее интересные на мой взгляд источники информации на русском языке как о функциональном программировании вообще, так и об отдельных языках функционального программирования в частности, таких как Haskell, Scala, Elm.