Эликсир для программистов на Python

A

Android

36E72FED 0512 4809 9956 7BDD672EBDC8


Python - мой любимый язык. Python - это первый язык, который я выучил после тщательного отбора много лет назад, и почти всегда он используется в работе.

Я знаю и другие языки и пробовал еще немного, но я никогда не использую их, так как мне это не нужно. Исключением является JavaScript для разработки веб-интерфейса, поскольку здесь нет выбора (хорошо, есть несколько вариантов, но они сложны).

Python настолько прост в использовании, эффективен, вездесущ и хорошо поддерживается, что мне не нужно смотреть на другие языки. Он имеет по крайней мере одну хорошую библиотеку или структуру для каждого домена, поэтому я всегда могу быть уверен, что мне не нужно начинать с нуля. Бэкэнды, встроенные системы, веб-приложения, настольные приложения, даже приложения для Android. Поскольку Python - это Python, существует реализация для любой среды, поэтому в Python можно работать с экосистемами других языков.

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

Программирование на Python было настолько хорошим, что стало скучно. Я пробовал некоторые языки здесь и там, но ничего не застряло. Мне пришлось ждать, пока Эликсир найдет что-то достаточно интересное.
Elixir - это функциональный язык высокого уровня, который компилируется в Erlang. Erlang существует с 1986 года, и это язык, разработанный с учетом конкретной области: телекоммуникации. Erlang оказался вполне способным и вне этого, и с современными стеками, опирающимися на множество мелких компонентов, Erlang стал интересным выбором. Эликсир сделал это тоже красиво.

В Elixir есть макросы, которые являются более жесткой формой метапрограммирования, но также и более мощными. Метапрограммирование Python может иметь большое значение, но есть структуры, которые можно упростить только с помощью макроса.

В Elixir есть Phoenix, одна из самых совершенных веб-фреймворков благодаря встроенным возможностям веб-сокетов. Библиотека live view, недавнее дополнение к экосистеме Elixir, позволяет использовать веб-сокеты и Elixir вместо AJAX, что позволяет писать веб-приложения без написания JavaScript. В Python есть Django, и хотя люди из Python могут быть более чем довольны им, я боюсь этого, так как это заставляет вас делать вещи в стиле Django и только так. Феникс, с другой стороны, остается в стороне.

Elixir имеет Plug (http-серверы) и Ecto (ORM). Они не являются частью стандартной библиотеки, но поддерживаются командой Elixir. Наличие стандартных библиотек для общих функций означает, что вам не нужно изучать 4 разных библиотеки для одной и той же работы. В некоторых случаях они могут не подходить для проекта, но разработчики были достаточно внимательны, чтобы сделать их настраиваемыми и пригодными для повторного использования. Чтобы быть немного более техническими, Plug и Ecto - это в основном наборы макросов и интерфейсов, поэтому они невероятно многократно используются. В Python только запросы достигли аналогичного статуса; для http-серверов существует множество фреймворков, каждый со своей реализацией. Существует как минимум четыре основных ORM (Django, SqlAlchemy, Peewee, Pony).

Эликсир компилируется в Эрланг. Erlang запускает собственную виртуальную машину, BEAM. BEAM перезапускается самостоятельно в случае ошибки, поддерживает распределение по узлам и параллелизм. Он имеет ETS и другой механизм для хранения данных в памяти, почти как встроенный Redis. Есть и другие функции, но это болевые точки Python при развертывании приложения.

Благодаря BEAM Elixir может быть развернут без докера, что устраняет уровень сложности из стека без каких-либо недостатков. Python без докера, это почти самоубийство.

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

У Elixir есть и другие возможности, но именно эти имеют реальное значение при сравнении с Python. В нем больше понятий и больше сложности, но также его сложнее освоить. Пока что это был единственный недостаток, который влияет на мою работу.
Надеюсь эта информация была вам полезна.
 
