Co to jest/są te implementacje? Czy to są jakieś kompilatory?

0

Zapytam o Implementacje ale nie o regułkę, bo tą znam i w pewnym stopniu rozumiem.
Zapytam to w innym kontekście. Dla przykładu weźmy sobie jezyk programowania Java i Python.
Dla pythona jest coś takiego jak implementacje np: CPython, IronPython, Jython, PyPy
dla javy: OpenJDK, HotSpot
Co to jest/są te implementacje, czy to są jakieś kompilatory czy co?? Nie rozumiem tego o co to chodzi.

0

CPython jest napisany w C i jego bytecode jest wykonywany przez jego interpreter (kod nie kompiluje sie do binarki jak C). Jython i IronPython sa napisane w Javie/C# i ich bytecode jest interpretowany przez maszyne wirtualna javy/.neta, Do tego np korzystajac z implementacji Jython mozesz importowac klasy Javy i uzywac ich w Pythonie

1

Wiki: Programming language implementation

Kompilatory głównie zajmują się tłumaczeniem programu z postaci zrozumiałej dla człowieka (np kod źródłowy w C) na postać zrozumiałą dla komputera (kod maszynowy). Czasami kompilacja jest dwuetapowa bądź połączona z interpretacją, jak np w Javie. Plik .java z kodem w postaci tekstowej kompilowany jest (np programem javac) do kodu maszyny wirtualnej (bajtkodu) który zapisywany jest do pliku .class. Następnie na komputerze klienta maszyna wirtualna Javy (odpalana poleceniem java) interpretuje ten bajtkod i/ lub kompiluje go dalej do kodu maszynowego.

PS:
Do Pythona 3 jest też Graal.python: http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index.html

0

Ja proponuje przeczytać moje pytanie jeszcze raz ze zrozumieniem i odpowiedzieć na to o co pytam. Bo na razie te dwie odpowiedzi sa nie na temat.

0
golec2604 napisał(a):

Ja proponuje przeczytać moje pytanie jeszcze raz ze zrozumieniem i odpowiedzieć na to o co pytam. Bo na razie te dwie odpowiedzi sa nie na temat.

Moja odpowiedź jest na temat. Na stronie Wiki którą podlinkowałem jest napisane wyraźnie iż kompilator i/ lub interpreter są częścią implementacji języka programowania. Sam kompilator czy interpreter zwykle nie wystarczą, bo trzeba jeszcze mieć co najmniej bibliotekę standardową.

0

Drogi kolego gdybyś przeczytał ze zrozumieniem o co pytam to byś dobrze zrozumiał moje pytanie.
Mamy sobie jezyk java wiem troche jak on działa, bo kiedys sie go troche uczyłem. Kod ->kompilacja do kodu bytecode przez kompilator javy -> odpalanie pliku .class na wirtualnej maszynie. Ok to rozumiem.
Ale nie rozumiem co to jest implementacja jezyka javy czyli OpenJDK, HotSpot. Co to jest? proszę o ludzkie wytłumaczenie a nie ksiazkowe.
Pozdrawiam

0

HotSpot to jest maszyna wirtualna czyli program, ktory ten bytecode interpretuje
i nie wiem czasem czy nie jest to po prostu czesc (Open)JDK -Java Development Kitu ale tutaj musi ktos doprecyzowac

0

https://en.wikipedia.org/wiki/OpenJDK

OpenJDK (Open Java Development Kit) is a free and open source implementation of the Java Platform, Standard Edition (Java SE).
The OpenJDK project produces a number of components: most importantly the virtual machine (HotSpot), the Java Class Library and the Java compiler (javac).

1 użytkowników online, w tym zalogowanych: 0, gości: 1