Кіріспе

Американдық компьютер ғалымы Джон Уорнер Бэкус (3 желтоқсан 1924 – 17 наурыз 2007) – американдық компьютер ғалымы. Ол FORTRAN-ды, ең алғаш кеңінен қолданылатын жоғары деңгейдегі бағдарламалау тілін ойлап тапқан және іске асырған команданы басқарды, сондай-ақ формальды тілдердің синтаксисін анықтау үшін қолданылатын Backus–Naur (BNF) формасын жасады. Кейін ол функциялық деңгейдегі бағдарламалау парадигмасын зерттеді және өзінің 1977 жылғы ықпалды Тьюринг сыйлығындағы «Программалауды фон Нейман стилінен босатуға бола ма?» деген лекциясындағы нәтижелерін ұсынды. IEEE 1967 жылы Бэкусқа FORTRAN-ды жасағаны үшін W. W. McDowell сыйлығын табыс етті. Ол 1975 жылы Ұлттық ғылым медалімен және 1977 жылы Тьюринг сыйлығымен марапатталды, себебі «практикалық жоғары деңгейдегі бағдарламалау жүйелерін жобалауға, әсіресе FORTRAN бойынша жұмысына және бағдарламалау тілдерін сипаттаудың формальды процедураларын жариялағаны үшін терең, ықпалды және ұзақ мерзімді үлес қосты». Джон Бэкус 1991 жылы зейнетке шықты. Ол 2007 жылғы 17 наурызда Орегон штатының Ашленд қаласында қайтыс болды. Ол Пенсильвания штатының Поттстаун қаласындағы Хилл мектебінде оқыды, бірақ жақсы оқушы болмады. Ол Вирджиния университетіне химия мамандығы бойынша түсті, бірақ сабақтарымен күресіп, кем қатысқаны үшін бір жылдан кейін шығарылды. Содан кейін ол Екінші дүниежүзілік соғыс кезінде АҚШ армиясына шақырылды. Ауруханадағы стажировка кезінде оған бас сүйегінің ісігі диагнозы қойылды, ол сәтті алынып тасталды және басына пластина орнатылды. Ол содан кейін медициналық білім алу үшін Гүл және Бесінші авеню медицина мектебіне көшті, бірақ ол оған қызығушылық танытпады және тоғыз айдан кейін оқуды тастады. 1946 жылы АҚШ армиясынан медициналық себептермен босатылды және 1950 жылы IBM компаниясына қосылды. Алғашқы үш жылында ол Селективті реттілік электронды есептегіш (SSEC) бойынша жұмыс істеді; оның алғашқы маңызды жобасы – Айдың орнын есептеуге арналған бағдарламаны жазу болды. 1953 жылы Бэкус IBM 701 компьютері үшін бағдарламалық жасақтаманы дамытуға көмектесу үшін IBM компьютері үшін жасалған алғашқы жоғары деңгейдегі тіл Speedcoding тілін жасады. Сол кезде бағдарламалау өте қиын болды, ал 1954 жылы Бэкус IBM 704 компьютері үшін Fortran-ды анықтау және дамыту үшін команда жинады. Fortran – кеңінен қолданылатын алғашқы жоғары деңгейдегі бағдарламалау тілі. Бұл кең таралған тіл компьютерлерді ғалымдар мен басқалар үшін машинаның құрылысын терең білмей-ақ қолдануға ыңғайлы және жеңілдетілген құралға айналдырды.

Қайталау

Бакус ALGOL 58 және өте ықпалды ALGOL 60 халықаралық комитеттерінде жұмыс істеді, олар алгоритмдерді жариялаудың де-факто әлемдік стандартына айналды. Бакус Backus–Naur (BNF) пішімін жасады, ол ЮНЕСКО-ның ALGOL 58 есебінде жарияланды. Бұл кез келген контекстсіз бағдарламалау тілін сипаттай алатын формалды жазу тәсілі болды және компиляторларды жасауда маңызды рөл атқарды. Бұл тәсілден кейбір ауытқулар жасалды (әсіресе Lisp және APL тілдерінде), бірақ 1970 жылдарға қарай, yacc сияқты автоматтандырылған компилятор генераторларының дамуынан кейін компьютерлік тілдер үшін Backus–Naur контекстсіз сипаттамалары кеңінен қолданылатын стандартқа айналды. Осы еңбегі үшін Бакус 1977 жылы Тьюринг сыйлығына ие болды.

Функциялық деңгейдегі бағдарламалау

Кейін Бэкус FP деп аталатын функциялық деңгейдегі бағдарламалау тілінде жұмыс істеді, ол өзінің Тьюринг сыйлығына ие болған сөйлесуінде "Программалауды фон Нейман стилінен босатуға бола ма?" деп, дәстүрлі функционалдық бағдарламалау стиліндегі тілдермен бірдей екендігін айтты. FP Кеннет Иверсонның APL тілінен күшті шабыт алды, тіпті стандартты емес символдар жиынтығын қолданды. 4.2BSD Unix операциялық жүйесімен бірге FP интерпретаторы таралды, бірақ тілдің іске асырылған аз ғана нұсқасы болды, олардың көпшілігі оқу мақсатында қолданылды. Бэкус өзінің мансабының соңғы кезеңін FP-нің ізбасары FL ("Функциялық деңгей") тілін жасауға арнады. FL – IBM-нің ішкі зерттеу жобасы болды және жоба аяқталғаннан кейін тілдің дамуы тоқтатылды. Қазірде тек бірнеше құжат сақталған, ал онда сипатталған компилятордың бастапқы коды жарияланбады. FL 1980-ші жылдары дамыған функционалдық бағдарламалау тілдерімен қарама-қайшы болды, олардың көпшілігі APL-дегідей примитивті операциялардың тізбегі орнына, лямбда-есептеу және статикалық типтеу жүйелеріне негізделген. Тілдің көптеген идеялары қазірде Иверсонның APL-дің ізбасары J бағдарламалау тілінің нұсқаларында жүзеге асырылды.