Turbo Pascal - Turbo Pascal

Turbo Pascal
Pierwotny autor (autorzy) Anders Hejlsberg (w Borland)
Deweloper(zy) Borland
Pierwsze wydanie 1983 ; 38 lat temu ( 1983 )
System operacyjny CP/M , CP/M-86 , DOS , Windows 3.x , Macintosh
Platforma Z80 , x86 , 68000
Dostępne w język angielski
Rodzaj Zintegrowane środowisko programistyczne

Turbo Pascal to system rozwoju oprogramowania, który zawiera kompilator i zintegrowane środowisko programistyczne (IDE) dla języka programowania Pascal działającego na CP/M , CP/M-86 i DOS . Został pierwotnie opracowany przez Andersa Hejlsberga w Borland i wyróżniał się niezwykle szybkim czasem kompilacji. Turbo Pascal i późniejszy, ale podobny Turbo C , uczyniły Borland liderem w rozwoju na komputery PC.

Dla wersji 6 i 7 (ostatniej) wyprodukowano zarówno tańszego Turbo Pascala, jak i droższego Borlanda Pascala ; Borland Pascal był bardziej zorientowany na profesjonalne tworzenie oprogramowania, z większą liczbą bibliotek i standardowym kodem źródłowym biblioteki. Nazwa Borland Pascal jest również używana bardziej ogólnie dla dialektu Borlanda języka programowania Pascal, znacznie różniącego się od standardowego Pascala.

Borland udostępnił bezpłatnie trzy stare wersje Turbo Pascala ze względu na ich historyczne zainteresowanie: oryginalny Turbo Pascal (obecnie znany jako 1.0) oraz wersje 3.02 i 5.5 dla systemu DOS.

Motywacja i uwolnienie

Philippe Kahn po raz pierwszy dostrzegł szansę dla Borland, swojej nowo utworzonej firmy programistycznej, w dziedzinie narzędzi programistycznych. W przeszłości zdecydowana większość programistów postrzegała swój przepływ pracy w kategoriach cyklu edycji/kompilacji/łączenia, z oddzielnymi narzędziami dedykowanymi do każdego zadania. Programiści pisali kod źródłowy za pomocą edytora tekstu ; kod źródłowy został następnie skompilowany do kodu obiektowego (często wymagającego wielu przejść), a linker połączył kod obiektowy z bibliotekami wykonawczymi w celu utworzenia programu wykonywalnego.

Na wczesnym rynku IBM PC (1981-1983) wszyscy główni dostawcy narzędzi programistycznych tworzyli kompilatory, które działały w podobny sposób. Na przykład system Microsoft Pascal składał się z dwóch przebiegów kompilatora i ostatniego przebiegu łączenia (co mogło zająć kilka minut w systemach z dyskietkami jako dodatkową pamięć masową, chociaż programy były znacznie mniejsze niż obecnie). Proces ten wymagał mniej zasobów niż późniejsze zintegrowane środowisko programistyczne (IDE). Dostawcy narzędzi do tworzenia oprogramowania kierowali swoje produkty do profesjonalnych programistów, a cena tych podstawowych narzędzi oraz narzędzi pomocniczych, takich jak profilery, sięgała setek dolarów.

Pomysłem Kahna było spakowanie wszystkich tych funkcji w zintegrowany zestaw narzędzi programistycznych, zaprojektowany tak, aby zapewniał znacznie lepszą wydajność i wykorzystanie zasobów niż zwykłe profesjonalne narzędzia programistyczne, oraz pobieranie niskiej ceny za pakiet integrujący niestandardowy edytor tekstu, kompilator i wszystkie potrzebne funkcje. tworzyć programy wykonywalne. Program był sprzedawany w sprzedaży wysyłkowej za 49,95 USD, bez przechodzenia przez ustalone kanały sprzedaży (detaliści lub sprzedawcy).

W przeciwieństwie do niektórych innych narzędzi programistycznych, dyski Turbo Pascal nie miały ochrony przed kopiowaniem . Turbo Pascal został dostarczony z „Licencją książkową”: „Musisz traktować to oprogramowanie jak książkę … [z niego] może korzystać dowolna liczba osób… może być swobodnie przenoszone z jednego miejsca komputera do drugiego, tak długo ponieważ nie ma możliwości używania go w jednym miejscu, podczas gdy jest używany w innym”.

Przyjęcie

