Hacker News Digest

Тег: #clojure

Постов: 3

Examples Are the Best Documentation (rakhim.exotext.com) 🔥 Горячее

Разработчики часто сталкиваются с тем, что официальная документация описывает функцию, но не показывает, как её использовать. Пример: вместо того, чтобы показать, как вызывать max() в Python, документация тратит абзацы на то, чтобы объяснить, что такое iterable и что значит key=. А ведь достаточно было бы показать, как передавать кастомную функцию сортировки в max().

Проект ClojureDocs берёт на себя роль «примеры — лучшая документация». Пользователи добавляют примеры к встроенным функциям, и это оказывается куда более полезным, чем формальное описание API. Примеры показывают, как вызывать функцию, какие есть подводные камни и какие есть альтернативы.

by Bogdanp • 09 октября 2025 г. в 19:34 • 361 points

ОригиналHN

#api#ci#clojure#documentation#python#testing

Комментарии (134)

  • Документация должна включать и примеры, и полное API-описание; оба формата дополняют, а не конкурируют.
  • Примеры важны для новичков, но не заменяют полное описание параметров и контрактов; примеры без спецификации приводят к тому, что разработчики вынуждены читать исходники.
  • Примеры должны быть живыми: если они не запускаются как часть CI или не покрыты тестами, они быстро устаревают и вводят в заблуждение.
  • Документация должна быть двух типов: краткий пример для быстрого старта и полное руководство для продвинутых пользователей.
  • Примеры должны быть частью тестов и наоборот: примеры в документации должны быть тестируемыми как часть CI.

Translating a Fortran F-16 Simulator to Unity3D (vazgriz.com)

Перевод симулятора F-16 из Fortran в Unity3D потребовал адаптации аэрокосмических конвенций под игровой движок. Модель полёта, основанная на данных аэродинамических труб и реализованная через дюжину таблиц поиска и математических уравнений, изначально использовала правостороннюю систему координат с осью X вперёд, Y вправо и Z вниз — в отличие от левостороннего Z-вверх подхода Unity. Ключевой задачей стало корректное преобразование осей и знаков без потери физической точности.

Процесс включал интерполяцию многомерных таблиц, расчёт тяги двигателя, аэродинамических сил и моментов, а также реализацию системы управления полётом с PID-контроллерами и ограничителями перегрузки. Несмотря на профессиональный бэкграунд в аэрокосмической отрасли, автор отмечает сложность верификации такой модели без доступа к реальным лётным данным. Готовый симулятор доступен на itch.io, демонстрируя практический компромисс между академической точностью и игровой доступностью.

by hggh • 26 сентября 2025 г. в 07:06 • 233 points

ОригиналHN

#aerospace#clojure#flight-simulation#fortran#javascript#pid-control#unity3d

Комментарии (111)

  • Участники обсуждают опыт работы с FORTRAN и его применение в аэрокосмической симуляции, включая исторические примеры и личные воспоминания.
  • Поднимаются вопросы о единицах измерения (например, узлы, слагы) и их конвертации, с критикой подхода автора и предложениями использовать метрическую систему.
  • Обсуждаются технические особенности языков программирования, такие как произвольные индексы массивов в FORTRAN и их аналоги в других языках.
  • Упоминаются альтернативные реализации симуляторов на JavaScript и Clojure, а также ссылки на открытые проекты вроде Falcon BMS.
  • Затрагиваются темы игровой ностальгии, сложностей моделирования физики и юмористические комментарии о единицах измерения (например, поронкусема).

The current state of LLM-driven development (blog.tolki.dev) 💬 Длинная дискуссия

LLM-разработка: краткий итог

  • Мифы: LLM не делают код продакшн-готовым, требуют понимания задачи и хорошо структурированных кодовых баз. Использование LLM снижает навыки чтения документации и глубокого мышления.
  • Агенты — это просто цикл «LLM → вызов локального API → ответ → LLM снова». Инструменты: навигация, редактирование, shell, поиск, MCP-серверы.
  • Проблемы продуктов
    • Нестабильность: модели и цены меняются еженедельно.
    • Нет детерминизма, приходится постоянно обновлять промпты и MCP.
  • Тесты
    • Python, TypeScript, Rust, Flutter, сложные рефакторинги — справляются.
    • Не справились: Token Field во Flutter (редкий компонент, сложное управление состоянием). Claude Opus 4.1 и GPT-5 провалили задачу.

Продукты

  • GitHub Copilot

    • Плюсы: быстрое автодополнение, стабильность, низкая цена.
    • Минусы: слабые «агенты», нет контекста всего проекта.
  • Claude Code Pro

    • Плюсы: лучший «умный» режим, хорошо работает в больших кодовых базах.
    • Минусы: дорого, медленно, иногда «теряется».
  • Gemini CLI / Jules

    • Плюсы: бесплатный CLI, быстрый.
    • Минусы: слабые модели, ограниченные возможности.
  • Kiro, Cursor, Windsurf

    • Плюсы: встроенные редакторы, удобные интерфейсы.
    • Минусы: дороже, часто баги, привязка к конкретному редактору.

Когда LLM полезны

  • Лучшие языки: Python, TypeScript/JavaScript, Go.
  • Лучшие задачи:
    • Репетитивный код, тесты, миграции.
    • Документация, примеры, объяснение legacy.
  • Плохо:
    • Редкие фреймворки, сложные UI, архитектурные решения.
    • Надёжность и безопасность.

Вывод
LLM — полезный инструмент для рутины и прототипов, но не заменяет мышление и глубокое понимание.

by Signez • 09 августа 2025 г. в 16:17 • 182 points

ОригиналHN

#claudecode#clojure#flutter#github-copilot#llm#python#rust#typescript

Комментарии (179)

  • Многие спорят с тезисом «использовать LLM в коде тривиально»: на практике нужны месяцы, чтобы понять, что делегировать, как формировать промпты и управлять контекстом.
  • Кто-то сравнивает LLM с «однорукими бандитами»: результат часто случаен, а «навыки» сводятся к удаче и базовому гуглению.
  • Другие делятся успешным опытом: при жёсткой архитектуре, тестах и узких промптах Claude Code и аналоги дают 9/10 полезных патчей.
  • Утверждение, что LLM «заставляют» выбирать мейнстек, опровергают разработчики на Clojure, D и других нишевых языках.
  • Общий вывод: LLM — мощный инструмент, но требует экспериментов, критического ревью и понимания своих ограничений; без этого он быстро превращается в источник технического долга.