Io (первая буква — заглавная «i») — скриптовый, объектно-ориентированный язык программирования с динамической типизацией. Язык был разработан Стивом Декортом () в 2002 годуIo — компактный объектно-ориентированный язык программирования (www.ibm.com). Реализация является кроссплатформенной, открытой (лицензия 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  — официальный сайт языка dekorte.com  — блог автора

Категория:Объектно-ориентированные языки программирования Категория:Скриптовые языки Категория:Языки с динамической типизацией Категория:Свободные компиляторы и интерпретаторы