Jerry Pournelle z magazynu Byte napisał w lutym 1984 r., że Turbo Pascal „zbliża się do tego, do czego zmierza przemysł komputerowy: dobrze udokumentowany, standardowy, z mnóstwem dobrych funkcji i rozsądną ceną”. Pournelle nie podobał się wymóg zakupu kolejnej licencji na dystrybucję plików binarnych, ale zauważył, że „okazuje się, że nie jest to dużo więcej. Borland chce tylko o kolejne 100 USD” więcej niż cena podstawowa 49,95 USD i że „moje pierwsze wrażenie na temat Turbo jest takie, że jest prawdopodobnie warte 149,95 USD. Wygląda na to, że robi wszystko, co robi MT+ z pakietem Speed ​​Programming Package , a może nawet robi to szybciej i lepiej”. W lipcu poinformował, że według Kahna IBM odmówił odsprzedaży Turbo Pascal, chyba że cena wynosiła przynajmniej 200 dolarów; Pournelle zauważył, że "Turbo jest znacznie lepszy niż Pascal IBM sprzedaje" iw przeciwieństwie do tego ostatniego był kompatybilny z IBM PCjr . Trzech recenzentów Byte pochwaliło Turbo Pascala w tym samym numerze. Jedna nazwała wersję DOS „bez wątpienia najlepszą wartością oprogramowania, jaką kiedykolwiek kupiłem”, a druga nazwała wersję CP/M „doskonałym produktem… [Borland] zasługuje na pochwałę za ten wysokiej jakości produkt”. Trzeci stwierdził, że „nie jest to dobry kompilator do tworzenia ogromnych aplikacji”, ale dodał, że jest znacznie lepszy od języka programowania BASIC , który w tamtych czasach był zwykle kojarzony z komputerami domowymi. Doszedł do wniosku, że Turbo Pascal jest „okazją, której nie można przepuścić”.

Pomimo znalezienia czegoś, co opisał jako „poważny błąd” w wersji 3.0 i zmniejszonej kompatybilności z klonami PC , magazyn w lutym 1986 stwierdził, że „trudno nie polecać Turbo każdemu, kto chce programować w Pascalu”, powołując się na zwiększoną szybkość i procedury graficzne. Przeglądając cztery inne kompilatory Pascala w grudniu 1986 roku, Byte określił Turbo Pascala jako „praktyczny i atrakcyjny dla programistów na wszystkich poziomach zaawansowania”. Bruce Webster również pochwalił język w magazynie, stwierdzając w sierpniu 1985 r., że Turbo Pascal „jest najbardziej znany ze swoich niewielkich rozmiarów, niewiarygodnych szybkości kompilacji i szybkiego czasu wykonywania”. Zauważył, że jakość i niska cena oprogramowania były szczególnie zaskakujące po „ fiasku JRT Pascal ” i stwierdził, że nawet przy nowej wyższej cenie 69,95 USD, wersja 3.0 była „prawdopodobnie nadal najlepszą ofertą oprogramowania na rynku”.

Magazyn PC Magazine był podobnie komplementarny w listopadzie 1984 r., stwierdzając, że "nic takiego jak Turbo Pascal nigdy wcześniej nie istniało dla PC-DOS". Pochwalił on niską cenę oprogramowania, szybkość działania, niezwykle dobrą dokumentację jak na kompilator i zwrócił uwagę na istnienie wielu narzędzi innych firm, które miały nadzieję skorzystać na popularności Turbo Pascala. W recenzji stwierdzono, że IDE, które uprościło pętlę edycja-kompilacja-uruchomienie-debugowanie, uczyniło Turbo Pascal dostępnym dla nowych programistów, takich jak BASIC.

Byte w 1989 roku umieścił Turbo C i Turbo Pascala wśród zwycięzców "Wyróżnienia" Byte Awards. Powołując się na interfejs użytkownika i ciągły nacisk na szybkość, magazyn stwierdził, że „w przypadku szybkiego prototypowania nie ma nic lepszego”. W tym samym numerze Pournelle ponownie pochwalił wersję 4.0 i 5.0 Turbo Pascala. Cytując Anacreon jako „dobry przykład tego, jak złożony program można napisać w Pascalu” oraz wiele bibliotek dostępnych od Borland i innych programistów, napisał: „Jestem coraz bardziej przekonany, że Turbo Pascal jest preferowanym językiem programowania dla ludzi, którzy są bardziej zainteresowani tym, czego chcą od maszyny, niż tym, jak to zrobić. Turbo Pascal może nie być ani tak elegancki, ani tak przenośny jak C, ale na pewno jest mniej niejasny. Myślę, że może to być język dla reszta z nas".

Borland sprzedał około 250 000 egzemplarzy Turbo Pascala w ciągu dwóch lat, co Webster opisał jako „niesamowitą figurę jak na język komputerowy”. Sześć miesięcy później poinformował, że liczba ta wzrosła do „ponad 400 000 egzemplarzy na rynku, który oszacowano jako mający tylko 30 000 potencjalnych nabywców”.

Wersje

Wersje CP/M i DOS

Wersja 1

Przednia okładka instrukcji Turbo Pascal 3.0

