Кіріспе

Паскаль бағдарламалау тілінің объектіге бағытталған туындыларының саласы – Object Pascal. MacApp қолдау үшін Object Pascal қажет болды, бұл қазірде сыныптар кітапханасы деп аталатын кеңейтілген Macintosh қолданбалар фреймворкі еді. Object Pascal кеңейтімдері мен MacApp-ты Барри Хейнс, Кен Дойл және Ларри Розенштейн жасады, ал Дэн Аллен сынақтан өткізді. Лари Теслер 1985 жылдың басында басталып, 1986 жылы өнімге айналған жобаны бақылады. Think Pascal интеграцияланған даму ортасында (IDE) да Object Pascal кеңейтімі іске асырылды. IDE құрамына компилятор, синтаксисті ерекшелендіру және тексеруі бар редактор, қуатты жөндеуші және сыныптар кітапханасы кіреді. Көптеген әзірлеушілер Think Pascal-ды Apple-дің Object Pascal нұсқасынан артық көрді, себебі Think Pascal әлдеқайда жылдам компиляция-байланыс-жөндеу циклын ұсынды және құралдары тығыз интеграцияланған. Think Pascal-дың соңғы ресми нұсқасы 1992 жылы 4.01 болды. Symantec кейіннен 4.5d4 бейресми нұсқасын тегін шығарды. Apple 1994 жылы Motorola 68000 сериялы чиптерден IBM PowerPC архитектурасына көшкенде Object Pascal қолдауын тоқтатты. MacApp 3.0 C++ тілінде қайта жазылып, осы платформаға көшірілді. Metrowerks CodeWarrior арқылы 68k және PowerPC үшін Object Pascal компиляторын ұсынды, бұл IDE-де де, MPW құралдары ретінде де қолданылды. Macintosh әзірлеушілері Object Pascal-ды пайдаланып, Apple және Symantec қолдауын тоқтатқаннан кейін де PowerPC-ге көшуге мүмкіндік алды. Object Pascal-да жазылған MacApp 2.0 CodeWarrior арқылы PowerPC-ге портталды.

Borland, Inprise, CodeGear және Embarcadero жылдары

1986 жылы Borland Macintosh үшін Turbo Pascal өніміне, ал 1989 жылы DOS үшін Turbo Pascal 5.5-ке ұқсас кеңейтулерді енгізді, олар да Object Pascal деп аталды. 1994 жылы Borland DOS-тан Windows-қа көшкенде, Turbo Pascal-дың Delphi деп аталатын жаңаруын жасады және қазір Delphi тілі деп белгілі жаңа кеңейтулер жиынтығын ұсынды. Delphi-нің әзірленуі 1993 жылы басталды және Delphi 1.0 АҚШ-та 1995 жылдың 14 ақпанында ресми түрде жарияланды. Turbo Pascal объект моделін пайдаланатын кодты құрастыру мүмкіндігі сақталғанмен, Delphi жаңа синтаксис енгізді: объектке қарағанда class кілт сөзін, Create конструкторын және виртуалды Destroy деструкторын (New және Dispose процедураларын шақыру қажеттілігін жойды), сондай-ақ қасиеттерді, әдіс көрсеткіштерін және тағы басқаларын ұсынды. Бұл кеңейтулер ISO объектіге бағытталған кеңейтулер жөніндегі жұмыс жобасынан шабыттанды, бірақ Turbo Pascal диалектісінен көптеген айырмашылықтар (мысалы, жобадағы барлық әдістердің міндетті түрде виртуалды болуы) ескерілмеді. Delphi тілі жылдар бойы динамикалық массивтер, generics және анонимді әдістер сияқты құрылымдарды қолдау үшін дамып келеді. Apple енгізген ескі объект синтаксисі ("Ескі үлгідегі объект түрлері") әлі де қолдау көрсетіледі.

Нұсқалар

