Icon (язык программирования)
| Файл:Iconlogo.gif | |
| Семантика: | |
|---|---|
| Тип исполнения: |
интерпретатор |
| Появился в: |
1974 г. |
| Автор(ы): | |
| Типизация данных: |
динамическая |
| Основные реализации: |
Icon, Jcon, Unicon |
| Испытал влияние: | |
Icon — язык программирования, унаследовавший идеологию более раннего языка того же автора Снобол. Название языка не имеет ничего общего с «иконками», а является сокращением от слова англ. iconoclastic (иконоборческий), используемом в смысле борьбы с конформизмом в разработке языков программирования.
Язык Icon имеет много общего, роднящего его с языками логического программирования, так Thomas W. Christopher, автор Icon Programming Language Handbook пишет: «Самое большое различие между Icon и другими языками программирования — это то, что выражения в Icon — генераторы».
Пример использования генератора:
procedure main()
L:=["1","22","333"] # Список строк
every writes(" ",! L)
end
----
Выход: 1 22 333
Язык является динамически типизированным, имеет встроенные мощные типы данных. Процедуры в Icon'е относятся к величинам первого класса (англ. first class values), что означает возможность присваивания переменным значений самих процедур, а не результатов их выполнения. Существует механизм со-выражений (англ. co-expression), позволяющий создавать сопрограммы. Авторская реализация Icon, написанная в Аризонском Университете (т.н. аризонский icon) распространяется в соответствии с лицензией GPL.
Языки Icon и Снобол послужили своего рода полигоном для отработки некоторых идиом программирования, особенно это касается конструкций содержащих && или || и первым языком, использующим регулярные выражения (хотя и в форме, отличающейся от ныне принятой). Впоследствии эти механизмы были использованы в Unix-среде, в языках C, AWK и Perl.
Вот пример подобной идиомы:
[ $ringing != 0 ]&&echo Phone ringing!!!
Другой пример, пусть есть конструкия в shell:
xview -root `gtk-shell -t "Which image?" -fs`
Даже если вы не выберете имя файла-картинки, xview все равно будет запущен. А в языке Icon этого никогда бы не произошло.
Аналоги регулярных выражений являются частью самого языка, позволяя использовать системы обработки текста неограниченной сложности.
Гибкость языка позволяет записывать очень большое количество действий, не уменьшая при этом читабельность текста.
Разработка классического аризонского айкона в настоящее время заморожена. Развивающейся ветвью Icon является язык Unicon, транслятор которого также распространяемый под лицензией GNU GPL. Это объектно-ориентированный диалект языка, с улучшенной интеграцией с окружающей средой ОС, включая, к примеру, поддержку взаимодействия с БД.
Источники
Ссылки
- www.cs.arizona.edu/icon — Официальный сайт языка
- Проект Unicon на сайте SourceForge.net.
Основные языки программирования (список • сравнение • IDE • история • хронология) |
|
|---|---|
| Используемые в разработке |
Ада • АПЛ • Ассемблер • ActionScript • ABAP/4 • AutoIt • AWK • BASIC • C • Кобол • C++ • C# • ColdFusion • Common Lisp • D • dBase • Delphi • Eiffel • Erlang • F# • Forth • Фортран • Gambas • Groovy • Haskell • Icon • Java • JavaScript • Limbo • Lua • MATLAB • Object Pascal • Objective-C • OCaml • Oz • Оберон • Parser • Паскаль • Perl • PHP • PowerBASIC • PureBasic • Python • ПЛ/1 • Пролог • Ruby • Scala • Scheme • Smalltalk • SQL • PL/SQL • Tcl • Vala • Visual Basic • VB.NET |
| Академические | |
| IEC61131-3 |
Instruction List • ST • FBD • Ladder Diagram • SFC |
| Прочие | |
| Эзотерические | |
| SQL | Это незавершённая статья о компьютерных языках. Вы можете помочь проекту, исправив и дополнив её. |
en:Icon (programming language) es:Icon fa:آیکون (زبان برنامهنویسی) fr:ICON ja:Icon ko:아이콘 (프로그래밍 언어) pl:Icon pt:Icon sv:Programspråket Icon tg:Icon
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....