Pascal (dasturlash tili)
|
| |
| Paradigmalari | imperativ, strukturaviy |
|---|---|
| Muallifi | Niklaus Virt |
| Tuzilgan yili | 1970 |
| Turi | statik, kuchli, xavfsiz[1] |
| Holati | faol |
| Ishga tushirish turi | kompilyatsiya qilinuvchi |
| Operatsion tizim | Linux, Microsoft Windows, Mac OS X, FreeBSD va b. |
| Fayl kengaytmalari |
kodli fayllar uchun .pas, sarlavha fayllar uchun .inc. |
| Dialektlari | |
| UCSD Pascal, Turbo Pascal, Delphi (dasturlash tili) | |
| Bunga asos boʻlgan tillar | |
| Algol, Simula 67 | |
| Buning asosida tuzilgan tillar | |
| Modula-2, Oberon, Komponentli Paskal, Ada, Object Pascal, Java[2][3][4], Go, Oxygene | |
Paskal (inglizcha: Pascal) — eng mashhur dasturlash tillaridan biri boʻlib[5], oʻrta maktab hamda universitetlarning birinchi kurslarida dasturlashni oʻrgatishda qoʻllanadi. Ushbu dasturlash tili boshqa bir qator tillar uchun asos boʻlib xizmat qiladi. Paskal imperativ va protsessual dasturlash tili hisoblanadi. Ushbu dasturlash tili dasturlash va maʼlumotlar strukturasidan foydalangan holda yaxshi dasturlash amaliyotlarini ragʻbatlantirish uchun kichik va samarali til sifatida ishlab chiqilgan. U fransuz matematigi, faylasufi va fizigi Blez Paskal sharafiga nomlangan.
Shveysariyaning Syurix shahridagi oliy texnika maktabining professori Niklaus Virt tomonidan 1970-yillarda yaratilgan boʻlib, 1979-yilda standart Pascal deb tasdiqlangan. Oʻzining soddaligi, mantiqiyligi va samaraligi tufayli bu til butun dunyoga tez tarqaldi. Hozirgi paytda barcha hisoblash mashinalari, xususan, mikro EHMlar xam shu tilda ishlash imkoniyatiga ega. Dasturlar matnining toʻgʻriligini osonlik bilan tekshirish mumkinligini, ularning maʼnosi yaqqol koʻzga tashlanishi va oddiyligi bilan ajralib turadi.
Virtning „Algoritmlar + Maʼlumotlar tuzilmalari = Dasturlar“ (en:Algorithms_+_Data_Structures_=_Programs) kitobi asosida Paskal dasturlash tili ALGOL60 tilining namunasi boʻyicha ishlab chiqilgan. Virt ALGOL-X saʼy-harakatlari doirasida tilni takomillashtirish jarayonida ishtirok etdi va ALGOL-W deb nomlangan versiyani taklif qildi. Bu qabul qilinmadi va ALGOL-X jarayoni toʻxtab qoldi. 1968-yilda Virt ALGOL-X jarayonidan voz kechishga va ALGOL-Wʼni yanada takomillashtirishga qaror qildi va uni 1970-yilda Paskal sifatida chiqardi. ALGOL skalyarlari va massivlaridan tashqari, Paskal murakkab maʼlumotlar turlarini aniqlash hamda roʻyxatlar, tarmoqlanish va grafiklar kabi dinamik va rekursiv maʼlumotlar tuzilmalarini yaratish imkonini beradi.
C (va C oilasidagi koʻpgina tillardan) farqli oʻlaroq, Paskal har qanday murakkab darajadagi protsedura taʼriflariga ruxsat beradi, shuningdek, quyi dasturlar (protseduralar va funksiyalar) ichida koʻplab taʼriflar va deklaratsiyalarga ruxsat beradi. Shunday qilib, dastur sintaktik jihatdan bitta protsedura yoki funksiyaga oʻxshaydi. Bu ALGOL60ʼning blok tuzilishiga oʻxshaydi, lekin ixtiyoriy blok bayonotlaridan faqat protseduralar va funksiyalar bilan cheklanganligi bilan ajralib turadi.
Paskal 1970-yillarda, ayniqsa rivojlanayotgan minikompyuter bozorida muvaffaqiyat qozondi. Kompilyatorlar koʻplab mikrokompyuterlar uchun ham mavjud edi, chunki bu soha 1970-yillarning oxirida paydo boʻlgan. U 1980-yillarda universitet darajasidagi dasturlash kurslarida oʻqitish tili sifatida keng qoʻllangan va shu davrda tijorat dasturiy taʼminotini yozish uchun ishlab chiqarishda ham foydalanilgan. 1980-yillarning oxiri va 1990-yillarning boshlarida UNIXʼga asoslangan tizimlar ommalashgani va ayniqsa C++ dasturlash tilining chiqarilishi bilan Paskal dasturlash tili oʻrniga C dasturlash tili oilasi undan oʻzib ketdi.
Obyektga yoʻnaltirilgan dasturlash uchun moʻljallangan Object Pascal nomli dasturlash tili 1985-yilda ishlab chiqilgan. Bu 1980-yillarning oxirida Apple Computer va Borland tomonidan qoʻllangan va keyinchalik Microsoft Windows platformasida Delphi dasturlash tili ishlab chiqilgan. Paskal imkoniyatlarining kengayishi munosabati bilan Modula-2 va Oberon tillari vujud keldi.
Paskal tilining alifbosi
[tahrir | manbasini tahrirlash]Paskal dasturlash tilining alifbosi deb, shu tilda maʼlumotlarni ifodalash va dasturlar yozish jarayonida kompilyator tomonidan qabul qilishga ruxsat berilgan belgilar yoki maxsus belgilardan iborat boʻlgan zanjirlar toʻplamiga aytiladi. Bu alifbo oʻz ichiga ASCII (xalqaro belgilar va ularning uodlari) jadvalining hamma belgilarini, yaʼni quyidagilarni oladi:
- Lotin alifbosining katta va kichik sharflari;
- 0 dan 9 gacha arab raqamlari;
- Tagiga chizish belgisi (_);
- Boʻshliq (probel) belgisi; (bu belgi paskal tilida barcha xizmatchi soʻzlar va maʼlumotlarni bir-biridan ajratish uchun foydalaniladi);
- Boshqaruvchi belgilar: ASCII jadvalidagi kodlari 0 dan 31 gacha boʻlgan belgilar. Bu belgilar satr va konstantalarni ifodalashda qoʻllanishi mumkin;
- Turli koʻrsatmalarni yozish uchun ishlatiladigan maxsus belgilar: > < = − + \ & ? ! ^ % $ ; : ' # @ , . [] () {} / *
- Asosiy bo‘lmagan belgilar: (ASCII ni kengaytiruvchi, yaʼni kodi 128 dan 255 gacha bo‘lgan belgilar. Rus alifbosining katta va kichik harflari, psevdografika elementlari shu sinfga kiradi. Bu belgilar turli konstantalarni hosil qilishda, matnlarni yozishda, izoxlarni tashkil qilishda qo‘llanishi mumkin.);
- Murakkab belgilar: * * .. := >= <= ;
- Xizmatchi soʻzlar. Ular paskal tilida maʼlum bir maʼno yoki koʻrsatmani anglatuvchi maxsus belgilar zanjiridan iborat boʻlib, bu zanjirni oʻzgartirish yoki qisqartirib qoʻllash mumkin emas. Masalan: begin, program, end va hokazo.
Eslatma: Agar dasturlar yozishda yuqorida sanab oʻtilgan belgilardan boshqa belgi yoki xizmatchi boʻlmagan soʻzlar uchrab qolsa, bu haqida kompilyator maxsus axborotni kompyuter ekraniga chiqaradi.
Kompilyatorlari
[tahrir | manbasini tahrirlash]Umumiy foydalanish uchun bir nechta Paskal kompilyatorlari va interpretatorlari mavjud:
- Delphi — Embarcadero kompaniyasining (sobiq Borland/CodeGear) tezkor ilovalarni ishlab chiqish (RAD) mahsulotidir. U Windows, mac OS, iOS va Android uchun ilovalar yaratish uchun Paskaldan asosidagi Object Pascal tilidan (Borland tomonidan „Delphi“ deb ataladi) foydalanadi. D8 dan D2005, D2006 va D2007 oraligʻida mavjud boʻlgan .NET qoʻllab-quvvatlashi tugatildi va uning oʻrniga oldingilaridan tubdan farq qiluvchi Oxygene (Prism deb qayta nomlangan) bilan almashtirildi. Soʻnggi yillarda ishlab chiqilgan D2009, D2010, Delphi XEʼda Unicode qoʻllab-quvvatlash va generiklar qoʻshildi.
- Free Pascal — bu Object Pascal tilida yozilgan platformalararo kompilyatordir. U qulay va kuchli kompilyatsiyani taqdim etishga qaratilgan boʻlib, u eski ilovalarni kompilyatsiya qilish va yangilarini ishlab chiqish vositasi boʻlishi mumkin. U GNU ommaviy litsenziyasi (GNU GPL) ostida tarqatiladi, paketlar va asosiy kutubxonalar oʻzgartirilgan GNU Lesser General Public License (GNU LGPL) ostida boʻladi. Turbo Pascal, Delphi va Mac Pascal uchun moslik rejimlaridan tashqari, operatorning haddan tashqari yuklanishi kabi kengaytirilgan funksiyalarni qoʻllab-quvvatlaydigan oʻz protsessual va obyektga yoʻnaltirilgan sintaksis rejimlariga ega. U koʻplab platformalar va operatsion tizimlarni qoʻllab-quvvatlaydi. Joriy versiyalarda ISO rejimi ham mavjud.
- Turbo51 — bu Intel 8051 mikrokontrollerlar oilasi uchun Turbo Pascal 7 sintaksisi bilan bepul Paskal kompilyatori hisoblanadi.
- Oxygene (eski nomi Chrome boʻlgan) — .NET va Mono platformalari uchun Object Pascal kompilyatoridir. U RemObjects Software tomonidan tuzilgan va sotilgan va bir muddat Embarcadero tomonidan Prismʼning backend kompilyatori sifatida sotilgan.
- Kylix — Delphi avlodi boʻlib, Linux operatsion tizimini qoʻllab-quvvatlaydigan va takomillashtirilgan obyektlar kutubxonasiga ega. Hozirda rasman Kylix yangilanishi toʻxtatilgan. Norasmiy foydalanish uchun kompilyator va IDE mavjud.
- Turbo Paskal — 1980-yillar va 1990-yillarning boshlarida shaxsiy kompyuterlar uchun dominant Paskal kompilyatori boʻlgan, u kuchli kengaytmalari va juda qisqa kompilyatsiya vaqtlari tufayli mashhur boʻlgan. Turbo Paskal ixcham tarzda yozilgan va diskdan foydalanmasdan hammasini xotiradan kompilyatsiya qilishi, ishga tushirishi va diskni raskadrovka qilishi mumkin edi. Sekin egiluvchi (floppy) disklar oʻsha paytda dasturchilar uchun keng tarqalgan boʻlib, Turbo Paskalning tezligi ustunligini yanada oshirdi. Hozirda Turbo Paskalning eski versiyalari (5,5 gacha) Borland saytidan bepul yuklab olish mumkin.
Adabiyotlar
[tahrir | manbasini tahrirlash]- Virt N. Algoritmi + strukturi dannix = programmi. — M.: Mir, 1985. — 406 s.
- Virt N., Yensen K. Paskal. Rukovodstvo dlya polzovatelya i opisanie yazika. — M.: Finansi i statistika, 1982. — 151 s.
- Grogono P. Programmirovanie na yazike Paskal. — M.: Mir, 1982. — 384 s.
- Kultin N. B. Delphi 6. Programmirovanie na Object Pascal. — SPb.: BXV-Peterburg, 2001. — 528 s. — ISBN 5-94157-112-7.
- Morgun A. N. Programmirovanie na yazike Paskal (Pascal). Osnovi obrabotki struktur dannix. — M.: Dialektika, 2005. — 576 s. — ISBN 5-8459-0935-X.
- Perminov O. N. Yazik programmirovaniya Paskal : Spravochnik. — M.: Radio i svyaz, 1989. — 128 s. — ISBN 5-256-00311-9.
- Rubenking N. Dj. Turbo Paskal dlya Windows: v 2-x tomax. Per. s angl. — M.: Mir, 1993.
- Yaziki programmirovaniya Ada, Si, Paskal = Comparing and Assessong Programming Languages Ada, C, and Pascal / A. Fyuer, N. Djexani. — M.: Radio i Svyaz, 1989. — 368 s. — 50 000 ekz. — ISBN 5-256-00309-7.
Havolalar
[tahrir | manbasini tahrirlash]- Pascal tili manbalari[sayt ishlamaydi]
- Pascal tili manbalari
- Programmirovanie na pascal — online tutorial (rus) (Wayback Machine saytida 2014-12-09 sanasida arxivlangan)
Izohlar
[tahrir | manbasini tahrirlash]- ↑ Kim B. Bruce. Foundations of Object-oriented Languages: Types and Semantics. MIT Press, 2002-01-01 — 9-bet. ISBN 9780262025232.
- ↑ White Paper. About Microsoftʼs „Delegates“, java.sun.com
- ↑ History of Java, Java Application Servers Report (Wayback Machine saytida 2010-12-29 sanasida arxivlangan) TechMetrix Research, 1999
- ↑ A Conversation with James Gosling
- ↑ „Индекс популярности языков программирования TIOBE“. 2013-yil 2-iyulda asl nusxadan arxivlangan. Qaraldi: 2021-yil 29-noyabr.