Icon (язык программирования)
Материал из Википедии — свободной энциклопедии
| Семантика: | |
|---|---|
| Тип исполнения: |
интерпретатор |
| Появился в: |
1974 г. |
| Автор(ы): | |
| Типизация данных: |
динамическая |
| Основные реализации: |
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-средой.
[править] Источники
[править] Ссылки
- www.cs.arizona.edu/icon — Официальный сайт языка
- unicon.sourceforge.net — Сайт Unicon
|
|
|
|---|---|
| Используемые в разработке |
Ада • АПЛ • Ассемблер • ActionScript • ABAP/4 • AutoIt • AWK • BASIC • C • Кобол • C++ • C# • ColdFusion • D • dBase • Delphi • Erlang • Eiffel • Forth • Gambas • Фортран • Groovy • Haskell • Java • JavaScript • Icon • Limbo • Лисп • Lua • MATLAB • Object Pascal • Objective-C • Оберон • PowerBASIC • Parser • Паскаль • Perl • PHP • PureBasic • Python • ПЛ/1 • Пролог • Ruby • Tcl • Scheme • Smalltalk • SQL • Vala • Visual Basic • VB.NET |
| Академические | |
| IEC61131-3 |
Instruction List • ST • FBD • Ladder Diagram • SFC |
| Прочие | |
| Эзотерические | |
| Это незавершённая статья о компьютерных языках. Вы можете помочь проекту, исправив и дополнив её. |

