Hacker News Digest

Тег: #apl

Постов: 2

Learning to read Arthur Whitney's C to become smart (2024) (needleful.net) 🔥 Горячее

Автор изучает необычный стиль написания кода Артура Уитни, создателя языков программирования A, K, Q и высокопроизводительных баз данных kdb и Shakti, используемых в финансовой индустрии. Основное внимание уделено компактному интерпретатору языка K размером всего около 50 строк на C, который демонстрирует уникальный подход Уитни к программированию. Код насыщен макросами и использует необычные синтаксические конструкции C, что делает его трудным для понимания, но потенциально эффективным для быстрого восприятия всей логики целиком.

Автор мотивирован изучению этого стиля кода по нескольким причинам: желание писать более компактный код, возможность более быстрого понимания сложных систем при концентрации всей логики в одном месте, а также то, что чтение кода стало важнее его написания в его работе. Интересно, что Уитни использует тип char * как для строк, так и для целых чисел, что является одним из его необычных подходов. Несмотря на первоначальную сложность, автор смог разобраться в большинстве частей кода к концу изучения.

by gudzpoz • 03 ноября 2025 г. в 16:23 • 332 points

ОригиналHN

#c#k#q#kdb#apl#dsl#finance

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

  • Код стиля Артура Уитни (Arthur Whitney) — это микро-DSL на препроцессоре C, который вдохновлялся APL; читать его лучше всего, если вы знакомы с APL, иначе он может казаться нечитаемым.
  • Подход «сначала напиши, потом сделай это читаемым» противоположен современному подходу «сначала сделай это читаемым, потом напиши код».
  • Сторонники и противники такого стиля спорят о том, является ли это «искусством» или «самообфускацией»; в то время как другие считают, что это просто вопрос привычки и что читаемость может быть улучшена с помощью современных инструментов.
  • Некоторые комментаторы отмечают, что стиль кода Уитни может быть трудным для чтения, но он также может быть более выразительным и эффективным для тех, кто привык к APL.
  • В конце концов, обсуждение пришло к выводу, что важно не только то, как стиль кода влияет на читаемость и поддерживаемость, но и то, как команда работает вместе, чтобы поддерживать и развивать код в течение длительного времени.

Zoo of array languages (ktye.github.io)

Пользователь ktye поделился информацией о языке программирования K, который представляет собой диалект APL, оптимизированный для быстрых вычислений. Язык использует синтаксис, похожий на APL, с операторами для сложения, вычитания, умножения, деления и других операций, включая специальные функции вроде decode и encode.

Код включает примеры работы с массивами, включая создание, манипуляции и агрегацию данных. Есть поддержка условных операторов, циклов и работы со строками. Также представлены ссылки на документацию и другие ресурсы, включая реализацию на разных платформах.

В сообщении показано, что K — это лаконичный и выразительный язык, подходящий для работы с данными и математическими вычислениями. Он имеет функционал, схожий с другими языками программирования, но с акцентом на краткость и эффективность. Интересно, что пользователь адаптировал язык для разных платформ, что делает его универсальным.

by mpweiher • 14 октября 2025 г. в 11:01 • 160 points

ОригиналHN

#k#apl#j#q#bqn#uiua#matlab#r#array#functional

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

  • Обсуждение охватывает APL, J, K, Q, BQN, Uiua и другие языки массивов, но не упоминает R, MATLAB, Nial и другие, что вызывает удивление.
  • Участники обсуждают, какие языки считаются "массивными", и почему некоторые, такие как MATLAB и R, не упоминаются.
  • Обсуждается, какие языки считаются "массивными", и почему некоторые, такие как MATLAB и R, не упоминаются.
  • Участники обсуждают, какие языки считаются "массивными", и почему некоторые, такие как MATLAB и R, не упоминаются.
  • Участники обсуждают, какие языки считаются "массивными", и почему некоторые, такие как MATLAB и R, не упоминаются.