В мире разработки программного обеспечения редко можно увидеть, как зрелый, динамический язык добавляет мощную, статическую систему типов без ущерба для своей философии и существующего кода. 3 июня 2026 года команда Elixir сделала именно это, выпустив версию 1.20. Главное нововведение — постепенная типизация (gradual typing), которая обещает найти в вашем коде «верифицированные баги» (verified bugs — ошибки, гарантированно ведущие к падению в рантайме) без необходимости писать аннотации типов.
Рубрика «erlang»
Эволюция, а не революция: релиз Elixir 1.20 и почему он вас заинтересует
2026-07-13 в 9:05, admin, рубрики: BEAM, Elixir, erlang, timeweb_статьи, релиз, система типов, типизацияErlang-совместимые битовые строки в Go: создаём funbit
2025-10-08 в 10:14, admin, рубрики: bit-level, bitstring, erlang, Go, parser, protocolsTL;DR: Мы перенесли битовый синтаксис Erlang в Go, чтобы парсить бинарные протоколы без боли. Получилась библиотека funbit — декларативный парсер с поддержкой не выровненных по байтам данных.
Предыстория
В процессе разработки funterm — мультиязыкового REPL, объединяющего Python, Lua, JavaScript и Go — мы столкнулись с необходимостью эффективной работы с бинарными данными. Нужно было парсить сетевые протоколы, обрабатывать структурированные данные и работать с битовыми полями на уровне отдельных битов.
Что не так с ручным парсингом
Elixir - язык, вызвавшийся заново открыть Erlang современному миру. Синтаксис без приятных сердцу, но уже архаичных знаков пунктуации; культура разработки с особым вниманием к качеству и удобству инструментов; полноценный набор решений для написания web-сервисов; стандартная библиотека без груза в несколько десятилетий и настоящие макросы.
Языки программирования, взорвавшие мой мозг
2024-11-06 в 13:01, admin, рубрики: BASIC, erlang, java, ocaml, opalanf, Prolog, Rust, turbo pascal
Я программирую с восьми лет, и основную часть жизни был разработчиком в том или ином качестве. На протяжении своей жизни кодера, как любителя, так и профессионала, я изучил множество языков программирования, которые казались клонами друг друга. Но было и несколько языков, изменивших мой взгляд на программирование, а то и мышление в целом.
Я перечислю их в том порядке, в котором узнавал о них. В большинстве случаев я буду ассоциировать функциональность с языками, в которых они появились не впервые. Это не ошибка, я просто хочу показать, когда узнал об этих возможностях.Читать полностью »
От Ericsson к WhatsApp: история Erlang
2023-07-21 в 13:00, admin, рубрики: Elixir/Phoenix, Ericsson, erlang, Erlang/OTP, ruvds_перевод, Блог компании RUVDS.com, Производство и разработка электроники, Разработка систем связи, связь, телекоммуникации
Эта статья посвящена увлекательной истории развития одной технологии, создатели которой в конечном счёте от неё отказались, и она волей судьбы попала в руки заботливых и верных энтузиастов. В итоге, почти через тридцать лет после своего рождения, она стала основой одного из самых значительных и прибыльных стартапов 2010-х.
Сегодня эта технология играет ключевую роль в сервисах, используемых миллиардами людей по всему миру.
Речь идёт о языке программирования Erlang.Читать полностью »
Хождение по граблям в чистом поле или как собрать MAC-адреса близлежащих Wi-Fi-устройств
2020-05-22 в 15:42, admin, рубрики: Airodump-ng, diy или сделай сам, erlang, Erlang/OTP, IoT, OpenWrt, wi-fi, Беспроводные технологии, Разработка для интернета вещейВсе свои публичные выступления (благо, их не так много) я начинаю с явного или неявного упоминания тезиса “Наша индустрия — сложная, проблемы могут вскрыться на любом, даже самом очевидном шаге, а оптимистично предполагать, что все будет просто и легко — наивно”. Как ни странно, эта простая мысль, полученная многолетним набиванием шишек, порой является откровением и для более опытных специалистов, хотя, казалось бы, весь оголтелый задор и вера в непогрешимость собственных идей и практик должна была выветриться уже давно. Расскажу байку на этот счет, пример простого, с первого взгляда, проекта.
Логическая репликация из PostgreSQL в Erlang
2019-12-29 в 14:22, admin, рубрики: erlang, Erlang/OTP, postgresql, replicationДовольно типичная схема при разработке системы, когда основная логика обработки сосредоточена в приложении (в нашем случае Erlang), а данные для работы этого приложения (настройки, профили пользователей и т. д.) в базе данных (PostgreSQL). Приложение Erlang кэширует настройки в ETS для ускорения обработки и снижения нагрузки на БД путём отказа от постоянных запросов. При этом изменение этих данных происходит через отдельный (возможно, внешний) сервис.
В таких ситуациях встаёт задача поддержания закэшированных данных в актуальном состоянии. Есть разные подходы для решения этой задачи. Один из них — это логическая репликация PostgreSQL. О нем и пойдёт речь ниже.
Эксперимент VTrade. Часть 3: Книга ордеров. Обработка и хранение торговой информации
2019-12-27 в 14:37, admin, рубрики: bid-ask spread, distributed systems, erlang, financial exchanges, order book, Анализ и проектирование систем, Программирование
В прошлой статье цикла мы познакомились с типами биржевых заявок. Сегодня мы разберем книгу ордеров, обработку заявок и вопросы связанные с организацией хранения торговой информации.
Elixir как цель развития для python async
2019-12-11 в 8:48, admin, рубрики: async/await, asyncio, Elixir, erlang, Erlang/OTP, python, twisted, Блог компании Конференции Олега Бунина (Онтико), Программирование, Разработка веб-сайтов, событийное программированиеВ книге «Python. К вершинам мастерства» Лучано Рамальо описывает одну историю. В 2000 году Лучано проходил курсы, и однажды в аудиторию заглянул Гвидо ван Россум. Раз подвернулся такой случай, все стали задавать ему вопросы. На вопрос о том, какие функции Python заимствовал из других языков, Гвидо ответил: «Все, что есть хорошего в Python, украдено из других языков».
Это действительно так. Python давно живет в контексте других языков программирования и впитывает концепции из окружения: asyncio позаимствован, благодаря Lisp появились лямбда-выражения, а Tornado скопировали с libevent. Но если у кого и стоит заимствовать идеи, так это у Erlang. Он создан 30 лет назад, и все концепции в Python, которые сейчас реализуются или только намечаются, в Erlang давно работают: многоядерность, сообщения как основа коммуникации, вызовы методов и интроспекция внутри живой системы на продакшн. Эти идеи в том или в ином виде находят своё проявление в системах вроде Seastar.io.

