فایل ICI چیست؟
یک زبان برنامه نویسی همه منظوره که تفسیر می شود و دارای چندین ویژگی مانند تایپ پویا همراه با انواع داده های انعطاف پذیر است به عنوان زبان برنامه نویسی ICI (نه مخفف) شناخته می شود. در نظر گرفته می شود که شبیه به زبان Perl باشد. این زبان ICI شامل ساختارهای کنترل جریان و همچنین شامل برخی از عملگرهای زبان C است. این یک زبان شی گرا نیست، اما برخی از ویژگی های OOP را می توان با روش ارثی خاصی که به عنوان ابرساختار شناخته می شود، به دست آورد. مشابه C، این زبان برنامه نویسی ICI همان رابط سیستم و یک کتابخانه استاندارد برای توابع داخلی دارد.
تاریخچه مختصر
در اواخر دهه 1980، توسط تیم لانگ به عنوان یک زبان برنامه نویسی تفسیری همه منظوره توسعه یافت. بیشتر ویژگی های این زبان مشابه زبان C است و همچنین می تواند با اعمال روش های خاص به برخی از ویژگی ها دست یابد. این زبان به عنوان یک مالکیت عمومی است و به عنوان یک زبان قابل فروش مجدد در دسترس است و هیچ کس ملزم به ذکر نیست که کد منبع را از کجا دریافت کرده است. اسناد ICI تحت کپی رایت Canon Information System Research استرالیا است.
مشخصات فنی
دو نوع داده مختلف در این زبان استفاده می شود. این دو نوع داده اولیه و جمعی هستند. هر دوی اینها با توجه به ترکیب از پیش تعریف شده در زبان، عبارات مختلفی را شامل می شوند. ماژول های مختلفی مانند تو در تو و زیر روال ها توسط این زبان پشتیبانی می شوند. از آنجایی که برخی از ویژگی های آن شبیه به پرل است، یکپارچگی دقیق با عبارات منظم دارد.
مجموعه ها محدود به ناهمگن و تودرتو هستند. این مجموعهها از عملیات مجموعهای که معمولاً مورد استفاده قرار میگیرند مانند Union و Intersection و غیره پشتیبانی میکنند. بیشتر بهعنوان زبانی برای اجرای اصلی برای برنامههای کاربردی متعلق به سازمانهای چند ملیتی استفاده میشود.
تقریباً همه انواع برنامه ها را می توان به این زبان نوشت و بیشتر برنامه های خاصی که شامل ساختارهای داده پیچیده هستند به زبان برنامه نویسی ICI نوشته می شوند. برنامه ها می توانند اجرای ICI را به گونه ای درگیر کنند که باید در آن نوشته شوند. بخش های کاربردی برنامه را می توان توسط ماژول های ICI پیاده سازی کرد. زبان ICI تا حدودی به زبان C شباهت دارد، اما مدل دادههای ICI سطح بسیار بالاتری دارد و با انواعی مانند دیکشنری (struct)، مجموعهها، آرایههای پویا، عبارات منظم و رشتههای (واقعی) متفاوت است.
نمونه فرمت فایل 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);