Kompilator Turbo Pascal został oparty na kompilatorze Blue Label Pascal, który został pierwotnie wyprodukowany dla kasetowego systemu operacyjnego NasSys mikrokomputera Nascom w 1981 roku przez Andersa Hejlsberga . Borland licencjonował rdzeń kompilatora „PolyPascal” Hejlsberga ( Poly Data była nazwą firmy Hejlsberga w Danii) oraz dodał interfejs użytkownika i edytor. Anders Hejlsberg dołączył do firmy jako pracownik i był architektem wszystkich wersji kompilatora Turbo Pascal oraz pierwszych trzech wersji Borland Delphi .

Kompilator najpierw zwolnione Compas Pascal do CP / M , a następnie wydany 20 listopada 1983 roku jako Turbo Pascal CP / M (w tym Apple II komputera, gdy są wyposażone w Z-80 SoftCard skutecznie przekształcenie 6502 opartych na jabłko maszyna CP/M, Commodore 64 z kartridżem CP/M, a później DEC Rainbow ), CP/M-86 i maszyny DOS. W momencie wprowadzenia na rynek amerykański Turbo Pascal kosztował 49,99 USD , co było wówczas bardzo niską ceną jak na kompilator. Zintegrowany kompilator Pascala był dobrej jakości w porównaniu do innych produktów Pascala z tamtych czasów.

Nazwa Turbo nawiązywała do szybkości kompilacji i produkowanych plików wykonywalnych. Cykl edycji/kompilacji/uruchamiania był szybki w porównaniu z innymi implementacjami Pascala, ponieważ wszystko związane z budowaniem programu było przechowywane w pamięci RAM i ponieważ był to kompilator jednoprzebiegowy napisany w języku asemblerowym . Kompilacja była znacznie szybsza niż kompilatory dla innych języków (nawet późniejsze kompilatory Borlanda dla C) i innych kompilatorów Pascala, a także zaoszczędzono czas programisty, ponieważ program można było kompilować i uruchamiać z poziomu IDE. Szybkość wykonywania tych programów w formacie COM była objawieniem dla programistów, których jedyne doświadczenie w programowaniu mikrokomputerów dotyczyło interpretowanego języka BASIC lub UCSD Pascal , który został skompilowany do kodu p, który został następnie zinterpretowany w czasie wykonywania.

Wersja 1 była podstawowym systemem typu „wszystko w jednym”, pracującym w pamięci i produkującym pliki wykonywalne .COM dla DOS i CP/M oraz równoważne pliki wykonywalne .CMD dla CP/M-86 (całkowicie różniące się od plików wsadowych .CMD używanych później w 32-bitowy system Microsoft Windows). Pliki kodu źródłowego były ograniczone do 64 KB, aby uprościć IDE, a pliki DOS .COM były ograniczone do 64 KB każdy ze zmiennych kodu, stosu i globalnych (statycznych). Kod źródłowy programu można rozszerzyć za pomocą funkcji include, jeśli kod źródłowy przekroczył limit pamięci edytora.

Istniały różne wersje Turbo Pascala dla komputerów z systemem DOS, CP/M lub CP/M-86 z 64 KB pamięci i przynajmniej jedną dyskietką. Wersja CP/M mogła działać na wielu ówczesnych maszynach CP/M z procesorami Z80 lub Apple II z kartą Z80. Wersje DOS i CP/M-86 działały na wielu komputerach 8086 i 8088 , które stały się dostępne, w tym na IBM PC. Instalator, lister i kompilator wraz ze swoim IDE oraz kodem źródłowym prostego programu do obsługi arkuszy kalkulacyjnych o nazwie MicroCalc, napisanego jako demonstracja przez Philippe'a Kahna, zmieściłyby się na jednej dyskietce. Kopia dysku bez MicroCalca pomieściłaby kod źródłowy i skompilowany plik wykonywalny programu o rozsądnych rozmiarach — ponieważ w tamtych czasach użytkownicy często mieli tylko jedną stację dyskietek jako pamięć masową , bardzo wygodne było dopasowanie zarówno kompilator, jak i program są zapisywane na jednej płycie, unikając niekończącej się wymiany płyt.

Bill Gates postrzegał sukces Turbo Pascala bardzo osobiście i „nie mógł zrozumieć, dlaczego rzeczy [Microsoftu] były tak powolne. Sprowadził Grega Whittena [dyrektora programistycznego języków Microsoftu] i krzyczał na niego przez pół godziny”. . Nie mógł zrozumieć, dlaczego Kahn był w stanie pokonać tak uznanego konkurenta, jak Microsoft”.

Architektura różnych komputerach z systemem MS-DOS dodatkowo ogranicza maksymalną pojemność pamięci RAM do poniżej 1 MB (na przykład maszyny sprzętowo kompatybilny z IBM PC był ograniczony do 640 kB).

