Продажи токенов ICO

Техномэнси: путь от Ruby до разработки собственного языка программирования Fennel

Продажи токенов ICO
Interview with Technomancy

Интервью с разработчиком Phil Hagelberg, известным как Technomancy, раскрывает эволюцию его профессионального пути, взгляды на функциональное программирование, особенности Lua и Fennel, а также философию открытого программного обеспечения и создание сообществ вокруг технологий.

Phil Hagelberg, более известный в сообществе как Technomancy, — это фигура, чей профессиональный путь и взгляды на программирование и разработку языков остаются интересными для многих программистов по всему миру. В интервью, проводимом на платформе Lobsters, он раскрывает не только историю своего становления как разработчика, но и глубокие размышления об идеалах свободного программного обеспечения, функциональном программировании и создании инструментов, которые не только удобны для бизнеса, но и полезны для человека как пользователя и разработчика. Начинал свою карьеру Phil с программирования в детстве, но по-настоящему погрузился в этот мир с возвращением к кодингу в колледже. В частности, в 2004 году он заинтересовался Ruby, языком, который на тот момент находился на своем инфлекционном пике, быстро приобретая популярность. Однако, уже к 2008-2009 годам его внимание привлекла Clojure — современный функциональный язык, дающий новые возможности и свежий взгляд на разработку.

В это время индустрия переживала изменения — заканчивался период стремительного роста мощности процессоров по закону Мура, и мир программирования переключался на новые модели вычислений, такие как масштабирование по ядрам и параллелизм, в которых функциональное программирование обещало упростить обработку неизменяемых данных. Technomancy вспоминает, что с самого начала увлечения языками как Ruby, так и Clojure, его влекло не столько карьерное продвижение, сколько стремление обучаться и расширять горизонты. Когда язык становился более зрелым, глубина познания достигала потолка, и возникала потребность в новых вызовах. Но у всех этих языков была своя специфика — например, Java Virtual Machine, на которой «сидит» Clojure, хорошо подходит для решения корпоративных задач, однако часто отстает по части идеалов за счет своей закрытой и масштабной природы. Открытое программное обеспечение для Phil изначально связывалось с идеализмом и желанием сделать мир лучше, однако со временем он осознал сложности и парадоксы этого движения.

За стенами корпоративного мира, где бесплатное программное обеспечение порой превращается в источник бесплатного труда для больших компаний, идеалы иногда идут на второй план. Поэтому он переосмыслил, как стоит посвящать свободное время — открыл для себя Lua, язык, который идеально подходил для маленьких личных проектов, а главное — для совместного творчества с детьми, создания игр и образовательных приложений. Любовь к Lua и опыт работы с ним привели к открытию фрагмента функционального программирования внутри этого мира. Появился компилятор Fennel, который сочетал плюсы Lisp-подобного синтаксиса и легковесности Lua. Именно этот проект стал основным фокусом его деятельности и интересов последние несколько лет.

Fennel – не просто язык программирования, а философия минимализма, гибкости и учебности, предназначенная сделать программирование доступным и приятным занятием. Разработчик не скрывает, что отказ от Ruby в пользу Lua связан с желанием дистанцироваться от корпоративного программирования, в то время как переход из Ruby в Clojure больше был вызван готовностью к изучению новых парадигм и концептов. Оба этапа сопровождались временем в истории, когда каждый из языков достигал своего расцвета, и было важно «быть там» вместе с сообществом. Что касается аппаратных изменений, замедление закона Мура действительно повлияло на развитие программирования. Рост тактовых частот процессоров иссяк, и разработчики переключились на многопоточность и распределённые системы.

В этом контексте функциональные языки приобрели популярность благодаря особенностям иммутабельности и параллелизму, однако свои ограничения и компромиссы тоже очевидны. Например, функциональные обновления зачастую медленнее, чем мутабельные операции, что критично в системах с ограниченными вычислительными ресурсами. Phil отмечает, что для многих стартапов с достаточным финансированием проблемы вызова вычислительных ресурсов можно решить за счёт масштабирования, используя большое количество ядер или серверов. Это создает определённый перекос в сторону производительности на мощностях, в ущерб оптимизации и эффективности, что не всегда подходит для персонального программирования или хобби. В рабочем окружении Technomancy предпочитает комфорт и эргономику.

