Кіріспе

Бұл - жоғары деңгейдегі бағдарламалау тілі. Icon – "мақсатқа бағытталған орындау" тұжырымдамасына негізделген өте жоғары деңгейдегі бағдарламалау тілі, онда код жарамды мәндермен бірге "сәттілік" немесе "сәтсіздік" қайтарады, сәтсіздік жарамды деректердің жоқтығын көрсетеді. Код блогының сәттілігі мен сәтсіздігі одан әрі өңдеуді бағыттау үшін қолданылады, ал дәстүрлі тілдерде бағдарламашы жазған логикалық өрнектер осы мақсатқа қолданылады. Icon-да негізгі басқару құрылымдарының логикасы көбінесе жасырын болғандықтан, жиі кездесетін тапсырмаларды аз кодпен орындауға болады. Icon-ды Ральф Грисуолд Bell Labs-тен кеткеннен кейін жасаған, ол SNOBOL тілінің дамуына үлкен үлес қосыпты. SNOBOL – 1970 жылдардың басындағы стандарттар бойынша ескірген синтаксиске ие, мәтіндік тізбектерді өңдеуге арналған тіл. Аризона университетіне көшкеннен кейін ол SNOBOL тұжырымдамаларын SL5 тілінде одан әрі дамытты, бірақ нәтижеге қанағаттанбады. Бұл SNOBOL сияқты тілдердің ықшам, бірақ мағыналық тұрғыдан тығыз кодын C немесе Pascal сияқты ALGOL тілдерінің таныс синтаксисімен біріктіретін жаңартылған Icon тіліне әкелді. Icon-ның негізгі қолданыс саласы – мәтіндік үлгілер мен тізбектерді басқару. Тізбектермен жұмыс істеу кезінде қателер жиі кездеседі, мысалы, "world" сөзінде "the" сөзін табу мүмкін емес. Көптеген тілдерде бұл үшін нәтиженің жарамсыздығын болдырмау үшін тексеру және тармақтау қажет. Icon-да мұндай тексерулердің көпшілігі қажетсіз, бұл код көлемін азайтады. Күрделі үлгілерді өңдеу Perl сияқты арнайы тілдерге ұқсас, бірақ басқа ALGOL тілдеріндегідей функцияға бағытталған синтаксисті сақтай отырып, бірнеше жолды кодпен орындалуы мүмкін. Icon объектіге бағытталған тіл емес, бірақ 1996 жылы Idol деп аталатын объектіге бағытталған кеңейту жасалды, ол кейіннен Unicon тіліне айналды. Ол басқа тілдерге де әсер етті, әсіресе оның қарапайым генераторлары ықпалды болды; Icon генераторлары Python тілінің дамуына үлкен серпін берді.

СНОБОЛ

SNOBOL1 деп аталатын алғашқы SNOBOL жобасы 1962 жылдың күзінде Bell Labs бағдарламалау зерттеулер бөлімінде басталды. Бұл күш-жігер полиномдық формулаларды өңдеу, символдық интеграциялау және Марков тізбектерін зерттеу үшін SCL тілін қолдануға тырысудың сәтсіздігіне жауап ретінде туындады. Бөлім басшысы Честер Ли жазған SCL, баяу болды және төменгі деңгейдегі синтаксисіне ие болғандықтан, тіпті қарапайым жобалар үшін де көп көлемде код қажет болды. COMIT тілін қысқаша қарастырғаннан кейін, алты адамнан тұратын бөлімнің мүшелері Иван Полонский, Ральф Грисуолд және Дэвид Фарбер осы мәселелерді шешу үшін өз тілдерін жасауға шешім қабылдады. Алғашқы нұсқалары 1963 жылдың басында IBM 7090 компьютерінде іске қосылды, ал жазға қарай дамытылып, Bell Labs-те қолданысқа енді. Бұл дереу SNOBOL2 нұсқасына әкелді, ол бірқатар кіріктірілген функцияларды және сыртқы ассемблерлік кодқа сілтеме жасау мүмкіндігін қосты. Ол 1964 жылдың сәуір айында жарық көрді және негізінен Bell Labs-те пайдаланылды, бірақ Project MAC-те де қолданылды. Жүйелік функцияларды енгізу, негізінен пайдаланушы функцияларының қажеттілігін көрсетуге бағытталды, бұл 1964 жылдың шілдесінде шыққан SNOBOL3 нұсқасының басты ерекшелігі болды. SNOBOL3 нұсқасының енгізілуі Bell Labs есептеу бөліміндегі маңызды өзгерістермен бірге жүрді, соның ішінде SNOBOL-ді қайта жазуды талап ететін жаңа GE 645 мейнфреймінің қосылуы. Оның орнына команда виртуалды машинада жұмыс істейтін жаңа нұсқа жасауды ұсынды, оны SNOBOL аралық тілі SIL деп атады, бұл оны кез келген жеткілікті қуатты платформаға оңай көшіруге мүмкіндік берді. Бұл ұсыныс 1965 жылдың қыркүйек айында SNOBOL4 ретінде қабылданды. Осы кезде 1966 жылдың тамызында тілдің күрт жақсартылған нұсқасын жасау жоспарлары пайда болды. Тілге қатысты жұмыстар 1960 жылдардың соңына дейін жалғасты, атап айтқанда, кейінгі нұсқада ассоциативтік массив түрін қосу, оны олар кесте деп атады.