.ICI вариант №
Язык программирования общего назначения, который интерпретируется и содержит несколько функций, таких как динамическая типизация наряду с гибкими типами данных, известен как язык программирования ICI (не аббревиатура). Считается, что он похож на язык Perl. Этот язык ICI содержит конструкции управления потоком, а также некоторые операторы языка C. Это не объектно-ориентированный язык, но некоторые функции ООП могут быть реализованы с помощью особого метода наследования, известного как надстройки. Подобно C, этот язык программирования ICI имеет тот же системный интерфейс и стандартную библиотеку для встроенных функций.
Краткая история
В конце 1980-х он был разработан Тимом Лонгом как интерпретируемый язык программирования общего назначения. Большинство функций этого языка аналогичны C, а также некоторые функции можно реализовать с помощью некоторых специальных методов. Этот язык является общественным достоянием и доступен для перепродажи, и никто не обязан упоминать, откуда он взял исходный код. Документация ICI защищена авторским правом Canon Information System Research Australia.
Техническая спецификация
В этом языке используются два разных типа данных. Это два типа данных Primitive и Aggregate. Оба они включают разные выражения в соответствии с их заранее определенным составом в языке. Этот язык поддерживает различные модули, такие как вложенные и подпрограммы. Поскольку некоторые его свойства аналогичны Perl, он имеет строгую интеграцию с регулярными выражениями.
Наборы ограничены гетерогенностью и вложенностью. Эти наборы обеспечивают поддержку часто используемых операций над наборами, таких как объединение и пересечение и т. д. Он в основном используется в качестве языка для базовой реализации приложений, принадлежащих многонациональным организациям.
На этом языке могут быть написаны почти все типы программ, и в основном на языке программирования ICI пишутся специальные программы, включающие сложные структуры данных. Приложения могут включать реализацию ICI таким образом, что они должны быть написаны в ней. Функциональные части приложения могут быть реализованы модулями ИКИ. Язык ICI чем-то напоминает язык C, но модель данных ICI довольно высокого уровня и отличается такими типами, как словари (структуры), наборы, динамические массивы, регулярные выражения и (реальные) строки.
Пример формата файла ICI
printf("Hello world.\n");
s = [set 200, 300, "a string"];
if (s[200])
printf("200 is in the set\n");
if (s[400])
printf("400 is in the set\n");
if (s["a string"])
printf("\"a string\" is in the set\n");
s[200] = 0;
if (s[200])
printf("200 is in the set\n");
forall (colour in [array "red", "green", "blue"])
printf("%s\n", colour);