لغة برمجة ICI هي لغة تفسيرية عامة تم تطويرها أصلاً بواسطة تيم لونغ في أواخر الثمانينات من القرن الماضي. تتميز بنوعية الكتابة الديناميكية وأنواع البيانات المرنة، وتشترك في الجملة الأساسية وهياكل التحكم والعمليات مع لغة البرمجة C. بشكل عام، يمكن اعتبارها مشابهة للغة Perl، التي كانت تقريبًا متزامنة معها. تمتلك ICI أيضًا تكاملًا وثيقًا مع التعابير النمطية، على غرار Perl.
تتضمن أنواع البيانات الأولية في ICI الأعداد الصحيحة، الأعداد الحقيقية، السلاسل النصية، الملفات، المؤشرات الآمنة، والتعابير النمطية. أما أنواع البيانات التجميعية فتشمل الصفوف، والمجموعات، والجداول الجمعية. تمكن المجموعات من التنوع، والتضمين، ودعم العمليات العادية للمجموعات: الاتحاد، والتقاطع، وما إلى ذلك.
تدعم اللغة الدوال الفرعية والوحدات المتداخلة. وتكون جميع المتغيرات محددة محليًا على مستوى الدالة الفرعية أو الموديول، لكن على عكس معظم اللغات المنظمة، تسمح ICI بضبط النطاق الحالي. لا تعتمد اللغة على الكائنات، ويمكن محاكاة العديد من ميزات البرمجة بالكائنات في اللغة باستخدام ميزة الوراثة في الهياكل البيانية المسماة super-structures.
تتوفر دعم للتطوير التطبيقي في ICI من خلال إمكانية الوصول إلى ملفات الإدخال/الإخراج بشكل مشابه لـC، ودعم واجهة النظام، بالإضافة إلى منشأ الأحداث على مستوى عال. وتتميز اللغة أيضًا برخصتها السخية التي تسمح باستخدامها لأي غرض، بما في ذلك الاستخدام التجاري والتعديل وإعادة البيع.
يتوفر لـ ICI مكتبة قياسية متواضعة من الدوال المدمجة. ويجب الإشارة إلى أن مجتمع ICI لديه أصول في البحث في نظم معلومات كانون. تم تطويرها كأداة لتعزيز فهم البرمجة عند تطبيقات التحليل والتصميم. يمكن الاطلاع على مزيد من المعلومات حول اللغة وميزاتها على موقعها الرسمي ICI وعلى صفحتها في ويكيبيديا.