Файл: Современные языки программирования (Понятие языков программирования и их свойства).pdf
Добавлен: 24.04.2023
Просмотров: 281
Скачиваний: 1
- Горячая замена кода позволяет проводить деплои без даунтайма.
- Lisp-подобная система макросов позволяет напрямую манипулировать AST, обеспечивая очень широкие возможности метапрограммирования, вплоть до поддержки кастомного синтаксиса.
Elixir и Phoenix набирают популярность, поскольку это сочетание позволяет легко создавать сложные надежные веб-приложения и API с хорошей поддерживаемостью, отличной производительностью и масштабируемостью. Вот почему Pinterest, Bleacher Reports и многие другие компании выбирают Elixir для ключевых частей инфраструктуры своих продуктов. Вы можете получить продуктивность без ущерба для производительности (или наоборот), чего не скажешь о большинстве других языков.
4) Crystal
Crystal является языком программирования общего назначения с девизом «Быстр как C, привлекателен как Ruby».
Это высокоуровневый, статически типизированный, компилируемый, полностью объектно-ориентированный язык программирования с передовым выводом типов и сборкой мусора.
Архитектурные цели Crystal:
- Синтаксис похожий на Ruby (но совместимость с ним не является целью).
- Статическая типизация, но без необходимости указания типа переменных или аргументов метода.
- Возможность вызывать C-код, написав биндинги к нему на Crystal.
- Возможность выполнения и генерации кода во время компиляции, чтобы избежать шаблонного кода (boilerplate).
- Компиляция в эффективный машинный код.
Crystal имеет уникальные функции, такие как:
- Каналы: Crystal использует каналы, вдохновленные CSP (так же, как Go) для достижения конкурентности. Он использует согласованные легковесные потоки, называемые Fibers, для достижения этой цели. Fiber легко создать с помощью ключевого слова spawn и сделать выполнение асинхронным/неблокирующим.
- Макросы: Crystal использует макросы, чтобы избежать шаблонного кода и обеспечить возможности метапрограммирования. Макросы очень мощные и раскрываются во время компиляции, то есть они не приводят к потери производительности.
- Выразительность: Код читают гораздо чаще, чем пишут. Благодаря Ruby, Crystal действительно выразителен и легок для понимания. Это облегчает обучение для новичков и окупается в долгосрочной перспективе, благодаря упрощению сопровождения кода.
Команда Crystal сама по себе полнофункциональна и поставляется с большим количеством встроенных инструментов. Она используется для создания нового проекта, компиляции, запуска тестов и многого другого. Там также есть встроенная утилита для автоматического форматирования кода. А еще Crystal play представляет интерактивную среду для быстрого прототипирования, подобно irb.