• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Parrot

    Przeczytaj także...
    Perl – interpretowany język programowania autorstwa Larry’ego Walla początkowo przeznaczony głównie do pracy z danymi tekstowymi, obecnie używany do wielu innych zastosowań. Wzorowany na takich językach jak C, skryptowe: sed, awk i sh oraz na wielu innych.Guido van Rossum (ur. 31 stycznia 1960 r.) − holenderski programista, znany powszechnie jako autor języka programowania Python.
    Prima aprilis (z łac. 1 kwietnia, łc.: Prima dies Aprilis), dzień żartów – obyczaj związany z pierwszym dniem kwietnia, obchodzony w wielu krajach świata. Polega on na robieniu żartów, celowym wprowadzaniu w błąd, kłamaniu, konkurowaniu w próbach sprawienia, by inni uwierzyli w coś nieprawdziwego. Tego dnia w wielu mediach pojawiają się różne żartobliwe informacje. Pochodzenie tego zwyczaju nie jest jeszcze wyjaśnione.

    Parrotmaszyna wirtualna przeznaczona do języków dynamicznie typowanych, takich jak Perl, Ruby i Python.

    Historia[ | edytuj kod]

    Nazwa Parrot pochodzi od primaaprilisowego żartu Simona Cozensa, który w 2001 roku napisał artykuł Programming Parrot na Perl.com (O'Reilly Network), pisząc o tym, iż Larry Wall i Guido van Rossum planują rzekomo połączenie języków Perl i Python. Wbrew burzy negatywnych komentarzy jakie wówczas wywołał, żart ów jak się później miało okazać zawierał więcej prawdy niż ktokolwiek mógł wtedy sądzić.

    Larry Wall (ur. 27 września 1954 roku w Los Angeles) – amerykański programista komputerowy, twórca języka skryptowego Perl oraz takich programów jak: patch, rn, metaconfig (patrz: polecenia systemu operacyjnego Unix).PHP – obiektowy język programowania zaprojektowany do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistym.

    Języki programowania[ | edytuj kod]

    Projekt Parrot powstał na listach dyskusyjnych Perla jako maszyna wirtualna przeznaczona dla Perla 6 (do dziś lista dyskusyjna projektu Parrot nosi nazwę perl6-internals, lecz wkrótce zmieniona zostanie na parrot-internals, pozostając jednak na serwerach perl.org), jednak prawdopodobnie wcześniej będzie można wykonywać za jej pomocą programy w języku Python lub Perl 5 (projekt Pony) niż Perl 6 (projekt Rakudo). Poza nimi trwają już prace nad wykorzystaniem projektu Parrot dla języków BASIC, Befunge, Brainfuck, Cola, Forth, Jako, m4, Miniperl, Ook, OpenComal, PHP, Plot, Ruby, Scheme, Tcl, URM, LOLCODE i YAL. Wewnętrznymi językami dla projektu Parrot są PASM i IMC (PIR).

    LOLCODE – ezoteryczny język programowania zainspirowany językiem pidgin English, używanym w fenomenie internetowym LOLCAT. Język został stworzony w 2007 przez Adama Lindsaya, pracownika Wydziału Informatyki Lancaster University.Kod bajtowy Perla używany w Perlu 5 jest maszyną stosową z operacjami umiarkowanie wysokiego poziomu. Perl 6 używać będzie maszyny wirtualnej Parrot.

    Duże zainteresowanie projektem przejawiają środowiska związane z Ruby, podczas gdy twórcy Pythona są bardziej zainteresowani pracami nad własnym projektem PyPy.

    Zasady działania[ | edytuj kod]

    Parrot jest maszyną rejestrową z operacjami wysokiego poziomu, takimi jak (podobnie jak aktualny kod bajtowy Perla) operacje na całych łańcuchach.

    Rejestry[ | edytuj kod]

    Parrot ma po 32 rejestry czterech typów:

    Ruby to interpretowany, w pełni obiektowy i dynamicznie typowany język programowania stworzony w 1995 roku przez Yukihiro Matsumoto (pseudonim Matz). W języku angielskim ruby oznacza rubin.Scheme – funkcyjny język programowania, dialekt (wariant) Lispu, który został zaprojektowany na MIT przez Guy L. Steele-a i Geralda Jay Sussmana w latach 70. Jego główną ideą jest minimalizm, co oznacza, że sam język zawiera jedynie podstawowe mechanizmy, a na ich bazie, już z użyciem Scheme, tworzone są bardziej zaawansowane rozwiązania. Scheme nie jest czysto funkcyjnym językiem programowania, co oznacza, że dopuszczalne są efekty uboczne obliczeń. Scheme umożliwia również tworzenie programów w stylu proceduralnym i obiektowym. Jest to język o dynamicznym systemie typów. Zarządzanie pamięcią jest w pełni automatyczne. Scheme był pierwszym dialektem Lispu, który używał zmiennych leksykalnych i pierwszym który wymagał od implementacji optymalizacji wywołań z rekurencją ogonową. Scheme jest ustandaryzowany przez organizację IEEE oraz przez dokumenty Revised Report on the Algorithmic Language Scheme (RnRS), z których najczęściej implementowane są R5RS z 1998 roku oraz R6RS z 2007 roku.
  • I0 do I31 – rejestry całkowitoliczbowe, mogą zawierać liczbę całkowitą lub wskaźnik (I od integer, liczba całkowita),
  • N0 do N31 – rejestry zmiennoprzecinkowe (N od number, liczba),
  • S0 do S31 – rejestry łańcuchowe (S od string, łańcuch znaków),
  • P0 do P31 – rejestry obiektowe (P od PMC, Parrot Magic Cookie).
  • W przeciwieństwie do kodu bajtowego Perla, natywne perlowe typy (skalar, tablica, hasz i inne) są tu traktowane jako obiekty, a maszyna wirtualna operuje na znacznie prostszych typach.

    Brainfuck to ezoteryczny język programowania stworzony przez Urbana Müllera około roku 1993. Nazywany też czasem Brainf*ck, Brainf*** lub po prostu BF.PyPy - implementacja języka Python napisana w języku RPython (Restricted Python) — statycznym podzbiorze Pythona, który można skompilować do kodu bajtowgo Javy, CLR czy C. Umożliwia też tworzenie kompilatorów JIT poprzez napisanie interpretera.

    Przypisy[ | edytuj kod]

    1. New supported release 8.1.0 "Andean Parakeet" (ang.). Parrot Foundation, 2016-02-16. [dostęp 2020-05-01].

    Linki zewnętrzne[ | edytuj kod]

  • Parrot, Parrot Foundation (ang.).
  • Simon Cozens, Programming Parrot, Perl.com, 1 kwietnia 2001 [dostęp 2020-05-01] (ang.).
  • Python – język programowania wysokiego poziomu ogólnego przeznaczenia i rozbudowanym pakiecie bibliotek standardowych, którego ideą przewodnią jest czytelność i klarowność kodu źródłowego. Jego składnia cechuje się przejrzystością i zwięzłością.BeFunge – ezoteryczny język programowania. Programy w nim, w odróżnieniu od większości języków programowania, są zorganizowane w dwuwymiarowej tablicy. Instrukcje "strzałkowe" ( < > ^ v ) powodują przeniesienia sterowania, a pętle są tworzone poprzez zorganizowanie sterowania "w kółko". Każda instrukcja w BeFunge jest oznaczana pojedynczym znakiem.




    Warto wiedzieć że... beta

    Typowanie dynamiczne to przypisywanie typów do wartości przechowywanych w zmiennych w trakcie działania programu. Przy zastosowaniu typowania dynamicznego, zmienne nie posiadają typów przypisanych statycznie, czyli przed uruchomieniem programu np. w trakcie kompilacji. W takiej sytuacji typ zmiennej wynika z wartości jaką dana zmienna przechowuje. Jest to jeden ze sposobów na zwolnienie programisty z obowiązku deklarowania typów zmiennych. Ułatwia to operacje na zmiennych, utrudnia natomiast kontrolę integralności programu. Zmienna może w różnych momentach wykonania programu przechowywać wartości różnych typów.
    Tcl (Tool Command Language) – język skryptowy o składni częściowo podobnej do języków skryptowych powłok, oraz częściowo do Lispu. Jest znany z pakietu Tk (Tk Toolkit), który pozwala na pisanie przenośnych graficznych interfejsów użytkownika (GUI) dla wielu systemów operacyjnych oraz pakietu Expect, który pozwala na automatyzację zadań.
    Forth jest językiem programowania wysokiego poziomu, lecz równocześnie należy do kategorii języków tzw. bliskich sprzętowi, czasem (potocznie) używa się określenia asemblerowy język programowania wysokiego poziomu.
    Maszyna rejestrowa – maszyna (procesor bądź maszyna wirtualna), w której podstawowe operacje prowadzi się na niewielkiej grupie rejestrów, nie zaś na stosie.

    Reklama

    Czas generowania strony: 1.121 sek.