Turbo Pascal IDE był jak na tamte czasy bardzo zaawansowany. Był w stanie dobrze działać i kompilować się bardzo szybko z ilością pamięci RAM na typowym komputerze domowym. IDE było proste i intuicyjne w obsłudze oraz posiadało dobrze zorganizowany system menu. Wczesne wersje edytora wykorzystywały funkcje klawiszy WordStar , co było de facto wówczas standardem. Późniejsze wersje IDE, zaprojektowane dla komputerów PC z większą przestrzenią dyskową i pamięcią, mogły wyświetlać definicje słów kluczowych języka poprzez umieszczenie kursora nad słowem kluczowym i naciśnięcie klawisza F1 (zwykle używanego do wyświetlania pomocy). Wiele definicji zawiera przykładowy kod.

Oprócz standardowych programów wykonywalnych kompilator mógł generować programy typu Terminate and Stay Resident (TSR), małe narzędzia, które pozostawały w pamięci i pozwalały komputerowi wykonywać inne zadania — uruchamianie kilku programów w tym samym czasie, wielozadaniowość , które w inny sposób nie były dostępne. Sam Borland wyprodukował mały pakiet aplikacji o nazwie Sidekick, który był TSR pozwalającym użytkownikowi na prowadzenie dziennika, notatek i tak dalej.

Wersja 2

Wersja 2, wydana kilka miesięcy później, 17 kwietnia 1984 r., była stopniowym ulepszeniem oryginalnego Turbo Pascala, do tego stopnia, że ​​podręcznik referencyjny był początkowo identyczny z wersjami 1, aż do wydania 1983 jako daty praw autorskich do niektórych przykładowe dane wyjściowe kompilatora, ale miały osobny podręcznik "Addendum to Reference Manual: Version 2.0 and 8087 Supplement" z oddzielną numeracją stron.

Dodatki obejmowały system nakładek , w którym oddzielne procedury nakładek byłyby automatycznie zamieniane z dysku na zarezerwowane miejsce w pamięci. Ta pamięć była częścią 64kB pamięci RAM wykorzystywanej przez kod programu i automatycznie odpowiadała rozmiarowi największej procedury nakładki. Procedury nakładek mogą obejmować same sekcje nakładek, ale jeśli nie użyto dysku RAM, wynikowa zamiana dysków może być powolna.

W wersji 2.0 dodano również procedurę Dispose do zarządzania stertą , umożliwiającą zwalnianie poszczególnych zmiennych dynamicznych, jako alternatywę dla bardziej prymitywnego systemu „Mark/Release”. oraz zwiększona kompatybilność z poleceniami WordStar oraz korzystanie z klawiatury numerycznej na komputerze IBM PC i kompatybilnych. Takie komputery PC miały również nowe okno tekstowe i polecenia trybu graficznego CGA , a także możliwość używania głośnika komputera do odtwarzania dźwięków.

Wreszcie, maszyny DOS i CP/M-86 z koprocesorem matematycznym 8087 (lub później kompatybilnym) miały alternatywny kompilator TURBO-87 dostępny do zakupu. Obsługuje długie rzeczywiste typy danych 8087 w zakresie od 1,67E-307 do 1,67E+308 do 14 cyfr znaczących, ale przy znacznie większej szybkości przetwarzania. W instrukcji zauważono, że chociaż kod źródłowy oprogramowania Turbo Pascala oferuje rzeczywiste typy danych w zakresie od 1E-63 do 1E+63 do 11 cyfr znaczących, były one niekompatybilne na poziomie binarnym: poza znacznie większym zakresem, oprogramowanie reals zajęło w pamięci sześć bajtów, a 8087 – osiem.

Podobnie jak wersja 1, wersja 2 dla CP/M-80 działała tylko na maszynach CP/M opartych na Z80 .

Wersja 3

Wersja 3 została wydana 17 września 1986 roku.

Turbo Pascal 3 wspierał grafikę żółwia .

Oprócz domyślnych programowych liczb rzeczywistych i edycji 8087 kompilatora firma Borland zaoferowała również wersję BCD (TURBOBCD), która oferowała ten sam zakres liczbowy co typy danych rzeczywistych, ale do 18 cyfr znaczących.

Wersje DOS

Wersja 4

Wydana 20 listopada 1987 r. wersja 4 została całkowicie przepisana, znacznie zmieniła zarówno wygląd, jak i obsługę wewnętrzną. Kompilator generował pliki wykonywalne w formacie .EXE w systemie DOS, zamiast prostszych, ale bardziej ograniczonych plików wykonywalnych .COM. Wcześniej przestarzałe wersje systemów operacyjnych CP/M i CP/M-86 zostały usunięte podczas przepisywania Turbo Pascal. Wprowadzono jednostki w wersji 4 oraz pełnoekranowy tekstowy interfejs użytkownika z rozwijanymi menu; wcześniejsze wersje miały ekran menu tekstowego i oddzielny edytor pełnoekranowy. ( Microsoft Windows był nadal bardzo eksperymentalny, gdy wypuszczono pierwszą wersję, a nawet myszy były rzadkością.)