Если не брать во внимание Data Science, в котором Python сейчас вне конкуренции, то все остальное уже реализовано в Erlang: работа с сетью, обработка HTTP и веб-сокетов, работа с базами данных. Поэтому Python-разработчикам важно понимать, куда будет двигаться язык: по дороге, которую уже прошли 30 лет назад.
Чтобы разобраться в истории развития других языков и понять, куда двигается прогресс, мы пригласили на Moscow Python Conf++ Максима Лапшина (erlyvideo) — автора проекта Erlyvideo.ru.
Под катом текстовая версия этого доклада, а именно: в каком направлении вынуждена развиваться система, которая продолжает мигрировать от простого линейного кода к libevent и дальше, что общего и в чем отличия между Elixir и Python. Отдельное внимание уделим тому, как на разных языках программирования и платформах управлять сокетами, потоками исполнения и данными.
Читать полностью »
Монады в Erlang
2019-09-09 в 16:01, admin, рубрики: erlang, Erlang mi fa stare bene, Erlang/OTP, monads, Программирование, функциональное программирование
На Хабре можно найти много публикаций, раскрывающих как теорию монад, так и практику их применения. Большинство этих статей ожидаемо про Haskell. Я не буду в n-й раз пересказывать теорию. Сегодня мы поговорим про некоторые проблемы Erlang, способы их решения с помощью монад, частичного применения функций и синтаксического сахара из erlando – классной библиотеки от команды RabbitMQ.

