Icon (язык программирования)

Материал из Википедии — свободной энциклопедии

(Перенаправлено с Icon)
Перейти к: навигация, поиск
Icon
Семантика:

мультипарадигменный: императивный, логический

Тип исполнения:

интерпретатор

Появился в:

1974 г.

Автор(ы):

Ralph E. Griswold

Типизация данных:

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

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

Icon, Jcon, Unicon

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

Снобол

Icon — язык программирования, унаследовавший идеологию более раннего языка того же автора Снобол. Название языка не имеет ничего общего с «иконками», а является сокращением от слова "iconoclastic" (иконоборец), используемом в смысле борьбы с конформизмом в разработке языков программирования.

Язык Icon имеет много общего, роднящего его с языками логического программирования, так Christopher пишет: «Самое большое различие между Icon и другими языками программирования — это то, что выражения в Icon — генераторы».

Пример использования генератора:

    procedure main()
    L:=["1","22","333"] # Список строк
    every writes(" ",! L)
    end
    ----
    Выход: 1 22 333

Язык не является типизированным, имеет встроенные мощные типы данных. Процедуры в Icon'е относятся к величинам первого класса (first class values), что означает возможность присваивания переменным значений самих процедур, а не результатов их выполнения. Существует механизм со-выражений (co-expression), позволяющий создавать сопрограммы. Также Icon распространяется в соответствии с лицензией GPL.

Идеи взятые и опробованные с языка Icon и Снобол были впоследствии (естественно, с некоторыми упрощениями, оптимизирующими выполнение по скорости) перенесены[источник не указан 52 дня] в язык C, а также, следовательно, в Unix-среду и многие другие языки программирования (это особенно касается конструкций содержащих && или ||, а также регулярных выражений), например:

[ $ringing != 0 ]&&echo Phone ringing!!!

Другой пример, пусть есть конструкия в shell:

 xview -root `gtk-shell -t "Which image?" -fs`

Даже если вы не выберете имя файла-картинки, xview все равно будет запущен. А в языке Icon этого никогда бы не произошло.

Аналоги регулярных выражений являются частью самого языка, позволяя использовать системы обработки текста неограниченной сложности, недаром Icon считается[источник не указан 52 дня] языком написания компиляторов.

Широкая гибкость языка позволяет записывать очень большое количество действий, не уменьшая при этом читабельность текста.

Наиболее развитым продолжением Icon является язык Unicon, также распространяемый по GNU, целью которого является наибольшая интеграция идей Icon с Unix-средой.

[править] Источники

[править] Ссылки