Dodatkowy pakiet, Turbo Pascal Graphix Toolbox, był dostępny dla Turbo Pascal V4.

Wersja 5.0

Kolorowe wyświetlacze zastępowały monochromatyczne; Turbo Pascal w wersji 5.0, wydany 24 sierpnia 1988 r., wprowadził niebieski jako domyślny kolor tła edytora, używany przez kompilatory DOS firmy Borland do końca tej linii produktów w połowie lat dziewięćdziesiątych.

Późniejsze wersje pojawiły się w dwóch pakietach o tym samym numerze wersji: tańszy pakiet „Turbo” i pakiet „Borland” z rozszerzonymi możliwościami i większą liczbą dodatków.

Wersja 5.5

Wersja ta, wydana 2 maja 1989 roku, wprowadziła funkcje programowania obiektowego dla języka Pascal, w tym koncepcję klas, obiektów statycznych i dynamicznych, konstruktorów i destruktorów oraz dziedziczenia, które stały się podstawą dla Object Pascal znalezionego w Borland Delphi. IDE używa domyślnego niebieskiego schematu kolorów, który będzie również używany w późniejszych produktach Borland Turbo. Inne zmiany w IDE obejmują:

  • Dodanie debuggera krok po kroku do IDE.
  • Pomoc kontekstowa z opisem wszystkich wbudowanych funkcji oraz możliwością kopiowania fragmentów kodu z pomocy do okna edycji.

Wersja 6.0

Wersja 6 została wydana 23 października 1990 roku.

Zmiany w stosunku do wersji 5.5 obejmują:

  • Dodanie wbudowanej funkcji asemblera dla języka Pascal.
  • Dodanie biblioteki Turbo Vision .
  • Zmiany w IDE obejmują obsługę myszy, schowek do manipulacji tekstem, interfejs wielu dokumentów obsługujący do dziewięciu okien edycji.
  • Debuger obsługuje wykorzystanie punktów przerwania i zegarków.

Wersja 7.0

Wersja 7 została wydana 27 października 1992 roku.

Zmiany w stosunku do wersji 6.0 obejmują:

  • Kompilator wspiera tworzenie plików wykonywalnych DOS i Windows, Windows DLL.
  • Zmiany w IDE obejmują dodanie podświetlania składni.

Turbo Pascal dla Windows

Wydano dwie wersje o nazwie „Turbo Pascal for Windows” (TPW) dla Windows 3.x : TPW 1.0, oparta na Turbo Pascal 6, ale wydana około 2 lata później, oraz 1.5, wydana po Turbo Pascal 7; ich następcą został Borland Pascal 7, który miał wsparcie dla Windows. Kompilator Windows w Pascalu 7 nosił tytuł Borland Pascal for Windows .

Obie wersje zbudowały programy kompatybilne z systemem Windows i zawierały IDE oparte na systemie Windows, w przeciwieństwie do IDE opartego na systemie DOS w Turbo Pascal. Polecenia IDE i edytora były zgodne z wytycznymi interfejsu użytkownika Microsoft Windows zamiast klasycznego interfejsu użytkownika TP. Obsługa programów Windows wymagała biblioteki ObjectWindows , podobnej, ale nie identycznej do tej z pierwszego wydania Borland C++ i radykalnie różnej od wcześniejszego środowiska DOS Turbo Vision . Turbo Pascal został zastąpiony dla platformy Windows przez Delphi ; kompilator Delphi może tworzyć programy konsolowe i aplikacje z graficznym interfejsem użytkownika (GUI), dzięki czemu korzystanie z Turbo i Borland Pascal stało się zbędne.

Turbo Pascal dla Macintosh

Borland wydał Turbo Pascal dla Macintosha w 1986 roku. Podobnie jak wersje od 1 do 3 dla innych systemów operacyjnych, został napisany w kompaktowym języku asemblera i miał bardzo potężne IDE, ale nie miał dobrego debuggera. Borland nie wspierał tego produktu zbyt dobrze, chociaż wydali wersję 1.1, załataną do uruchamiania na 32-bitowym Macintosh II . Wkrótce porzucono wsparcie dla komputerów Macintosh.

Wydania freeware

Borland wydał kilka wersji Turbo Pascala jako freeware po tym, jak stały się one "antycznym oprogramowaniem" ( abandonware ), z 1.0 dla DOS w dniu 1 lutego 2000, 3.02 w dniu 10 lutego 2000, 5.5 w dniu 21 lutego 2002, Turbo Pascal 7.01 w wersji francuskiej w roku 2000. Większość plików do pobrania jest nadal dostępna na stronie następcy Embarcadero Technologies .

