Эликсир для программистов на 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 Интересно Более 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
Admin Интересно Неисправленная уязвимость в Langflow активно эксплуатируется для удалённого выполнения кода. Новости в сети 0
Admin Интересно Apple ограничила доступ к новой Siri для пользователей в Европе. Новости в сети 0
Admin Интересно Евросоюз потребовал от Meta открыть WhatsApp для чат-ботов конкурентов. Новости в сети 0
Admin Интересно Positive Technologies представит платформу Киберпогода для защиты бизнеса. Новости в сети 0
Admin Интересно CATL представила платформу для совместимости натрий-ионных и литий-ионных аккумуляторов. Новости в сети 0
Admin Интересно Безопасность не для всех. Кому Let’s Encrypt официально запретил выдавать бесплатные SSL-сертификаты. Новости в сети 0
Admin Интересно Google обновила NotebookLM, сделав его более интерактивным и удобным для работы с источниками. Новости в сети 0
Admin Интересно Anthropic выпустила Claude Fable 5 — модель ИИ, ранее считавшуюся слишком рискованной для публичного использования. Новости в сети 0
Admin Интересно Математика больше не для гениев-одиночек — нобелевский лауреат доказал, что ИИ и толпа справляются с задачами быстрее. Новости в сети 0
Admin Интересно Meta будет использовать данные сторонних бизнесов для персонализации ленты и ИИ. Новости в сети 0
Admin Интересно Легализация или тотальный контроль? Власти готовят правила для «белых хакеров». Новости в сети 0
Admin Интересно Уязвимость в WinRAR используется российскими группами для кражи данных в Украине. Новости в сети 0
Admin Интересно Китайские хакеры используют сетевые устройства для скрытых атак. Новости в сети 0
Admin Интересно Вымогатели Pink используют голосовой фишинг для атак на корпоративные системы. Новости в сети 0
Admin Интересно Группировка UNC3753 использует телефонные звонки и личные визиты для кражи данных в США. Новости в сети 0
Admin Интересно Visual Studio Code внедряет двухчасовую задержку обновления расширений для защиты от угроз. Новости в сети 0
Admin Интересно Хакеры используют телефонные звонки и личное обаяние для взлома бизнеса. Новости в сети 0
Admin Интересно OpenAI внедряет режим Lockdown Mode в ChatGPT для повышения безопасности. Новости в сети 0
Admin Интересно Cash App представила новый аксессуар для бесконтактных платежей. Новости в сети 0
Admin Интересно Google запустила профили поиска для издателей и авторов. Новости в сети 0
Admin Интересно Anthropic представила инструмент для оценки рисков использования ИИ. Новости в сети 0
Admin Интересно Китайские учёные создали сверхбыструю память для квантовых компьютеров. Новости в сети 0
Admin Интересно Meta запустила ИИ-советника для авторов Facebook. Новости в сети 0
Admin Интересно Google представила Gemma 4 12B — мощную модель ИИ для локального использования. Новости в сети 0
Admin Интересно Хакерская группа PCPJack захватила 230 серверов AWS, Google Cloud и Azure для создания скрытой сети SMTP. Новости в сети 0
Admin Интересно Пентагон планирует создание кибервойск для противостояния России и Китаю. Новости в сети 0
Admin Интересно Мошенники используют поддельные сайты с ссылками на GitHub для распространения вредоносного ПО. Новости в сети 0
Admin Интересно OpenAI представила GPT-Rosalind для анализа биологических угроз. Новости в сети 0
Admin Интересно Создан ИИ-червь, который распространяется самостоятельно и выбирает цели для атаки. Новости в сети 0
Admin Интересно Google запускает сервис Dreambeans для персонализированных рекомендаций. Новости в сети 0
Admin Интересно Сбер представил оптический вычислитель для задач искусственного интеллекта. Новости в сети 0
Admin Интересно Мессенджеры собирают больше данных, чем нужно для переписки. Новости в сети 0
Admin Интересно К 2030 году дата-центры ИИ могут потреблять воду, достаточную для 1,3 млрд человек. Новости в сети 0
Admin Интересно Фейковые сайты имитируют открытые проекты для распространения вредоносного ПО. Новости в сети 0
Admin Интересно Google DoubleClick используется в новой кампании для распространения вредоносного ПО. Новости в сети 0
Admin Интересно Иранская разведка использует Telegram для вербовки шпионов и поджигателей. Новости в сети 0
Admin Интересно Детские данные: долгосрочный риск для идентичности. Новости в сети 0
Admin Интересно Embarcadero представила ИИ-ассистента Kai для Delphi и C++Builder. Новости в сети 0
Admin Интересно Китайская разведка использует облако Microsoft для кибершпионажа. Новости в сети 0

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