Борланд алғашқы нұсқаларда бағдарламалау тілі үшін Object Pascal атауын қолданған, бірақ кейін оны Delphi деп қайта атады. Object Pascal-пен үйлесімді деп мәлімдейтін компиляторлар көбінесе Delphi бастапқы кодымен үйлесімді болуға тырысады. Delphi – бұл сауда белгісі болғандықтан, үйлесімді компиляторлар Object Pascal атауын пайдалануды жалғастырады. 2008 жылы Delphi-ді сатып алған Embarcadero Technologies компаниясы Delphi интеграцияланған даму ортасын (IDE) сатады, ол Object Pascal-дің Delphi диалектісін Windows және macOS, iOS, Android және Web-ке компиляциялайды. NET қолдауы Delphi 8-ден Delphi 2005, 2006 және 2007 жылдарына дейін болды, бірақ қазір ол Oxygene (төменде қараңыз) тілімен ауыстырылды, ол толыққанды кері үйлесімді емес. RemObjects Software компаниясы әзірлеген Oxygene тілі Common Language Infrastructure, Java Runtime Environment және Apple компаниясының iOS және macOS үшін Cocoa фреймворктеріне бағытталған. Ашық кодты Free Pascal жобасы Linux (32 бит, 64 бит), FreeBSD, Classic Mac OS, macOS, Solaris, Windows API (32, 64, CE), ARM нұсқаулар жиынтығы архитектурасы (ISA) және басқа да көптеген аппараттық архитектуралар сияқты операциялық жүйелер үшін компиляциялауға мүмкіндік береді. Free Pascal-дың iPhone бағдарламалық жасақтаманы әзірлеу жиынтығы (SDK) 2.x нұсқасы 2009 жылдың 17 қаңтарында жарияланды. Smart Pascal тілі ECMAScript–JavaScript-ті мақсат етеді және Джон Леннарт Асенден жазған, ал Optimale Systemer (2012) басып шығарған Smart Mobile Studio-да қолданылады. Бұл тіл объектіге бағытталған және жылдам қосымшаларды әзірлеу (RAD) әдістері арқылы HTML5 әзірлеуді жеңілдетеді. Smart Pascal түйін сияқты қалыптасқан технологиялармен тығыз байланысты. js, Embarcadero DataSnap және Remobjects SDK жоғары өнімді клиент-сервер үлгісіндегі веб-қосымшаларды жасау үшін. Тіл визуалды компоненттер мен қайта пайдалануға болатын кітапханаларды оңай жасауға мүмкіндік береді. Smart Pascal диалектісі DWScript тілінен шыққан, ол JavaScript ортасымен және кітапханаларымен жақсы интеграцияланады, мысалы, Pascal символдарына қол жеткізе алатын asm бөлімдері (жасыл JavaScript коды) немесе прототиптік JavaScript сыныптарына тікелей сәйкес келетін сыртқы сыныптар. Smart Pascal шынайы мұрагерлік, сыныптар, ішінара сыныптар, интерфейстер, виртуалды әдіс кестесі және әдетте JavaScript-ке кірмейтін көптеген басқа да жетілдірілген құрылымдарды енгізеді. Morfik компаниясы әзірлеген Morfik Pascal тілі Ajax-ты қолдайтын веб-қосымшаларға бағытталған. Компилятор компанияның AppsBuilder IDE-сіне енгізілген және браузерде немесе серверде орындалатын кодты іске асыру үшін Object Pascal кодын пайдалануға мүмкіндік береді. Ол Free Pascal компиляторын пайдаланып, Object Pascal-дан жергілікті бинарлық файлдарды жасайды. Ашық кодты GNU Pascal компиляторы GNU Compiler Collection-ның алдыңғы бөлігі ретінде қол жетімді, ол Халықаралық стандарттау ұйымының (ISO) 7185 Pascal стандартын және ISO 10206 кеңейтілген Pascal стандартының көп бөлігін іске асырады. Turbo51 – Intel 8051 чиптерін бағдарламалау үшін тегін компилятор. WDSibyl – Microsoft Windows және OS/2 үшін Delphi сияқты ашық бастапқы коды бар IDE және компилятор, сондай-ақ Speedsoft компаниясы шығарған коммерциялық Turbo Pascal үйлесімді орта, кейіннен Sybil деп аталатын Delphi сияқты RAD ортасына дамытылды, содан кейін компания жабылып қалғанда GPL лицензиясы бойынша ашық кодты болды. Қазір бағдарламалық жасақтаманы Вольфганг Дракслер (WD) күзетеді. Компилятор DLL-де орналасқан сияқты және ашық кодты емес.

Компиляторлар