Następcy

Do 1995 roku Borland porzucił Turbo/Borland Pascal i zastąpił go środowiskiem szybkiego tworzenia aplikacji (RAD) Borland Delphi , opartym na Object Pascal. 32- i 64- bitowe wersje Delphi nadal obsługują bardziej przenośne rozszerzenia Pascal wcześniejszych produktów (tj. te, które nie są specyficzne dla kodu 16-bitowego), w tym starszy statyczny model obiektowy. Kompatybilność wsteczna tego języka oznacza, że ​​wiele starego kodu Turbo Pascala można nadal kompilować i uruchamiać w nowoczesnym środowisku.

Inni dostawcy stworzyli narzędzia programistyczne kompatybilne z Turbo Pascal. Najbardziej znane to Free Pascal i Virtual Pascal .

W edukacji

Borland Pascal jest nadal nauczany w niektórych krajach na poziomie szkoły średniej, szóstej i uniwersyteckiej. Jest nauczany w kolegiach i uniwersytetach w Kostaryce, Turcji, Iraku, Niemczech, Federacji Rosyjskiej, USA oraz w szkołach średnich w Argentynie, Belgii, Bułgarii, Kanadzie, Kostaryce, Chorwacji, Francji, Węgrzech, Włoszech, Jamajce, Libii, Mołdawii , Rumunia, Serbia, Tunezja, Ukraina, Czechy i Wietnam. Do 2002 r. był to zatwierdzony przez państwo język programowania edukacyjnego we wszystkich południowoafrykańskich szkołach średnich. Obecnie jest on nadal nauczany na niektórych uniwersytetach na całym świecie jako wprowadzenie do programowania komputerowego, zwykle w C lub Javie lub obu.

Niektórzy wykładowcy wolą używać Borland Pascal 7 lub Turbo Pascal 5.5 z powodu swojej prostoty w porównaniu do bardziej nowoczesnych IDE takich jak Microsoft Visual Studio lub Borland JBuilder , więc wprowadza studentów nieznanych z informatyki do typowych zadań, takich jak przy użyciu klawiatury i skrótów klawiaturowych ( TP 5.5 nie obsługuje myszy), zapoznaje ich z poleceniami DOS (które są w dużej mierze takie same jak te z wiersza poleceń Microsoft Windows) i pozwala im pisać programy bez poświęcania dużej ilości wysiłku na uruchomienie środowiska. TP 5.5 jest dostępny do bezpłatnego pobrania z firmy Borland.

Cechy

język programowania

Podczas gdy wszystkie wersje Turbo Pascala mogły zawierać wbudowany kod maszynowy , począwszy od wersji 6 możliwe było zintegrowanie języka asemblera z kodem źródłowym Pascala.

Obsługa różnych modeli pamięci 8086 została zapewniona przez wbudowany asembler, opcje kompilatora i rozszerzenia językowe, takie jak słowo kluczowe „absolute”. Turbo Assembler , TASM, standard x86 asembler niezależne od TP, a źródło kompatybilne z powszechnie stosowanych Microsoft Macro Assembler MASM, został dostarczony z rozszerzonych wersjach "Borland Pascal".

Debugowanie i profilowanie

IDE udostępnia kilka funkcji debugowania, w tym pojedyncze kroki , badanie i zmianę zmiennych oraz warunkowe punkty przerwania. W późniejszych wersjach bloki języka asemblera można było przeskoczyć. Użytkownik mógł dodawać punkty przerwania na zmiennych i rejestrach w oknie IDE. Programy korzystające z trybu graficznego IBM PC mogą przełączać się między trybem graficznym i tekstowym automatycznie lub ręcznie lub wyświetlać oba na dwóch ekranach. W przypadkach, w których stosunkowo proste funkcje debugowania IDE były niewystarczające, Turbopower Software stworzyło wydajniejszy debugger, T-Debug. Ta sama firma wyprodukowała Turbo Analyst i Overlay Manager dla Turbo Pascal. T-Debug został później zaktualizowany dla Turbo Pascal 4, ale wycofano go wraz z wydaniem Borlanda Turbo Debugger (TD), który umożliwił również pewne interwencje sprzętowe na komputerach wyposażonych w nowy procesor 80386 .

TD był zwykle dostarczany w połączeniu z Turbo Assembler i Turbo Profiler, profilerem kodu, który raportował czas spędzony w każdej części programu, aby pomóc w optymalizacji programu poprzez znajdowanie wąskich gardeł. Książki dołączone do Borland Pascal zawierały szczegółowe opisy języka asemblera Intela , w tym liczbę cykli zegara wymaganych przez każdą instrukcję. Rozwój i debugowanie można było przeprowadzić całkowicie w IDE, chyba że wymagane były zaawansowane funkcje debugowania Turbopower T-Debug, a później TD.

