Динамический язык программирования
-
Определение динамических языков программирования
- Динамические языки программирования — это языки, которые выполняют действия во время выполнения, а не во время компиляции.
- Они позволяют добавлять, изменять и расширять программы, объекты и типы данных.
-
Эмуляция динамических языков
- Динамические функции могут быть эмулированы на других языках с разной сложностью и производительностью.
-
Функции динамических языков
- Язык программирования Lisp был первым, кто реализовал многие динамические функции.
- Динамические языки часто имеют динамическую типизацию, но это не всегда так.
- Динамические языки иногда называют языками сценариев, но это не является точным определением.
-
Реализация и оценка
- Функция eval позволяет выполнять код на языке во время выполнения.
- Эрик Мейер и Питер Дрейтон различают генерацию кода во время выполнения и динамическую загрузку.
-
Изменение времени выполнения объекта
- Динамические языки позволяют изменять типы объектов и их поведение во время выполнения.
-
Вывод типа и распределение памяти
- Динамические языки используют вывод типов на основе значений для интерпретации.
- Они неявно выделяют память на основе операций программы.
-
Рефлексия и макросы
- Рефлексия позволяет анализировать типы и метаданные данных.
- Макросы сочетают самоанализ кода с eval и предоставляют доступ к внутренней работе языка.
-
Примеры динамических языков
- Примеры включают Common Lisp, JavaScript, Python, Ruby и другие.
-
Сравнение и дальнейшее чтение
- Статья содержит список популярных динамических языков и ссылки на дополнительные ресурсы.
Полный текст статьи: