Turing (język programowania) - Turing (programming language)
Paradygmat | wieloparadygmat : obiektowy , proceduralny |
---|---|
Zaprojektowany przez | Ric Holt i James Cordy |
Deweloper | Holt Software Associates |
Po raz pierwszy pojawiły się | 1982 |
Dyscyplina pisania | statyczny , manifest |
OS | Microsoft Windows |
Główne wdrożenia | |
Turinga, TPlus, OpenT | |
Dialekty | |
Turing obiektowy , Turing Plus | |
Wpływem | |
Euklides , Pascal , SP/k |
Turing jest językiem programowania podobnym do Pascala , opracowanym w 1982 roku przez Rica Holta i Jamesa Cordy'ego z Uniwersytetu Toronto w Toronto , Ontario, Kanada. Turing jest potomkiem Euclida , Pascala i SP/k, który charakteryzuje się czystą składnią i precyzyjną semantyką niezależną od maszyny.
Turing 4.1.0 to najnowsza stabilna wersja Turinga. Turing 4.1.1 i Turing 4.1.2 nie pozwalają na tworzenie samodzielnych plików .EXE, a wersje przed Turing 4.1.0 mają przestarzałą składnię i przestarzałe funkcje.
Przegląd
Nazwany na cześć brytyjskiego informatyka Alana Turinga , Turing jest używany przede wszystkim jako język nauczania na poziomie szkoły średniej i uniwersytetu. Istnieją dwie inne wersje, Object-Oriented Turing i Turing Plus , wariant programowania systemów. We wrześniu 2001 roku „Turing zorientowany na obiekt” został przemianowany na „Turing”, a oryginalny Turing został przemianowany na „Classic Turing”. Turing nie jest już wspierany przez Holt Software Associates w Toronto, Ontario . Obecnie jedyną obsługiwaną platformą jest Microsoft Windows . Turing jest szeroko stosowany w szkołach średnich w Ontario jako wprowadzenie do programowania.
28 listopada 2007 r. Turing, który wcześniej był komercyjnym językiem programowania, stał się darmowym oprogramowaniem, dostępnym do bezpłatnego pobrania ze strony internetowej programisty do użytku osobistego, komercyjnego i edukacyjnego.
Twórcy Turing, Holt Software Associates, od tego czasu zaprzestali działalności, a Turing nie widzi dalszego rozwoju od 25 listopada 2007 r.
Składnia
Turing ma bardzo lekką, czytelną i intuicyjną składnię. Oto cały Hello World! program w Turingu z podświetlaniem składni :
put "Hello World!"
Turing unika średników i nawiasów klamrowych, używając zamiast tego wyraźnych znaczników końcowych dla większości konstrukcji językowych i zezwala na deklaracje w dowolnym miejscu. Oto kompletny program definiujący i wykorzystujący tradycyjną funkcję rekurencyjną do obliczenia silni .
% Accepts a number and calculates its factorial function factorial (n: int) : real if n = 0 then result 1 else result n * factorial (n - 1) end if end factorial var n: int loop put "Please input an integer: " .. get n exit when n >= 0 put "Input must be a non-negative integer." end loop put "The factorial of ", n, " is ", factorial (n)
Otwarte wdrożenia
Obecnie istnieją dwie alternatywne implementacje Turinga o otwartym kodzie źródłowym: Open Turing, wersja open source oryginalnego interpretera i TPlus, natywny kompilator dla wariantu języka programowania systemów współbieżnych Turing Plus . OpenT, projekt rozwoju kompilatora dla Turinga, nie jest już w fazie rozwoju.
Otwórz Turinga
Open Turing to otwarta implementacja oryginalnego interpretera Turinga dla systemu Windows napisana przez Tristana Hume'a. Zawiera ulepszenia szybkości, nowe funkcje, takie jak OpenGL 3D i nowy edytor kodu. Jest w pełni kompatybilny wstecz z implementacją o zamkniętym kodzie źródłowym.
TPlus
TPlus to otwarta implementacja oryginalnego (niezorientowanego obiektowo) Turinga z rozszerzeniami programowania systemów opracowanymi na Uniwersytecie w Toronto i przeniesionymi na systemy Linux, Solaris i Mac OS X na Queen's University pod koniec lat 90-tych. TPlus implementuje Turing+ ( Turing Plus ), współbieżny język programowania systemów oparty na oryginalnym języku programowania Turing. Niektóre, ale nie wszystkie, cechy Turing Plus zostały ostatecznie włączone do obecnego języka Turing zorientowanego obiektowo . Turing Plus rozszerza oryginalny Turing o procesy i monitory (określone przez CAR Hoare ) oraz konstrukcje językowe potrzebne do programowania systemów, takie jak binarne wejście-wyjście, oddzielna kompilacja, zmienne pod adresami absolutnymi, konwertery typów i inne funkcje.
Drobnostki
Jako dodatek do zwykłych funkcji rysowania grafiki, Turing posiada specjalne funkcje do rysowania liści klonu, aby ułatwić rysowanie kanadyjskiej flagi .
Turinga+
Paradygmat | wieloparadygmat : obiektowy , proceduralny , współbieżny |
---|---|
Zaprojektowany przez | Ric Holt i James Cordy |
Deweloper | Ric Holt i James Cordy |
Po raz pierwszy pojawiły się | 1987 |
Dyscyplina pisania | statyczny , manifest |
Wpływem | |
Równoczesny Euklides , Turing | |
Pod wpływem | |
Turing zorientowany obiektowo |
Turing+ (Turing Plus) to współbieżny język programowania systemów oparty na języku programowania Turing zaprojektowanym przez Jamesa Cordy'ego i Rica Holta , a następnie na University of Toronto w Kanadzie, w 1987 roku. Niektóre, ale nie wszystkie, cechy Turing + zostały ostatecznie podporządkowana Turinga obiektowego . Turing+ rozszerzony oryginalny Turing o procesy i monitory (zgodnie ze specyfikacją CAR Hoare ) oraz konstrukcje językowe potrzebne do programowania systemów, takie jak binarne wejście-wyjście, oddzielna kompilacja, zmienne pod adresami absolutnymi, konwertery typów i inne funkcje.
Turing+ został wyraźnie zaprojektowany, aby zastąpić współbieżny Euclid w aplikacjach do programowania systemów. System operacyjny TUNIS , pierwotnie napisany w Concurrent Euclid, został przekodowany do Turing+ w implementacji MiniTunis . Turing+ został wykorzystany do wdrożenia kilku systemów oprogramowania produkcyjnego, w tym języka programowania TXL .
Turing zorientowany obiektowo
Paradygmat | wieloparadygmat : obiektowy , proceduralny , współbieżny |
---|---|
Zaprojektowany przez | Ric Holt |
Deweloper | Ric Holt |
Po raz pierwszy pojawiły się | 1991 |
Dyscyplina pisania | statyczny , manifest |
OS | Wieloplatformowy : Sun-4 , MIPS , RS-6000 |
Wpływem | |
Turing |
Object-Oriented Turing jest rozszerzeniem języka programowania Turing i zamiennikiem Turing Plus stworzonego przez Rica Holta z University of Toronto w Kanadzie w 1991 roku. Jest imperatywny , zorientowany obiektowo i współbieżny . Posiada moduły , klasy , pojedyncze dziedziczenie , procesy , obsługę wyjątków i opcjonalne programowanie zależne od komputera.
Istnieje zintegrowane środowisko programistyczne pod X Window System oraz wersja demonstracyjna. Istnieją wersje dla Sun-4 , MIPS , RS-6000 , NeXTSTEP , Windows 95 i innych.
Zobacz też
Bibliografia
Dalsza lektura
- Holta, Richarda C ; Cordy, James R (grudzień 1983). „Raport języka Turinga”. Roczne sprawozdanie z postępów . Kanada: Instytut Badań nad Systemami Komputerowymi, Uniwersytet w Toronto . ISSN 0316-6295 .
- Holta, Richarda C ; Cordy, James R (grudzień 1988). „Język programowania Turinga”. Komunikaty ACM . 31 (12): 1410-1423. doi : 10.1145/53580.53581 . S2CID 40859457 .
- Holta, Richarda C ; Matthews, Filip A; Rosselet, J Alan; Cordy, James R (1988). Język programowania Turinga: projektowanie i definicja . Englewood Cliffs, NJ : Prentice Hall . Numer ISBN 978-0-13-933136-7. OCLC 17377539 .
- Grogono, Piotr (1995). Programowanie z Turingiem i Turingiem zorientowanym obiektowo . Springer-Verlag. Numer ISBN 978-0-387-94517-0.