Его основное устройство — уникальный ноутбук, собранный в основе корпуса старой модели ThinkPad, но оснащенный современной аппаратной начинкой. Клавиатуру он разработал самостоятельно — это компактная и портативная клавиатура Atreus, настроенная под естественную постановку рук и повышающая удобство набора. Кроме того, он активно пользуется Emacs, который называет не просто редактором, а полноценной экосистемой, где каждое приложение — это буфер внутри Emacs, вплоть до браузера или терминала. Phil начал работать с Emacs ещё в университете, сделав выбор в пользу этого редактора из-за большей гармонии с его предпочтительной раскладкой клавиатуры Dvorak. Несмотря на популярность Vim у многих его современников, подход Emacs, его расширяемость и философия нашли отклик именно у него.

Образовательная сторона деятельности Technomancy проявляется в его деятельности с собственными детьми. Вместе они изучают основы вычислительных систем по книге Elements of Computing Systems (также известной как nand2tetris). Такой подход позволяет понять принципы создания компьютера и программного обеспечения на основе первых принципов, что способствует глубокому пониманию материала. Phil отмечает ценность игр как обучающего инструмента — через создание простых игр дети способны быстрее вовлекаться в программирование и начинают понимать базовые концепции. Вначале они использовали Scratch — графическую платформу для обучения детей программированию, которая легко позволяет создавать и модифицировать проекты, сочетая вместе визуальное программирование с возможностью просмотра и редактирования исходников.

Fennel как проект построен с учетом максимальной открытости и доступности для обучения. Вдохновляясь идеями Scratch о доступности исходного кода и возможности легко его менять кроме тенденции Lisp к макросистемам и гибкой расширяемости, Phil подчёркивает важность возможности «видеть исходники» и экспериментировать с кодом. Ещё один аспект, который обсуждался в интервью, — непростая задача создания системы анализа кода и языкового сервера (LSP) для динамических языков как Clojure и Fennel. В частности, проблема безопасности выполнения кода на этапе анализа — одно дело читать исходный код, совсем другое — рисковать запустить вредоносный или небезопасный скрипт. В Fennel удалось построить макросистему, где макросы работают с AST и ограничены в своих возможностях, что особенно помогает в безопасном статическом анализе и упрощает работу с языковым сервером.

В плане проектирования языка и разработки новых функций Technomancy придерживается принципа бережного расширения. Он анализирует концептуальный вес каждой функции, насколько она сложна для восприятия и использования, и стремится добавлять только то, что органично вписывается в уже существующий контекст языка. Например, в Fennel введение таких конструкций, как pattern matching и list comprehensions, происходит на основе уже имеющихся в языке концептов, что облегчает их изучение и применение. Он делится и историей того, как пришёл к Fennel. Критика Lua — необходимость ловить ошибки времени компиляции, отсутствие деструктуризации и некоторые синтаксические ограничения — мотивировали его искать лёгкий Lisp-подобный компилятор для Lua.

Изначально Fennel был проектом Калвина Роуза, который вкратце рассказал о своём подходе, а позже Phil взял проект под своё управление, развивая и улучшая его. Интересно и отношение к управлению зависимостями и инструментам сборки. В отличие от крупных языков с огромным количеством зависимостей и сложным пулом библиотек, экосистема Lua и Fennel отличается минимализмом. Phil говорит, что зачастую достаточно просто размещать нужные файлы в проекте, без необходимости сложной системы управления пакетами, хотя над решением для Fennel уже ведется работа. Важно отметить, что в рамках интервью Technomancy много размышляет и о значении свободного программного обеспечения и его взаимодействии с индустрией.