Późniejsze wersje obsługiwały również zdalne debugowanie za pomocą kabla komunikacyjnego RS-232 .

Jednostki

Z biegiem lat Borland ulepszał nie tylko IDE, ale także rozszerzał język programowania. System programistyczny oparty na standardzie ISO Pascal wymaga rozszerzeń specyficznych dla implementacji w celu tworzenia rzeczywistych aplikacji na docelowych platformach. Standard Pascal został zaprojektowany jako niezależny od platformy, więc nie zaleca dostępu niskiego poziomu do urządzeń zależnych od sprzętu lub systemu operacyjnego. Standardowy Pascal nie określa również, jak duży program powinien być dzielony na oddzielne jednostki kompilacji. Od wersji 4 Turbo Pascal przejął koncepcję jednostek z UCSD Pascal . Jednostki były używane jako zewnętrzne biblioteki funkcji, podobnie jak pliki obiektowe używane w innych językach, takich jak FORTRAN lub C.

Na przykład wiersz uses crt;w programie zawierał jednostkę o nazwie crt; usesjest mechanizm za pomocą innych jednostek kompilacji. interfacei implementationbyły słowami kluczowymi używanymi do określenia, w ramach jednostki, co było (a co nie było) widoczne poza jednostką. Jest to podobne do słów kluczowych publici privatew innych językach, takich jak C++ i Java .

Jednostki w Pascalu Borlanda były podobne do oddzielnego systemu kompilacji Modula-2 . W 1987 roku, kiedy Turbo Pascal 4 został wydany, Modula-2 zaczęła się rozwijać jako język edukacyjny, który mógłby zastąpić Pascala. Borland w rzeczywistości miał kompilator Turbo Modula-2, ale wydał go tylko na CP/M (jego interfejs użytkownika był prawie identyczny z interfejsem Turbo Pascal 1-3), z niewielkim marketingiem. Opracowano znacznie ulepszoną wersję DOS, ale ponieważ Borland nie chciał publikować samych wyników, autorzy, w tym Niels Jensen, kupili prawa i założyli Jensen & Partners International, aby opublikować ją jako JPI TopSpeed ​​Modula-2. Zamiast tego Borland zdecydował się na zaimplementowanie oddzielnej kompilacji w swoim uznanym produkcie Pascal.

Oddzielna kompilacja nie była częścią standardowego języka Pascal, ale była już dostępna w UCSD Pascal , który był bardzo popularny na maszynach 8-bitowych. Wygląda na to, że składnia Turbo Pascal dla jednostek została zapożyczona z UCSD Pascal. Wcześniejsze wersje Turbo Pascala, przeznaczone dla komputerów o ograniczonych zasobach, obsługiwały system dynamicznego linkowania dla oddzielnie kompilowanych obiektów typu „łańcuch i wykonaj”, podobny do systemu szeroko stosowanego w BASICu. Ponadto język zawierał instrukcję włączenia oddzielnego kodu źródłowego do programu, gdy było to konieczne, a nakładanie było obsługiwane z TP3, ale, podobnie jak w przypadku nakładek, obiekty połączone w łańcuch musiały zmieścić się w oryginalnej (ograniczonej) przestrzeni pamięci programu. Wraz z rozwojem infrastruktury obliczeniowej i pamięci masowej do Turbo Pascal dodano możliwość generowania dużych plików EXE, z możliwością statycznego łączenia i zbiorczego ładowania oddzielnie skompilowanych obiektów.

Pliki .TPU wyprowadzane przez kompilację jednostki Turbo Pascal są ściśle powiązane z wewnętrznymi strukturami kompilatora, a nie ze standardowymi plikami .OBJ, które można łączyć. To poprawiło czasy kompilacji i łączenia, ale oznaczało, że pliki .TPU nie mogły być łączone z danymi wyjściowymi innych języków, a nawet używane z różnymi wersjami Turbo Pascala, chyba że zostały ponownie skompilowane ze źródeł.

Programowanie obiektowe

Od wersji 5.5 wprowadzono kilka funkcji programowania obiektowego : klasy, dziedziczenie, konstruktory i destruktory. IDE zostało już rozszerzone o interfejs przeglądarki obiektów pokazujący relacje między obiektami i metodami oraz umożliwiający programistom łatwą nawigację po modułach. Borland nazwał swój język Object Pascal , który został znacznie rozszerzony, aby stać się językiem leżącym u podstaw Delphi (który ma dwa oddzielne systemy OOP). Nazwa „Object Pascal” pochodzi od rozszerzeń Pascal opracowanych przez firmę Apple Inc. do programowania komputerów Lisa i Macintosh . Pomysłodawca Pascala, Niklaus Wirth, konsultował się przy opracowywaniu tych rozszerzeń, które opierały się na typie rekordu już obecnym w Pascalu.