Object Pascal компиляторлары операциялық жүйелер мен архитектуралардың кең ауқымы үшін қолжетімді. Delphi, әлдебір ең танымал компилятор. Ол Borland Pascal және Turbo Pascal өнімдерінің өте табысты мұрагері. Ол Windows 9x (Delphi 2007 және одан бұрынғы), Windows NT отбасы, .NET Framework (Delphi 8, 2005, 2007), macOS (Delphi XE2 және одан кейінгі), iOS (Delphi XE2 және одан кейінгі, XE4 және одан кейінгі нұсқаларын тудырады), Android (Delphi XE5 және одан кейінгі, XE5 және одан кейінгі нұсқаларын тудырады) үшін жасалған. .NET қолдауы ақырында Oxygene деп аталатын жеке өнімге айналды (төменде қараңыз). Free Pascal Compiler (FPC) – көптеген Pascal диалектілерін, соның ішінде Turbo Pascal 7, Delphi және басқаларын қолдайтын ашық кодты Object Pascal компиляторы. Қазіргі уақытта FPC IA 32, x86 64, PowerPC, SPARC және ARM процессорлары үшін, сондай-ақ Microsoft Windows, Linux, FreeBSD, Classic Mac OS және macOS (Xcode интеграциялық жиынтығымен) сияқты бірнеше операциялық жүйелер үшін код жасай алады. FPC-мен жылдам қосымшаларды әзірлеуді жеңілдету үшін бірнеше жеке жобалар бар, олардың ең танымалларының бірі Lazarus (IDE). GNU Pascal (GNU Compiler Collection-ның бөлек бөлігі), Delphi Pascal диалектіне ресми түрде бағытталмаса да, Turbo Pascal үйлесімділік режиміне ие және Delphi тілінің кейбір мүмкіндіктерін бірте-бірте қосып алады. Ол Delphi кодтың үлкен көлемін тікелей қайта компиляциялауға жарамсыз, бірақ операциялық жүйелер мен аппараттық архитектураларға кең қолдау көрсетуімен ерекшеленеді. Oxygene (бұрынғы Chrome) – RemObjects Software компаниясының Microsoft Visual Studio-мен интеграцияланатын Object Pascal компиляторы. Ол сонымен қатар CLI-де жергілікті түрде жұмыс істейтін тегін командалық қатар интерфейсі компиляторы ретінде де қолжетімді. Ол үш компилятордың бірі, әрқайсысы әртүрлі платформаға бағытталған: .NET Framework үшін Echoes, Mono, WinRT және Windows Phone 8, JDK және Android үшін Cooper, ал iOS және macOS үшін Nougat.

Мұралық өнімдер

Borland Kylix - бұл Delphi-нің Linux нұсқасы, ол тек Intel 32 бит Linux жүйесін, Qt кітапханасын қолдана отырып, бағыттайды. Ол көптеген қазіргі заманғы Linux дистрибутивтерімен бірден жұмыс істемейді. Virtual Pascal - негізінен OS/2 және Microsoft Windows үшін тегін 32 биттік Turbo Pascal және Delphi-мен үйлесімді компилятор болды. Кейін ол DOS+ Extender және тәжірибелік Linux кросс-компиляторын да алды. Компилятордың дамуы шамамен Delphi 2 деңгейінде тоқтады. 2007 жылы оның ресми сайты жұмысын тоқтатты және одан әрі даму аяқталды.

Аудармашылар

Pascal Script (бұрын InnerFuse) және DWScript (Delphi Web Script) – Delphi-де жазылған ашық кодты Object Pascal интерпретаторлары және скрипттерді орындау жүйелері. Олар Object Pascal-дің бір бөлігін қолдайды. DWScript Object Pascal кодын JavaScript кодына (Smart Pascal) түрлендіре алады, сондай-ақ уақытша компиляцияны (JIT) қолдайды. Қазіргі заманғы Pascal 3 түрлі интерпретаторды ұсынады: командалық қатар интерфейсі (CLI), Apache модулі (Celerity) және CodeRunner (node.js сияқты, әр порт үшін әртүрлі скрипттерді өңдей алатын шешім), одан бөлек скрипт кодтарын құрастыру және қорғау мүмкіндігі де бар.

"Hello World" бағдарламасының үлгілері

Мұнда әртүрлі Object Pascal нұсқаларындағы бірнеше "Hello World" бағдарламасы келтірілген.

Turbo Pascal нұсқасы

Дельфи және Free Pascal-да әлі де қолданылады. FPC кітапханалар/бөлімшелердің орнына өзгертулерді (қосымшаларын) жинақтап ұсынады, ал Дельфи мұндай жасамайды. Free Pascal 1.0 сериясы және FPC textmode IDE осы диалекттегі ең ірі ашық кодтық базалар болып табылады. Free Pascal 2.0 Delphi-ге ұқсас диалектіде қайта жазылды, ал textmode IDE және байланысты фреймворктер (Free Vision) Object Pascal-дің TP нұсқасындағы жалғыз бөліктері болып табылады.

Даму

Object Pascal-ге Delphi және FreePascal-ға қосымша мүмкіндіктер арқылы көптеген жаңа мүмкіндіктер үнемі енгізіліп келеді. Сынаптауларға жауап ретінде Free Pascal, Delphi үйлесімділік режимі таңдалған жағдайда, Delphi-мен бірдей синтаксиспен жалпыламаларды (generics) қабылдады, ал Delphi (ішінара) және Free Pascal (толыққанды) операторларды жүктеуді (operator overloading) қолдайды. Delphi 7 нұсқасынан бері, жалпыламаларды қоса алғанда, көптеген басқа да мүмкіндіктер енгізілді. FreePascal Delphi үйлесімділік режимінде Delphi-мен үйлесімді болуға тырысып, сонымен қатар Delphi-де әрдайым қолжетімді емес көптеген жаңа мүмкіндіктерді де енгізеді.