Susam - известный программист и энтузиаст математики, чьи проекты и взгляды привлекают внимание сообщества разработчиков и математиков. Его путь в мир вычислений начался с детства, когда он впервые познакомился с языком программирования Logo. Эта простая и наглядная среда позволила ему увидеть, как с помощью кода можно влиять на геометрию и логику, что спустя годы привело к выбору Lisp - одного из самых древних, выразительных и компактных языков программирования. Интересно, что именно в Lisp Susam нашёл простор для творчества и реализации своих идей, начиная от инфраструктуры для хранения математических заметок и заканчивая инструментами для визуализации и обучения. Уникальность подхода Susam заключается в том, что он активно использует разные языки и технологии, но всегда возвращается к Lisp и Emacs Lisp как к основным инструментам для личного творчества и автоматизации.
Его проекты наполнены глубоким смыслом и одновременно просты. Например, маленькие утилиты на Emacs Lisp позволяют упростить рутинные задачи и оптимизировать рабочие процессы, что особенно ценно в условиях постоянной многозадачности. Опыт работы с C, C++, Java, Python, Go и Rust дополняет картину разностороннего специалиста, способного как разрабатывать сложные системы, так и писать компактный код для интерактивных веб-приложений. Интересно, что многое из технического самообразования Susam проходил в ограниченных условиях. История о том, как во время длительной пересадки в аэропорту он начал изучать Common Lisp с помощью установленного на ноутбуке интерпретатора, подчёркивает любовь к эксперименту и веру в ценность изучения "малозаметных" технологий шли в противовес популярности и моде.
Эта настойчивость привела к формированию особого взгляда на сущность программирования и математики. Математика для Susam - не просто инструмент, а живой язык, который позволяет познавать мир с грандиозной точностью. Его любовь к доказательствам "с первого принципа" и глубокому пониманию понятия чисел особенно проявилась в изучении теории чисел и криптографии. История знакомства с функцией Эйлера в контексте изучения системы RSA демонстрирует, как сочетание практики и размышления рождает новые знания. Самостоятельное доказательство свойств функций totient вдохновило его на постоянное расширение горизонтов в аналитической теории чисел, чему способствовало чтение фундаментальных трудов, таких как книга Тома Апостола по аналитической теории чисел.
Основываясь на субъективных ощущениях и опыте, Susam определяет свой стиль работы и обучения как "веселое исследование". Он постоянно задаёт себе вопросы "а что если" и с интересом наблюдает, к чему ведут экспериментальные попытки. Именно так создавались его проекты, которые часто начинают существовать как простые идеи или игрушки, но со временем превращаются в полноценные, полезные инструменты. Такой подход опровергает традиционное разделение работы и хобби, превращая любую деятельность в увлекательное занятие. Особое внимание Susam уделяет созданию и использованию правильной терминологии в программировании.
По его мнению, чёткий и лаконичный словарь - основа качественного дизайна и архитектуры программного обеспечения. Пример с термином "nugget" для обозначения минуты данных с одного сетевого устройства показывает, как удачный термин способствует взаимопониманию и упрощает развитие кода. При этом он акцентирует внимание на важности модульности: новые функции должны быть небольшими, простыми и взаимокомпозируемыми, а не превращать существующий код в нагромождение параметров и ветвлений. Такой подход также напоминает принципы разработки в языке Forth, где ключевым является постепенное построение набора базовых слов, способных выразить доменную модель чётко и прозрачно. Размышляя о балансе между крупными и мелкими функциями, Susam отмечает, что универсального рецепта не существует.
Иногда целостная большая функция улучшает читаемость, например, в случае реализации лексических анализаторов или конечных автоматов, где распределение логики по множеству мелких функций затрудняет понимание. В любом случае, главное - сохранить целостность и поддерживаемость кода, не жертвуя его прозрачностью. Ещё одна важная часть интервью - тактика изучения новых областей. Susam предпочитает сочетать чтение с экспериментами и проверками, формируя гипотезы и проверяя их на практике. Это не только развивает понимание, но и помогает выявлять пропуски и неясности в понимании.
В математике такая практика проявляется в поиске примеров и контрпримеров, которые либо подтверждают, либо отсеивают теории. Подобный подход создаёт глубокую интуицию и критическое мышление, полезные не только в математике, но и при разработке программ. Несмотря на множественные интересы и проекты, Susam признаётся, что время на компьютерные эксперименты у него сокращается из-за возрастающего количества других обязанностей и знакомства с математикой. Решение сконцентрироваться на нескольких идеях и уделять им несколько часов в неделю помогает достигать большего результата и сохранять мотивацию. При этом его взгляд на хобби неизменно связан с радостью исследований и обменом знаниями с сообществом.
Интернет-блоггинг для Susam тоже важен как способ фиксировать и делиться наработками. Некоторые публикации рождаются как серьёзные исчерпывающие руководства, например, сравнение инструментов для Lisp в Vim, а другие появляются как короткие забавные заметки - пример с Python и использованием троеточия. Такой разнородный стиль отражает разные настроения и цели публикаций. Что касается онлайн-форумов и обсуждений, то Susam ценит их за возможность обмена идеями и поиска вдохновения среди единомышленников. Он выделяет приоритеты так, что сначала выполняет собственные проекты и обязательства, а затем, если остаётся время, занимается чтением и комментированием в сети.
Эмоциональная сторона интервью увлекает рассказом о переживаниях, связанных с управлением платформой MathB - математическим пастебином, работающим около десяти лет и закрытым из-за утомительной модерации. Несмотря на желание отпустить проект, поддержка сообщества и желание поделиться знаниями вдохновляли Susam продолжать, пока нагрузки не стали невыносимыми. Архивация постов со стороны сторонних команд позволила сохранить наследие проекта и дать ему вторую жизнь в виде аналогов. Любители математики найдут в интервью богатое вдохновение благодаря подбору курсов и книг, которыми Susam делится с публикой. От классических "Advanced Engineering Mathematics" Эрвина Крейзинга до более специализированных "Введения в аналитическую теорию чисел" Томаса Апостола и глубокого "Теории Галуа" Яна Стюарта - подборка подчёркивает широту интересов, от прикладных аспектов до фундаментальных концепций.
В разговорах фигурируют как интегральные преобразования, важные для обработки сигналов и музыки, так и абстрактная алгебра, лежащая в основе современных теорий шифрования и кодирования. Такой широкий взгляд ещё раз подчёркивает тесную связь математики и вычислений. Наблюдения Susam по поводу влияния математики на программирование подчёркивают, что глубокое понимание математических доказательств и здравый скептицизм - залог создания надёжного и устойчивого к ошибкам кода. Он отмечает, как программное обеспечение, в котором логика не является прозрачной и доказуемой, со временем подвергается ошибкам и непредвиденным багам. Поэтому в создание программного обеспечения нужно вкладывать не только технические знания, но и методологическую строгость, принципы которой можно почерпнуть из изучения математики.
Итогом разговора с Susam становится картина исследователя, для которого границы между обучением, работой и творчеством почти стерты. Его непрерывное стремление к пониманию, желание делиться знаниями и неутомимое любопытство создают богатое и интересное наследие в мире программирования и математики. Такой подход вдохновляет не только практиков, но и тех, кто ещё только начинает свой путь в этих областях. Рассказ Susam может стать ценным примером для тех, кто стремится объединить технические знания с личным развитием и стремится найти в вычислениях средство не только для решения задач, но и для радости открытий и самовыражения. .