Технологии

(Icon)

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

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

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

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

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


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

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


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

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

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

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

Новая версия

09-05-06: Moonlight 2.0 Preview
09-05-05: MySQL Community Server 5.0.81
09-05-04: nginx 0.7.54
09-05-04: FreeBSD 7.2-RELEASE

Новые Update&Patch

09-05-06: Adobe Shockwave Player 11.5.0.596
09-05-05: Vista SP2
09-05-04: Firefox 3.0.10
09-05-04: SP2 Office System 2007


Copyright © 2009 www.ipxt.ru Все права защищены.
При цитировании документа ссылка на сайт с указанием автора обязательна. Полное заимствование документа является нарушением
Российского и международного законодательства и возможно только с согласия администрации.