Кіріспе
WATFIV немесе WATerloo FORTRAN IV, Канаданың Ватерлоо университетінде жасалған, Fortran компьютерлік бағдарламалау тілінің түсініктемесі. Ол WATFOR-дың жалғасы. WATFIV 1960 жылдардың соңынан 1980 жылдардың ортасына дейін қолданылды. WATFIV-тің орнына WATFOR-дың жаңа нұсқалары келді. Ол әдеттегі үш қадамды ("компиляция, байланыс, іске қосу") бір ретте орындай алатындықтан, бұл жүйе студенттерге компьютерлік бағдарламалауды үйретуде кең таралды.
Тарих
1960-шы жылдардың басында жаңа құрылған компьютерлік ғылымдар кафедралары компьютерлік бағдарламалау тілдерін оқыту үшін университет бағдарламаларын іске қосты. Фортран тілі IBM компаниясында жасалған, бірақ баяу және қателерге ұшырауға бейім үш кезеңдік пакеттік өңдеу процесінен зардап шекті. Бірінші кезеңде компилятор бастапқы кодты объектілік кодқа түрлендірді. Екінші кезеңде линкер жалпы функциялардың өсіп келе жатқан кітапханаларын пайдаланып толық бағдарлама құрады. Соңында бағдарлама клиенттердің әдеттегі ғылыми және бизнес мәселелері үшін деректермен бірнеше рет орындалды. Әр кезеңде жаңа перфокарталар немесе магниттік ленталар қолданылды. Студенттердің талаптары мүлдем басқаша болды. Олардың бағдарламалары көбінесе қысқа болды, бірақ көбінесе логикалық және синтаксистік қателерге ие болды, бұл қадамдарды көп уақыт алатын түрде қайталауға және жаңғырыс тудыратын "ядролық төгілуге" (core dumps) әкелді. (Көп жағдайда компьютер операторынан сәтті немесе сәтсіз нәтижені алу үшін бір күндік күту қажет болды). Бағдарламалар дұрыс жұмыс істегеннен кейін, олар қайтадан іске қосылмайтын. 1961 жылы Висконсин университеті IBM 1620 үшін FORGO деп аталатын технологияны жасады, ол кейбір кезеңдерді біріктірді. Ұқсас тәжірибелер Пердью университетінде IBM 7090 жүйесінде PUFFT деп аталатын жүйеде жүргізілді.
WATFOR 7040
1965 жылдың жазында Ватерлоо университетінің төрт студенті – Гас Герман, Джеймс Г. Митчелл, Ричард Ширли және Роберт Зарнке, Питер Шантц басшылығымен IBM 7040 компьютері үшін WATFOR деп аталған Fortran компиляторын жасады. Оның мақсаты – компиляция жылдамдығын арттыру және компиляция және орындалу кезінде қателерді тиімді диагностикалау болатын. Бұл қарапайым, бір қадамдық процесс тәжірибесіз бағдарламашыларға бағдарламалауды уақыт және есептеу ресурстарын үнемдеп үйренуге мүмкіндік берді. Қателерді жоюға көмектесу үшін компилятор анықталмаған айнымалыларды тексеру үшін инновациялық тәсілді қолданды (басқарушы бағдарламашылардың жиі жасайтын қатесі). Ол 7040 компьютерінің диагностикалық мүмкіндіктерін пайдаланды, олар жадтың белгілі бір бөліктерін қасақана бұрмаланған теңдікке орнатуға мүмкіндік берді. Бағдарлама анықталмаған айнымалыларға сілтеме жасауға тырысқанда, машина үзіліске түседі (Watfor орындалу уақытында осы үзілісті өңдейді) және қате пайдаланушыға анықталмаған айнымалы ретінде хабарланады. Бұл процестің қосымша пайдасы – CPU-ға қосымша жүктеме салмай, анықталмаған айнымалыларды тексеруге мүмкіндік беруі. WATFOR тез танымал болды және 75-тен астам мекеме оны өздерінің IBM 7040 жүйелеріне орнатты. Компиляторды таратумен Сандра Брюс (Хоуп) айналысты.
Richard Shirley and Robert Zarnke, led by Peter Shantz, developed a Fortran compiler for the IBM 7040 computer called WATFOR. Its objectives were fast compilation speed and effective error diagnostics at both compile and execution time. This simple, one step process allowed non experienced programmers to learn programming with lower cost in time and computing resources. To aid in debugging, the compiler uses an innovative approach to checking for undefined variables (an extremely common mistake by novice programmers). It uses a diagnostic feature of the 7040 that can deliberately set areas of memory to bad parity. When a program tries to reference variables that hadn't been set, the machine takes an interrupt (handled by the Watfor runtime routines) and the error is reported to the user as an undefined variable. This has the pleasant side effect of checking for undefined variables with essentially no CPU overhead. WATFOR quickly gained popularity and over 75 institutions installed it on their IBM 7040 systems. The distribution of the compiler was handled by Sandra Bruce (née Hope).
WATFOR 360-тың
1966 жылы университет 7040 компьютерін IBM System/360 компьютерімен ауыстыруды жоспарлады, ол әлдеқайда жылдам болғанмен, бағдарламалық үйлесімділігі болмады. IBM 360 нұсқасын жазу үшін толық жұмыс күнімен жұмыс істейтін қызметкерлер мен бакалавр студенттерінен команда құрылды. Жобаға қатысқандар – Бетти Шмидт, Пол Дирксен, Пол Х. Кресс, Лотар К. "Нед" Кесселхут, Билл Киндри және Дерек Мик, кейіннен Майк Дойл, Род Милн, Рон Хурдал және Линн Уильямс қосылып, 1967 жылдың басында 360 WATFOR-ды аяқтады. Көптеген басқа да мекемелер (университеттер, колледждер, кәсіпорындар және мемлекеттік органдар) Ватерлоо университетіндегідей қажеттіліктерді қанағаттандыру үшін WATFOR компиляторын пайдалана бастады. Бағдарламалық қамтамасыз етуді тарату және клиенттерге қолдау көрсетуді Сандра Уорд жүзеге асырды.
WATFIV
SHARE пайдаланушылар тобының Фортран комитеті және басқалардың ұсыныстарының нәтижесінде 1968 жылы WATFIV деп аталатын жаңа нұсқа шығарылды. WATFIV CHARACTER айнымалылары және тікелей кіру-шығару сияқты жаңа мүмкіндіктерді енгізді. Компьютерлік машиналар қауымдастығы 1972 жылы Пол Кресс пен Пол Дирксенге WATFOR және WATFIV жобаларына қосқан үлесі үшін Грейс Мюррей Хоппер сыйлығын табыс етті. WATFIV компиляторы 1975 және 1976 жылдардағы DATAPRO құрметті тізіміне енгізілді. Жөндеу және жақсартуға қатысқандардың арасында Берни Мерфи, Мартин Вайзман және Ивон Джонсон болды. WATFIV "УАТ ФАЙВ" деп айтылды, бірақ сол кездегідей, "УАТ ФОР" деп те айтуға болар еді, яғни WAT F IV (Waterloo Fortran IV). Университеттер мен корпорациялар осы компиляторларды пайдаланды және WATFOR дәстүрінде көптеген басқа бағдарламалық өнімдер жасалды. Мысалы, COBOL бағдарламалау тілі үшін жасалған нұсқа WATBOL деп аталады. Дэниел Маккракен: "WATFOR білім беруде компьютерлерді қолдануда революция жасады деуде артық айтқандық емес", - деді. Бір кезде әлем бойынша осы бағдарламалық өнімдерге 3000-нан астам шағын және орталық компьютерлік лицензиялар, ал 100 000-нан астам микрокомпьютерлік лицензиялар тіркелген.
WATFOR-11, -S және -11S
1974 жылы IBM-ге ұқсас сипаттамалары бар компилятор Digital Equipment Corporation PDP 11 компьютері үшін жасалды және WATFOR 11 деп аталды. Команда мүшелері Джек Шулер, Джим Уэлч және Терри Уилкинсонға кейіннен Иан Макфи қосылды, ол құрылымдық бағдарламалау (SP) үшін WATFIV компиляторына жаңа басқару операторларын қосты. Бұл жаңа операторлар IF блогын (кейіннен ANSI X3.9 1978 тіл стандартына енгізілген), WHILE, UNTIL және басқаларын қамтыды. WATFIV S 1974 жылы жарияланды, ал бірнеше айдан кейін WATFOR 11S (жаңа SP мүмкіндіктерін көрсететін "S" әрпімен) жарияланды. SP-нің бастапқы мүмкіндіктері кейіннен Брюс Хей WATFIV S-де 1980 жылы және Джек Шулер WATFOR 11S-де 1981 жылы қосымша операторлармен толықтырылды.
WATFOR-77 тобы
1970 жылдары ANSI X3J3 (FORTRAN тіл стандартын әзірлеу тобы) кіші комитеті 1978 жылдың сәуір айында ресми түрде бекітілген жаңа тіл стандартын жасады. FORTRAN 77 деп аталған бұл стандарт тілге көптеген жаңа операторларды енгізді. Шын мәнінде, FORTRAN 66 тілінің бұрынғы стандарты өте шағын құжат болып табылады және FORTRAN-ның көптеген нұсқаларының ішкі жиынтығын сипаттайды. Мысалы, WATFIV және WATFOR 11 нұсқалары IBM FORTRAN IV анықтамасына негізделген. Бағдарламашылар FORTRAN 77 мүмкіндіктерін пайдаланғандықтан, WATFIV компиляторының артықшылықтарын жаңа тіл стандартымен біріктіретін жаңа компилятор қажет болды. 1983 жылдың қаңтар айында Watcom Systems Inc компаниясында FORTRAN 77 компиляторын жасау жобасы басталды. Джек Шулердің басшылығымен Watcom қызметкерлері және Ватерлоо университетінің компьютерлік ғылымдар бағдарламасының студенттері WATFOR 77 компиляторын жасауға қатысты. Негізгі жұмыстарды Гено Коши, Фред Криггер, Джон Дамс, Джим Грэм, Джек Шулер, Энтони Сциан және Пол Ван Оршот атқарды. Оларға Род Кремаско, Джон МакКормик, Дэвид МакКи және Брайан Стечер көмектесті. Бұрынғы компилятор жобаларының топ мүшелері де өз үлесін қосты. Олардың ішінде Брюс Хей, Иан Макфи, Сандра Уорд, Джим Уэлч және Терри Уилкинсон болды. Алдыңғы компиляторлардан айырмашылығы, WATFOR 77 бағдарламасының маңызды бөлігі басқа компьютерлік жүйелерде компиляторды іске асыруды жеңілдету үшін портативті жүйелер тілінде жазылды. WATFOR-дың бұрынғы компиляторлары толығымен машинаға тәуелді ассемблер тілінде жазылған. Компилятордың екі компоненті портативті емес. Код генераторы FORTRAN операторларын компьютердің түпкілікті нұсқауларына аударады және оларды жадта сақтайды. WATFOR 77 бағдарламасының алғашқы нұсқасы IBM 370 компьютерлік архитектурасы үшін нұсқаулар жасайды. Орындалу уақытының көп бөлігі (анықталмаған айнымалыны тексеру, индекстік бағалау, кіріктірілген функциялар) жақсы өнімділік үшін ассемблер тілінде жазылды. 1984 жылдың қыркүйегінде алғашқы нұсқа Ватерлоо университетінде Компьютерлік қызметтер департаментіне орнатылды. Бұл VM/SP CMS операциялық жүйесінде жұмыс істейтін IBM 370 компьютерлері үшін жасалған нұсқа еді. 1984 жылдың мамыр айында WATFOR 77 компиляторын IBM персональды компьютерінде іске асыру жобасы басталды. Бұл жобаға Гено Коши, Фред Криггер, Тим Галвин, Атос Касапи, Джек Шулер, Терри Скоморовски және Брайан Стечер қатысты. 1985 жылдың сәуірінде WATFOR 77 екінші нұсқасы Ватерлоо университетіне Инженерлік факультет студенттерінің пайдалануы үшін орнатылды. Компилятор 256K IBM PC DOS 2.0 қолдайтын IBM персональды компьютерінде жұмыс істей алады және арнайы қалқыма нүктелі жабдық қажет етпейді. 1985 жылдың күзінде WATFOR 77 бағдарламасының жапон нұсқасы IBM Japan компаниясына IBM JX персональды компьютері үшін жеткізілді. Бұл нұсқа жапон тіліндегі қате хабарламаларын шығарады және айнымалы атаулары мен таңбалар тізбегі үшін кандзи, хирагана және катакана таңбалар жиынтығын қолдайды. JX-ті қолдау үшін тілдік анықтамалық және пайдаланушы нұсқаулықтары жапон тіліне аударылды. WATFOR 77 бағдарламасының жоғарыда аталған мүмкіндіктері бар тағы бір нұсқасы 1988 жылдың көктемінде жапондық IBM PS/55 персональды компьютерлері үшін жасалды. 1986 жылдың жазында WATFOR 77 IBM PC нұсқасы Unisys ICON компьютерінде QNX операциялық жүйесінде жұмыс істеуге бейімделді. QNX IBM PC DOS-тен мүлдем өзгеше болғандықтан, орындалу уақытының кейбір бөліктері қайта жазылды. WATFOR 77 бағдарламасының бұл нұсқасы 1986 жылдың қыркүйегінде қолжетімді болды. 1985 жылдың жазында WATFOR 77 компьютерін VMS операциялық жүйесінде жұмыс істейтін Digital Equipment Corporation VAX компьютерлер сериясына бейімдеу жобасы басталды. Бұл жобаның мүшелері Гено Коши, Марк Уэлет, Джек Шулер және Терри Скоморовски болды. Бұл нұсқа 1987 жылдың наурыз айында қолжетімді болды. Сонымен қатар, 1988 жылдың көктемінде FORTRAN 77 компиляторын оңтайландыру бойынша жаңа жоба басталды. Бұл компилятор Watcom C компиляторының код генераторын пайдаланады, ол басқа C компиляторларына қарағанда жоғары сапалы машиналық кодты шығарады. FORTRAN 77 оңтайландырылған компиляторы алғаш рет 1990 жылдың ортасында шығарылды. 1990 жылдың қазан айында WATFOR-тың 25 жылдығы тойланды. WATFOR компиляторларын жасауға қатысқан көптеген адамдар Ватерлоо университетіне қайта кездесуге шақырылды. 1992 жылдың көктемінде WATFOR 77 нұсқасы NEC PC 9801 персональды компьютерлер отбасына бейімделді. Бұл нұсқа IBM PS/55 нұсқасына ұқсас болды, бірақ архитектуралық айырмашылықтарды ескеріп өзгертілді. 1992 жылдың қаңтар айында Intel 80386 және Intel 80486 персональды компьютерлері үшін WATFOR 77 бағдарламасының 32 биттік нұсқасын жасау басталды. Алғашқы нұсқа 1992 жылдың күзінде шығарылды. 1995 жылға дейін Миссисипи университетінде WATFIV бағдарламалау курстары өткізіліп тұрды, оларды профессор Чарльз Х. (Чакки) Франке басқарды.