Io

Поделись знанием:
Перейти к: навигация, поиск
Io
Класс языка:

объектно-ориентированный, прототипный

Появился в:

2002

Автор:

Стив Декорте

Расширение файлов:

.io

Система типов:

динамическая

Основные реализации:

Io, Io.Net

Испытал влияние:

Smalltalk, NewtonScript[en], Self, Lua, Lisp, Act1

Повлиял на:

Ioke, Restricted Io

Сайт:

[iolanguage.org/ age.org]

Io (первая буква — заглавная «i») — скриптовый, чисто объектно-ориентированный язык программирования с динамической типизацией. Язык был разработан Стивом Декортом (англ. Steve Dekorte) в 2002 году[1]. Реализация является кросплатформенной, открытой (лицензия BSD) и рассчитана на лёгкость встраивания в качестве скриптового языка.





Особенности

В отличие от Perl, PHP, Python и Ruby, в Io не существует такого понятия, как класс объекта. Вместо этого применены прототипы, как в Self, Lua и JavaScript.

Таким образом, для экземпляров объектов, классов и пространств имён в Io используются прототипы. Для операторов, вызовов методов, присваивания и доступа к переменным используются сообщения.

Примеры

Следующий код печатает в консоли «Hello world!» посредством передачи строке сообщения println:

"Hello world!" println

Реализация шаблона проектирования «одиночка»:

Singleton := Object clone //Объекты создаются (":=") клонированием существующих объектов
Singleton clone = Singleton //Значение слота clone заменяется ("=") ссылкой на сам объект

Напишите отзыв о статье "Io"

Примечания

  1. [www.ibm.com/developerworks/ru/library/l-io_01/ Io — компактный объектно-ориентированный язык программирования] (www.ibm.com)

Литература

  • Bruce Tate. Io // [books.google.com/books?id=zCP9RAAACAAJ Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages]. — Pragmatic Bookshelf, mar 2010. — P. 60-96. — 336 p. — ISBN 9781934356593.
  • [jackmyers.info/docs/ObjectOrientedImplementationApproaches.pdf 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

Ссылки

  • [www.iolanguage.com/ iolanguage.com]  (англ.) — официальный сайт языка
  • [www.dekorte.com/ dekorte.com] (англ.) — блог автора
  • [synrc.com/research/io/doc/overview.htm Язык программирования Io]. synrc research center. Проверено 9 июля 2012. [www.webcitation.org/69gnAykqa Архивировано из первоисточника 5 августа 2012].


Отрывок, характеризующий Io

Пржебышевский с почтительной, но достойной учтивостью пригнул рукой ухо к Вейротеру, имея вид человека, поглощенного вниманием. Маленький ростом Дохтуров сидел прямо против Вейротера с старательным и скромным видом и, нагнувшись над разложенною картой, добросовестно изучал диспозиции и неизвестную ему местность. Он несколько раз просил Вейротера повторять нехорошо расслышанные им слова и трудные наименования деревень. Вейротер исполнял его желание, и Дохтуров записывал.
Когда чтение, продолжавшееся более часу, было кончено, Ланжерон, опять остановив табакерку и не глядя на Вейротера и ни на кого особенно, начал говорить о том, как трудно было исполнить такую диспозицию, где положение неприятеля предполагается известным, тогда как положение это может быть нам неизвестно, так как неприятель находится в движении. Возражения Ланжерона были основательны, но было очевидно, что цель этих возражений состояла преимущественно в желании дать почувствовать генералу Вейротеру, столь самоуверенно, как школьникам ученикам, читавшему свою диспозицию, что он имел дело не с одними дураками, а с людьми, которые могли и его поучить в военном деле. Когда замолк однообразный звук голоса Вейротера, Кутузов открыл глава, как мельник, который просыпается при перерыве усыпительного звука мельничных колес, прислушался к тому, что говорил Ланжерон, и, как будто говоря: «а вы всё еще про эти глупости!» поспешно закрыл глаза и еще ниже опустил голову.
Стараясь как можно язвительнее оскорбить Вейротера в его авторском военном самолюбии, Ланжерон доказывал, что Бонапарте легко может атаковать, вместо того, чтобы быть атакованным, и вследствие того сделать всю эту диспозицию совершенно бесполезною. Вейротер на все возражения отвечал твердой презрительной улыбкой, очевидно вперед приготовленной для всякого возражения, независимо от того, что бы ему ни говорили.
– Ежели бы он мог атаковать нас, то он нынче бы это сделал, – сказал он.
– Вы, стало быть, думаете, что он бессилен, – сказал Ланжерон.
– Много, если у него 40 тысяч войска, – отвечал Вейротер с улыбкой доктора, которому лекарка хочет указать средство лечения.
– В таком случае он идет на свою погибель, ожидая нашей атаки, – с тонкой иронической улыбкой сказал Ланжерон, за подтверждением оглядываясь опять на ближайшего Милорадовича.
Но Милорадович, очевидно, в эту минуту думал менее всего о том, о чем спорили генералы.
– Ma foi, [Ей Богу,] – сказал он, – завтра всё увидим на поле сражения.
Вейротер усмехнулся опять тою улыбкой, которая говорила, что ему смешно и странно встречать возражения от русских генералов и доказывать то, в чем не только он сам слишком хорошо был уверен, но в чем уверены были им государи императоры.
– Неприятель потушил огни, и слышен непрерывный шум в его лагере, – сказал он. – Что это значит? – Или он удаляется, чего одного мы должны бояться, или он переменяет позицию (он усмехнулся). Но даже ежели бы он и занял позицию в Тюрасе, он только избавляет нас от больших хлопот, и распоряжения все, до малейших подробностей, остаются те же.
– Каким же образом?.. – сказал князь Андрей, уже давно выжидавший случая выразить свои сомнения.