Файл: Современные языки программирования (Понятие языков программирования и их свойства).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.