Pascal (dasturlash tili)
Паскал (инглизча: Пасcал) — энг машҳур дастурлаш тилларидан бири бўлиб[5], ўрта мактаб ҳамда университетларнинг биринчи курсларида дастурлашни ўргатишда қўлланади. Ушбу дастурлаш тили бошқа бир қатор тиллар учун асос бўлиб хизмат қилади. Паскал императив ва процессуал дастурлаш тили ҳисобланади. Ушбу дастурлаш тили дастурлаш ва маълумотлар структурасидан фойдаланган ҳолда яхши дастурлаш амалиётларини рағбатлантириш учун кичик ва самарали тил сифатида ишлаб чиқилган. У франсуз математиги, файласуфи ва физиги Блез Паскал шарафига номланган.
|
| |
| Парадигмалари | императив, структуравий |
|---|---|
| Муаллифи | Никлаус Вирт |
| Тузилган йили | 1970 |
| Тури | статик, кучли, хавфсиз[1] |
| Ҳолати | фаол |
| Ишга тушириш тури | компиляция қилинувчи |
| Операцион тизим | Линух, Миcрософт Wиндоwс, Маc ОС Х, ФреэБСД ва б. |
| Файл кенгайтмалари |
кодли файллар учун .пас, сарлавҳа файллар учун .инc. |
| Диалектлари | |
| УCСД Пасcал, Турбо Пасcал, Делпҳи (дастурлаш тили) | |
| Бунга асос бўлган тиллар | |
| Алгол, Симула 67 | |
| Бунинг асосида тузилган тиллар | |
| Модула-2, Оберон, Компонентли Паскал, Ада, Обжеcт Пасcал, Жава[2][3][4], Го, Охйгене | |
Швейсариянинг Сюрих шаҳридаги олий техника мактабининг профессори Никлаус Вирт томонидан 1970-йилларда яратилган бўлиб, 1979-йилда стандарт Пасcал деб тасдиқланган. Ўзининг соддалиги, мантиқийлиги ва самаралиги туфайли бу тил бутун дунёга тез тарқалди. Ҳозирги пайтда барча ҳисоблаш машиналари, хусусан, микро ЭҲМлар хам шу тилда ишлаш имкониятига эга. Дастурлар матнининг тўғрилигини осонлик билан текшириш мумкинлигини, уларнинг маъноси яққол кўзга ташланиши ва оддийлиги билан ажралиб туради.
Виртнинг „Алгоритмлар + Маълумотлар тузилмалари = Дастурлар“ (эн:Алгоритҳмс + Дата Струcтурес = Програмс) китоби асосида Паскал дастурлаш тили АЛГОЛ60 тилининг намунаси бўйича ишлаб чиқилган. Вирт АЛГОЛ-Х саъй-ҳаракатлари доирасида тилни такомиллаштириш жараёнида иштирок этди ва АЛГОЛ-W деб номланган версияни таклиф қилди. Бу қабул қилинмади ва АЛГОЛ-Х жараёни тўхтаб қолди. 1968-йилда Вирт АЛГОЛ-Х жараёнидан воз кечишга ва АЛГОЛ-Wъни янада такомиллаштиришга қарор қилди ва уни 1970-йилда Паскал сифатида чиқарди. АЛГОЛ скалярлари ва массивларидан ташқари, Паскал мураккаб маълумотлар турларини аниқлаш ҳамда рўйхатлар, тармоқланиш ва графиклар каби динамик ва рекурсив маълумотлар тузилмаларини яратиш имконини беради.
C (ва C оиласидаги кўпгина тиллардан) фарқли ўлароқ, Паскал ҳар қандай мураккаб даражадаги процедура таърифларига рухсат беради, шунингдек, қуйи дастурлар (процедуралар ва функсиялар) ичида кўплаб таърифлар ва декларацияларга рухсат беради. Шундай қилиб, дастур синтактик жиҳатдан битта процедура ёки функсияга ўхшайди. Бу АЛГОЛ60ънинг блок тузилишига ўхшайди, лекин ихтиёрий блок баёнотларидан фақат процедуралар ва функсиялар билан чекланганлиги билан ажралиб туради.
Паскал 1970-йилларда, айниқса ривожланаётган миникомпютер бозорида муваффақият қозонди. Компиляторлар кўплаб микрокомпютерлар учун ҳам мавжуд эди, чунки бу соҳа 1970-йилларнинг охирида пайдо бўлган. У 1980-йилларда университет даражасидаги дастурлаш курсларида ўқитиш тили сифатида кенг қўлланган ва шу даврда тижорат дастурий таъминотини ёзиш учун ишлаб чиқаришда ҳам фойдаланилган. 1980-йилларнинг охири ва 1990-йилларнинг бошларида УНИХъга асосланган тизимлар оммалашгани ва айниқса C++ дастурлаш тилининг чиқарилиши билан Паскал дастурлаш тили ўрнига C дастурлаш тили оиласи ундан ўзиб кетди.
Обектга йўналтирилган дастурлаш учун мўлжалланган Обжеcт Пасcал номли дастурлаш тили 1985-йилда ишлаб чиқилган. Бу 1980-йилларнинг охирида Аппле Cомпутер ва Борланд томонидан қўлланган ва кейинчалик Миcрософт Wиндоwс платформасида Делпҳи дастурлаш тили ишлаб чиқилган. Паскал имкониятларининг кенгайиши муносабати билан Модула-2 ва Оберон тиллари вужуд келди.
Паскал тилининг алифбоси
Паскал дастурлаш тилининг алифбоси деб, шу тилда маълумотларни ифодалаш ва дастурлар ёзиш жараёнида компилятор томонидан қабул қилишга рухсат берилган белгилар ёки махсус белгилардан иборат бўлган занжирлар тўпламига айтилади. Бу алифбо ўз ичига АСCИИ (халқаро белгилар ва уларнинг уодлари) жадвалининг ҳамма белгиларини, яъни қуйидагиларни олади:
- Лотин алифбосининг катта ва кичик шарфлари;
- 0 дан 9 гача араб рақамлари;
- Тагига чизиш белгиси (_);
- Бўшлиқ (пробел) белгиси; (бу белги паскал тилида барча хизматчи сўзлар ва маълумотларни бир-биридан ажратиш учун фойдаланилади);
- Бошқарувчи белгилар: АСCИИ жадвалидаги кодлари 0 дан 31 гача бўлган белгилар. Бу белгилар сатр ва константаларни ифодалашда қўлланиши мумкин;
- Турли кўрсатмаларни ёзиш учун ишлатиладиган махсус белгилар: > < = − + \ & ? ! ^ % $ ; : ' # @ , . [] () {} / *
- Асосий бўлмаган белгилар: (АСCИИ ни кенгайтирувчи, яъни коди 128 дан 255 гача бўлган белгилар. Рус алифбосининг катта ва кичик ҳарфлари, псевдографика элементлари шу синфга киради. Бу белгилар турли константаларни ҳосил қилишда, матнларни ёзишда, изохларни ташкил қилишда қўлланиши мумкин.);
- Мураккаб белгилар: * * .. := >= <= ;
- Хизматчи сўзлар. Улар паскал тилида маълум бир маъно ёки кўрсатмани англатувчи махсус белгилар занжиридан иборат бўлиб, бу занжирни ўзгартириш ёки қисқартириб қўллаш мумкин эмас. Масалан: бегин, програм, энд ва ҳоказо.
Эслатма: Агар дастурлар ёзишда юқорида санаб ўтилган белгилардан бошқа белги ёки хизматчи бўлмаган сўзлар учраб қолса, бу ҳақида компилятор махсус ахборотни компютер экранига чиқаради.
Компиляторлари
Умумий фойдаланиш учун бир нечта Паскал компиляторлари ва интерпретаторлари мавжуд:
- Делпҳи — Эмбарcадеро компаниясининг (собиқ Борланд/CодеГеар) тезкор иловаларни ишлаб чиқиш (РАД) маҳсулотидир. У Wиндоwс, маc ОС, иОС ва Андроид учун иловалар яратиш учун Паскалдан асосидаги Обжеcт Пасcал тилидан (Борланд томонидан „Делпҳи“ деб аталади) фойдаланади. Д8 дан Д2005, Д2006 ва Д2007 оралиғида мавжуд бўлган .НЕТ қўллаб-қувватлаши тугатилди ва унинг ўрнига олдингиларидан тубдан фарқ қилувчи Охйгене (Присм деб қайта номланган) билан алмаштирилди. Сўнгги йилларда ишлаб чиқилган Д2009, Д2010, Делпҳи ХЕъда Униcоде қўллаб-қувватлаш ва генериклар қўшилди.
- Фреэ Пасcал — бу Обжеcт Пасcал тилида ёзилган платформалараро компилятордир. У қулай ва кучли компиляцияни тақдим этишга қаратилган бўлиб, у эски иловаларни компиляция қилиш ва янгиларини ишлаб чиқиш воситаси бўлиши мумкин. У ГНУ оммавий лицензияси (ГНУ ГПЛ) остида тарқатилади, пакетлар ва асосий кутубхоналар ўзгартирилган ГНУ Лессер Генерал Публиc Лиcенсе (ГНУ ЛГПЛ) остида бўлади. Турбо Пасcал, Делпҳи ва Маc Пасcал учун мослик режимларидан ташқари, операторнинг ҳаддан ташқари юкланиши каби кенгайтирилган функсияларни қўллаб-қувватлайдиган ўз процессуал ва обектга йўналтирилган синтаксис режимларига эга. У кўплаб платформалар ва операцион тизимларни қўллаб-қувватлайди. Жорий версияларда ИСО режими ҳам мавжуд.
- Турбо51 — бу Интел 8051 микроконтроллерлар оиласи учун Турбо Пасcал 7 синтаксиси билан бепул Паскал компилятори ҳисобланади.
- Охйгене (эски номи Чроме бўлган) — .НЕТ ва Моно платформалари учун Обжеcт Пасcал компиляторидир. У РемОбжеcц Софтwаре томонидан тузилган ва сотилган ва бир муддат Эмбарcадеро томонидан Присмънинг баcкенд компилятори сифатида сотилган.
- Кйлих — Делпҳи авлоди бўлиб, Линух операцион тизимини қўллаб-қувватлайдиган ва такомиллаштирилган обектлар кутубхонасига эга. Ҳозир расман Кйлих янгиланиши тўхтатилган. Норасмий фойдаланиш учун компилятор ва ИДЕ мавжуд.
- Турбо Паскал — 1980-йиллар ва 1990-йилларнинг бошларида шахсий компютерлар учун доминант Паскал компилятори бўлган, у кучли кенгайтмалари ва жуда қисқа компиляция вақтлари туфайли машҳур бўлган. Турбо Паскал ихчам тарзда ёзилган ва дискдан фойдаланмасдан ҳаммасини хотирадан компиляция қилиши, ишга тушириши ва дискни раскадровка қилиши мумкин эди. Секин эгилувчи (флоппй) дисклар ўша пайтда дастурчилар учун кенг тарқалган бўлиб, Турбо Паскалнинг тезлиги устунлигини янада оширди. Ҳозир Турбо Паскалнинг эски версиялари (5,5 гача) Борланд сайтидан бепул юклаб олиш мумкин.
Адабиётлар
- Вирт Н. Алгоритми + структури данних = программи. — М.: Мир, 1985. — 406 с.
- Вирт Н., Енсен К. Паскал. Руководство для ползователя и описаниэ язика. — М.: Финанси и статистика, 1982. — 151 с.
- Грогоно П. Программированиэ на язике Паскал. — М.: Мир, 1982. — 384 с.
- Култин Н. Б. Делпҳи 6. Программированиэ на Обжеcт Пасcал. — СПб.: БХВ-Петербург, 2001. — 528 с. — ИСБН 5-94157-112-7.
- Моргун А. Н. Программированиэ на язике Паскал (Пасcал). Основи обработки структур данних. — М.: Диалектика, 2005. — 576 с. — ИСБН 5-8459-0935-Х.
- Перминов О. Н. Язик программирования Паскал : Справочник. — М.: Радио и связ, 1989. — 128 с. — ИСБН 5-256-00311-9.
- Рубенкинг Н. Дж. Турбо Паскал для Wиндоwс: в 2-х томах. Пер. с англ. — М.: Мир, 1993.
- Язики программирования Ада, Си, Паскал = Cомпаринг анд Ассессонг Программинг Лангуагес Ада, C, анд Пасcал / А. Фюэр, Н. Джехани. — М.: Радио и Связ, 1989. — 368 с. — 50 000 экз. — ИСБН 5-256-00309-7.
Ҳаволалар
- Пасcал тили манбалари[сайт ишламайди]
- Пасcал тили манбалари
- Программированиэ на пасcал — онлине туториал (рус) (Wайбаcк Мачине сайтида 2014-12-09 санасида архивланган)
Изоҳлар
- ↑ Ким Б. Бруcе. Фоундатионс оф Обжеcт-ориэнтед Лангуагес: Тйпес анд Семантиcс. МИТ Пресс, 2002-01-01 — 9-бет. ИСБН 9780262025232.
- ↑ Wҳите Папер. Абоут Миcрософтъс „Делегатес“, жава.сун.cом
- ↑ Ҳисторй оф Жава, Жава Апплиcатион Серверс Репорт (Wайбаcк Мачине сайтида 2010-12-29 санасида архивланган) ТечМетрих Ресеарч, 1999
- ↑ А Cонверсатион wитҳ Жамес Гослинг
- ↑ „Индекс популярности языков программирования ТИОБЕ“. 2013-йил 2-июлда асл нусхадан архивланган. Қаралди: 2021-йил 29-ноябр.