Кіріспе

Меза Кітапхананы пайдалану үшін бағдарлама немесе жоғары деңгейдегі кітапхана анықтамаларды "импорттауы" тиіс. Mesa компиляторы импортталған элементтердің барлық қолданылуын түр бойынша тексереді; жекелеген компиляцияны түрлік тексерумен үйлестіру сол кезде ерекше жағдай еді. Mesa тіл дизайны мен іске асыруда бірнеше жаңалықтарды енгізді, әсіресе бағдарламалық ерекшеліктерді басқару, жиектерді синхрондау және ұсынылымдық компиляция салаларында. Mesa Xerox Alto-да, графикалық пайдаланушы интерфейсіне ие алғашқы дербес компьютерлердің бірінде жасалды, бірақ Alto жүйелік бағдарламалық жасақтамасының көп бөлігі BCPL тілінде жазылған. Mesa кейінірек шыққан Xerox Star жұмыс станцияларының және GlobalView жұмыс ортасының жүйелік бағдарламалау тілі болды. Кейін Xerox PARC компаниясы Mesa-ның кеңейтілген түрі болған Cedar-ды жасады. Mesa және Cedar Modula 2 және Java сияқты басқа маңызды тілдердің дизайнына зор әсер етті, сондай-ақ GUI, желілік орталар және компьютерлік ғылым саласында Xerox-тың жетістіктерін дамыту мен таратуға ықпал етті.

Тарих

Mesa бастапқыда Xerox Palo Alto Research Center филиалының Компьютерлік жүйелер зертханасында (CSL), Alto эксперименталды микрокодталған жұмыс станциясы үшін жобаланған. Бастапқыда оның таралуы PARC және Xerox бірнеше Altos сыйға тартқан бірнеше университеттермен шектелді. Кейіннен Mesa Xerox компаниясының Xerox 8010 (Xerox Star, Dandelion) және Xerox 6085 (Daybreak) сияқты коммерциялық жұмыс станциялары үшін, әсіресе Pilot операциялық жүйесі үшін жүйелік бағдарламалау тілі ретінде қабылданды. Екінші деңгейдегі даму ортасы, Xerox Development Environment (XDE) деп аталады, бұл әзірлеушілерге Pilot операциялық жүйесін де, ViewPoint GUI қолданбаларын да әлемді ауыстыру механизмін пайдалана отырып, жөндеуге мүмкіндік берді. Бұл бүкіл әлемнің "күйін" ауыстыруға және бүкіл жүйені тоқтататын төменгі деңгейдегі жүйелік қателерді жөндеуге мүмкіндік берді. Бұл техника үлкен қолданбаларға (бірнеше мегабайт) жақсы масштабталмады, сондықтан Pilot/Mesa әлемі кейінгі нұсқаларда микрокодталған машиналар SPARC жұмыс станцияларымен және Intel PC-лердегі Mesa PrincOps эмуляторымен ауыстырылғанда әлемді ауыстыру көрінісінен алыстады. Mesa стек машинасының тіліне компиляцияланды, ол ең жоғары код тығыздығына ие болды (жоғары деңгейдегі тілдің әр мәлімдемесіне шамамен 4 байт). Бұл 1981 жылғы мақалада Xerox Systems Development Department (сол кезде PARC-тің даму бөлімі) іске асырушылары нұсқаулар жиынтығын жетілдіріп, нәтижесіндегі код тығыздығы туралы жариялаған. Mesa, Mesa бағдарламалау курсы арқылы оқытылды, ол адамдарды Xerox-тың сол кездегі кең технологиясымен таныстырып, бағдарламашының пайдалы болуға арналған жұмыс істейтін бағдарлама – «хак» жазуымен аяқталды. Мұндай «хак»тың нақты мысалы – 1988 жылы жазылған BWSMagnifier, ол пайдаланушыларға жұмыс станциясы экранының бөліктерін өзгертілетін терезе және өзгертілетін ұлғайту коэффициенті арқылы ұлғайтуға мүмкіндік берді. Xerox-тың Mesa бағдарламашылары GUI, желілік байланыс, ерекше жағдайлар және көп жіпті бағдарламалау негіздерін жақсы білді, бұл олардың сауда құралдары болғанға дейін шамамен он жыл бұрын болды. Xerox ішінде Mesa-ның орнын Cedar бағдарламалау тілі басты. Көптеген Mesa бағдарламашылары мен әзірлеушілері 1985 жылы Xerox компаниясын тастады; олардың кейбіреулері DEC Systems Research Center-ге барды, онда олар Modula 2+ және кейінірек Modula 3 дизайнында Mesa тәжірибесін пайдаланды.