Похожие темы
Admin Интересно Новый загрузчик OXLOADER использует вредоносную рекламу Google для распространения CastleStealer. Новости в сети 0
Admin Интересно Более 4300 устаревших роутеров захвачены вредоносным ПО AryStinger для создания скрытой инфраструктуры. Новости в сети 0
Admin Интересно Epic Games представила систему контроля версий Lore для работы с большими бинарными файлами. Новости в сети 0
Admin Интересно ИИ научился создавать белковые оболочки для доставки лекарств. Новости в сети 0
Admin Интересно Китай представил переносные лазеры для борьбы с дронами. Новости в сети 0
Admin Интересно GitHub стал платформой для распространения вредоносного ПО через поддельные репозитории. Новости в сети 0
Admin Интересно Хакеры эксплуатируют уязвимость в плагине Gravity SMTP для WordPress, чтобы получить доступ к API-ключам. Новости в сети 0
Admin Интересно Группировка Gentlemen разработала инструменты для отключения антивирусов на 48 продуктах. Новости в сети 0
Admin Интересно NASA тестирует новый прототип ровера для сложных лунных и марсианских условий. Новости в сети 0
Admin Интересно Дешёвые ТВ-приставки могут использоваться для обхода блокировок и сбора данных. Новости в сети 0
Admin Интересно Positive Technologies представила платформу «Киберпогода» для прогнозирования атак через внешнюю бизнес-экосистему. Новости в сети 0
Admin Интересно Самый быстрый радиотелескоп в истории частично сделан из форм для выпечки. Новости в сети 0
Admin Интересно F5 выпустила исправления для двух критических уязвимостей в NGINX Open Source. Новости в сети 0
Admin Интересно Microsoft раскрыла детали кампании вредоносного ПО Windows Clipper, использующего USB LNK червя и Tor для управления. Новости в сети 0
Admin Интересно Хакеры DragonForce используют Microsoft Teams для скрытия трафика бэкдора. Новости в сети 0
Admin Интересно Roblox стал мишенью для организованных атак на игры. Новости в сети 0
Admin Интересно Обнаружены новые версии бэкдора SprySOCKS для Windows. Новости в сети 0
Admin Интересно Вредоносные плагины JetBrains крадут ключи API для искусственного интеллекта. Новости в сети 0
Admin Интересно Новая система Black Recon обеспечивает непрерывную разведку для бронетехники. Новости в сети 0
Admin Интересно Китайский бэкдор SprySOCKS теперь доступен и для Windows. Новости в сети 0
Admin Интересно Обнаружены новые версии бэкдора SprySOCKS для Windows. Новости в сети 0
Admin Интересно Северокорейские хакеры используют поддельные уведомления Microsoft для распространения вредоносного ПО NarwhalRAT. Новости в сети 0
Admin Интересно Эстония вводит карантин для писем из зоны .ru. Новости в сети 0
Admin Интересно Cisco выпустила обновления для активно эксплуатируемой уязвимости в SD-WAN Manager. Новости в сети 0
Admin Интересно SQL Server 2025: новые функции ИИ стали инструментом для кражи данных. Новости в сети 0
Admin Интересно Северокорейские хакеры используют инструменты разработчиков для распространения вредоносного ПО. Новости в сети 0
Admin Интересно Обнаружена критическая уязвимость в ядре Linux для arm64. Новости в сети 0
Admin Интересно Данные из Pokémon Go использовали для обучения навигационного ИИ для военных дронов. Новости в сети 0
Admin Интересно Великобритания запретила доступ к социальным сетям для лиц младше 16 лет. Новости в сети 0
Admin Интересно Мошенники используют фейковые предложения в Facebook для обмана пользователей Ближнего Востока и Северной Африки. Новости в сети 0
Admin Интересно Физик создал мини-вселенную из атомов для изучения природы времени. Новости в сети 0
Admin Интересно Создатели Signal представили Encrypted Spaces — систему для создания приватных приложений для совместной работы. Новости в сети 0
Admin Интересно Канада ужесточает правила для соцсетей и нейросетей. Новости в сети 0
Admin Интересно В США доставили гигантский магнит для термоядерного реактора. Новости в сети 0
Admin Интересно Anthropic отключила доступ к своим моделям ИИ для иностранных пользователей по требованию США. Новости в сети 0
Admin Интересно Хакеры используют гигантские файлы для обмана антивирусов. Новости в сети 0
Admin Интересно Инженеры убрали окна в самолёте Phantom 3500 для улучшения аэродинамики. Новости в сети 0
Admin Интересно Google собирает новую базу данных для развития искусственного интеллекта. Новости в сети 0
Admin Интересно Учёные создали тест из 1490 рабочих задач для ИИ. Лидеры индустрии справились только с четвертью. Новости в сети 0
Admin Интересно Более 400 пакетов Arch Linux AUR были скомпрометированы для установки вредоносного ПО. Новости в сети 0
Admin Интересно ФБР построило учебный город для обучения агентов борьбе с хакерами. Новости в сети 0
Admin Интересно В США создали систему для мгновенного определения состава летящих объектов. Новости в сети 0
Admin Интересно Северокорейские хакеры используют поддельные вакансии для кражи криптовалюты. Новости в сети 0
Admin Интересно Энтузиаст создал медиаплеер для фанатов эпохи VHS. Новости в сети 0
Admin Интересно Шри-Ланка становится новой базой для мошеннических сетей. Новости в сети 0
Admin Интересно Китайский ботнет JDY активно использует новые уязвимости для атак на США. Новости в сети 0
Admin Интересно GitHub отключит скрипты установки npm по умолчанию для предотвращения атак на цепочку поставок. Новости в сети 0
Admin Интересно В США начали испытывать первый в мире препарат для омоложения клеток глаза. Новости в сети 0
Admin Интересно Хакеры используют TikTok для распространения вредоносного ПО. Новости в сети 0
Admin Интересно Ivanti, Fortinet и SAP выпустили исправления для критических уязвимостей. Новости в сети 0

Название темы