Русская Википедия:Io
Шаблон:Карточка языка программирования
Io (первая буква — заглавная «i») — скриптовый, чисто объектно-ориентированный язык программирования с динамической типизацией. Язык был разработан Стивом Декортом (Шаблон:Lang-en) в 2002 году[1]. Реализация является кроссплатформенной, открытой (лицензия BSD) и рассчитана на лёгкость встраивания в качестве скриптового языка.
Особенности
- минималистический синтаксис;
- абсолютно каждая сущность является объектом;
- всё основано на передаче сообщений (даже арифметические операции и присваивание — это передача сообщения объекту);
- параллелизм, основанный на модели акторов.
В отличие от Perl и PHP, в Io класс не имеет принципиального отличия от объекта, является первоклассным объектом языка. Наследование реализовано прототипами, как в Self, Lua и JavaScript. Поддерживается множественное наследование.
Таким образом, для экземпляров объектов, классов и пространств имён в Io используются прототипы. Для операторов, вызовов методов, присваивания и доступа к переменным используются сообщения.
Примеры
Следующий код печатает в консоли «Hello world!» посредством передачи строке сообщения println:
"Hello world!" println
Реализация шаблона проектирования «одиночка»:
Singleton := Object clone //Объекты создаются (":=") клонированием существующих объектов
Singleton clone = Singleton //Значение слота clone заменяется ("=") ссылкой на сам объект
Примечания
Литература
- Шаблон:Книга
- Object-Oriented Implementation Approaches of Pure Object-Oriented Languages: A Comparison among Smalltalk, Eiffel, Ruby and Io, Christopher Bowen, Kevin Desmond, Jesse Kurtz, Jack Myers
Ссылки
- iolanguage.com Шаблон:Ref-en — официальный сайт языка
- dekorte.com Шаблон:WaybackШаблон:Ref-en — блог автора
- Шаблон:Cite web
Шаблон:Compu-lang-stub Шаблон:Rq Шаблон:Языки программирования Шаблон:Объектно-ориентированные языки
- Страницы, использующие устаревший тег source
- Русская Википедия
- Объектно-ориентированные языки программирования
- Скриптовые языки
- Языки с динамической типизацией
- Свободные компиляторы и интерпретаторы
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Википедия
- Статья из Википедии
- Статья из Русской Википедии