Problem z jednostką CRT na szybkich procesorach

Kilka wersji Turbo Pascala, w tym najnowsza wersja 7, zawiera jednostkę CRT używaną przez wiele pełnoekranowych aplikacji w trybie tekstowym. To urządzenie zawiera kod w sekcji inicjalizacji, aby określić prędkość procesora i skalibrować pętle opóźnień. Ten kod nie działa na procesorach o szybkości większej niż około 200  MHz i zostaje natychmiast przerwany z komunikatem „Runtime Error 200”. (kod błędu 200 nie miał nic wspólnego z szybkością procesora 200 MHz). Jest to spowodowane tym, że pętla działa, aby zliczyć, ile razy może wykonać iterację w ustalonym czasie, mierzonym przez zegar czasu rzeczywistego . Kiedy Turbo Pascal został opracowany, działał na maszynach z procesorami działającymi z częstotliwością od 1 do 8 MHz i niewiele uwagi poświęcono możliwości znacznie wyższych prędkości, więc od około 200 MHz można wykonać wystarczającą liczbę iteracji, aby przepełnić 16-bitowy licznik. Łata została wyprodukowana kiedy maszyny stał się zbyt szybko do oryginalnej metody, ale nie jako prędkość procesora wzrosła jeszcze bardziej, i został zastąpiony przez innych.

Programy podlegające temu błędowi można ponownie skompilować z kodu źródłowego za pomocą załatanego kompilatora w celu wyeliminowania błędu (przy użyciu samego TURBO.TPL skompilowanego z poprawioną jednostką CRT) lub, jeśli kod źródłowy nie jest dostępny, pliki wykonywalne można załatać za pomocą narzędzia o nazwie TPPATCH lub równoważny, albo przez załadowanie programu Zakończ i pozostań rezydentnym załadowanego przed uruchomieniem wadliwego programu.

Istnieją również poprawki do samego kompilatora TP7, więc jeśli dostępne jest źródło Pascala, kod nowej kompilacji będzie działał bez konieczności łatania skompilowanego kodu. Jeśli kod źródłowy jest dostępny, rozwiązaniem jest również przeniesienie do bibliotek bez zależności od szybkości zegara procesora.

zmiennoprzecinkowy

Istniało kilka typów zmiennoprzecinkowych , w tym single(4-bajtowa reprezentacja [IEEE 754]) double(8-bajtowa reprezentacja IEEE 754) extended(10-bajtowa reprezentacja IEEE 754 używana głównie wewnętrznie przez koprocesory numeryczne ) i Real(6-bajtowa reprezentacja IEEE 754 ) reprezentacja).

Na początku Realbył najbardziej popularny. Większość komputerów tamtych czasów nie miała koprocesora zmiennoprzecinkowego, więc wszystkie FP musiały być wykonywane w oprogramowaniu. Własne algorytmy FP firmy Borland Realbyły szybsze niż użycie innych typów, chociaż jego biblioteka emulowała również inne typy w oprogramowaniu.

Składnia

  • Pascal nie rozróżnia wielkości liter .
  • Historycznie, komentarze Pascala są załączone { within pairs of braces }, lub (* left parenthesis/asterisk and asterisk/right parenthesis pairs *), i mogą one obejmować dowolną liczbę wierszy. Późniejsze wersje Borland Pascal również wspierały komentarze w stylu C++ // preceded by two forward slashes , które kończą się na końcu linii.
  • Składnia instrukcji casejest bardziej elastyczna niż standardowy Pascal.
  • Zestawy mogą mieć maksymalnie 256 (2 8 ) członków.
  • StringObsługiwany jest standardowy Pascal poprzedzony bajtem długości i zajmuje ustaloną ilość pamięci; późniejsze wersje dodały bardziej elastyczny typ zakończony znakiem null, nazywając starszy typ „krótkim ciągiem”. Starszy kod źródłowy, który obsługuje łańcuchy w niestandardowy sposób (np. bezpośrednie manipulowanie bajtem długości, jak S[0]:=14przycinanie łańcucha) musi albo mieć swoje łańcuchy zadeklarowane jako krótkie, albo przepisane.

Oto klasyczny program Hello World w Turbo Pascal:

program HelloWorld;
begin
  WriteLn('Hello World')
end.

To prosi o nazwę i zapisuje je z powrotem na ekranie sto razy:

program WriteName;
var
  i    : Integer;        {variable to be used for looping}
  Name : String;         {declares the variable Name as a string}
begin
  Write('Please tell me your name: ');
  ReadLn(Name);          {ReadLn returns the string entered by the user}
  for i := 1 to 100 do
  begin
    WriteLn('Hello ', Name)
  end;
 readln;
end.

Zobacz też

Bibliografia

Zewnętrzne linki