Он отмечает противоречия, когда крупные корпорации используют свободное ПО для своих целей, что заставляет задумываться над истинной природой «свободы» и «открытости» в современных условиях. Кроме того, его вдохновляют проекты федеративных и распределённых социальных сетей, такие как Mastodon и GoToSocial, которые дают людям контроль над своими данными и коммуникациями, что соответствует его идеалам цифровой независимости. Также Phil коснулся темы внедрения современных технологий и влияния искусственного интеллекта на обучение программированию. Несмотря на очевидный прогресс в инструментах, он признаёт, что для глубинного понимания всё равно необходим процесс экспериментов, модификаций и самостоятельного изучения, что в программировании имеет большое значение и не всегда может быть заменено автоматической генерацией кода. В результате интервью с Technomancy становится понятной картина разработчика, который стремится объединить в своих проектах идеалы прозрачности, обучения и технической изящности, отказываясь от излишней корпоративной бюрократии и сложностей ради создания простых, но мощных инструментов.

Опыт и взгляды Phil помогают понять, как развивается современное программирование на пересечении языковых инноваций, образовательных подходов и философии открытого сообщества.

Автоматическая торговля на криптовалютных биржах Покупайте и продавайте криптовалюты по лучшим курсам Privatejetfinder.com (RU)

Далее
Controlled Unease with AI Coding
Понедельник, 10 Ноябрь 2025 Управляемое беспокойство при программировании с помощью ИИ: новый взгляд на эффективную разработку

Исследование психологического и технического аспекта использования искусственного интеллекта в процессе написания кода, раскрывающее, как управляемое беспокойство помогает разработчикам успешно внедрять ИИ в рабочие процессы и добиваться высокой скорости разработки при сохранении контроля качества.

Intel Puts the Process Horse Back in Front of the Foundry Cart
Понедельник, 10 Ноябрь 2025 Intel Возвращает Технологический Лидерство: Перспективы и Вызовы Производственных Процессов 18A и 14A

Intel стремится восстановить позиции в сегменте передовых полупроводниковых технологий, сосредотачиваясь на уникальном техпроцессе 18A и планах развития 14A. Анализ ситуации, рисков и шансов компании на фоне конкурентной борьбы с TSMC и изменениями рынка ИИ чипов.

The Planets Today
Понедельник, 10 Ноябрь 2025 Планеты Сегодня: Актуальное Положение и Значение Солнечной Системы в 2025 Году

Подробный обзор текущего положения планет Солнечной системы, их движений и влияния на астрономию и астрологию с учётом данных 2025 года. Анализ ключевых событий и объяснение сложностей понимания планетарных орбит и зодиакальных знаков.

Spatial Web: Transforming Device Interactions
Понедельник, 10 Ноябрь 2025 Пространственный Веб: Революция во Взаимодействии Устройств и Искусственного Интеллекта

Пространственный Веб представляет собой новый стандарт интернет-технологий, способный коренным образом изменить способ взаимодействия устройств, роботов и ИИ-агентов. Его потенциал, основанный на стандартах IEEE P2874, позволяет создавать динамичные, интеллектуальные сети, которые объединяют физический и цифровой миры в единую экосистему.

Musk warns of ‘rough’ quarters ahead amid Tesla revenue slump
Понедельник, 10 Ноябрь 2025 Илон Маск предупреждает о сложных кварталах на фоне падения выручки Tesla

Компания Tesla столкнулась с серьезными трудностями из-за изменений в законодательстве и повышенных тарифов, что негативно сказалось на её финансовых результатах. Генеральный директор Илон Маск предупредил о непростых периодах впереди и объяснил причины снижения выручки и прибыли, а также перспективы компании на ближайшее будущее.

ServiceNow Stock Jumps on Strong Results as AI Demand Grows
Понедельник, 10 Ноябрь 2025 Акции ServiceNow Взлетают на Фоне Сильных Финансовых Результатов и Растущего Спроса на Искусственный Интеллект

Компания ServiceNow продемонстрировала впечатляющий рост финансовых показателей за второй квартал, что вызвало резкий взлет её акций. В статье рассматриваются причины этого успеха и перспективы развития благодаря активному внедрению искусственного интеллекта в её бизнес-платформу.

Heritage Grocers’ CEO exits
Понедельник, 10 Ноябрь 2025 Отставка генерального директора Heritage Grocers: что значит для будущего компании

Анализ ключевых изменений в руководстве Heritage Grocers и их влияние на стратегию развития сети супермаркетов, специализирующейся на рынках с латиноамериканским уклоном.