Семантика

Mesa – модульдер шекаралары бойынша типтік тексеруі бар, бірақ үйінділік жад бөлушілерді Mesa тілінде жазуға мүмкіндік беретіндей икемді типтік жүйеге ие, күшті типтелген бағдарламалау тілі. Интерфейс пен іске асырудың қатаң бөлінуінің арқасында Mesa нақты инкременттік компиляцияны қамтамасыз етеді және архитектура мен платформаға тәуелсіз бағдарламалауға көмектеседі. Олар бастапқы код деңгейінде жөндеуді, соның ішінде Ethernet желісі арқылы қашықтан жөндеуді де жеңілдетті. Mesa төрт түрлі ерекше жағдайды өңдеуге арналған кең мүмкіндіктерге ие болды. Ол мониторлар арқылы жіптерді синхрондауды қолдады. Mesa – Pilot операциялық жүйесі ұсынған BROADCAST мониторын іске асырған алғашқы тіл.

Синтаксисі

Mesa ALGOL және Pascal-ға негізделген "бұйрықтық" және "алгебралық" синтаксиске ие, BCPL немесе C-ге емес; мысалы, күрделі командалар жақшалардың орнына және кілт сөздерімен белгіленеді. Mesa-да барлық кілт сөздер үлкен әріптермен жазылады. Cedar-дың негізгі жаңалықтары – қоқыс жинау, динамикалық типтер, арқандар арқылы жолдарды жақсы қолдау, типті параметрлеудің шектеулі түрі және көп модульді бағдарламалық пакеттердің типтік қауіпсіз бөліктерін анықтауға арналған арнайы синтаксис, сондай-ақ детерминистік орындалуды қамтамасыз ету және жад ағып кетуін болдырмау.

Ұрпақтар

АҚШ Қорғаныс министрлігі Xerox компаниясына Mesa-ны "IronMan" бағдарламалау тілі үшін пайдалану туралы ұсыныс жасады (Steelman тілінің талаптарын қараңыз), бірақ Xerox компаниясы мүдделердің қақтығысуына байланысты бас тартты. Xerox PARC қызметкерлері Mesa-ның Xerox бағдарламалық жасақтама инженерлерін басқа компаниялардың инженерлерінен гөрі тиімдірек ететін эксклюзивті артықшылық екенін айтты. Қорғаныс министрлігі кейін кандидаттардың ішінде Ada бағдарламалау тілін таңдап, оны өндірді. Алғашқы Star Desktop ViewPoint Desktop-қа, содан кейін GlobalView-ке айналды, ол SunOS Unix және AIX сияқты түрлі Unix платформаларына көшірілді. Mesa-дан C-ге компилятор жазылды және нәтижесіндегі код мақсатты платформа үшін компиляцияланды. Бұл жұмыс істейтін шешім болды, бірақ бұл тәсілді пайдаланғанда Mesa компиляторының қуаты мен оған қосымша құралдар жиынтығы жоғалғандықтан Unix машиналарында әзірлеуге тым қиын болды. Sun SPARC жұмыс станцияларында баспа саласында қандай да бір коммерциялық сәттілік болды, бірақ бұл тәсіл өнімді тар нарыққа оқшаулап қойды. 1976 жылы Xerox PARC-те демалыста болған кезде Никлаус Вирт Mesa-мен танысты, ол оның Modula 2 тілінің дизайнына маңызды әсер етті. Java тілі Mesa-ны алдыңғы нұсқасы ретінде нақты көрсетеді.