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

2018-03-18 10:49
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.

edytowany 1x, ostatnio: furious programming, 2018-03-18 15:25

Pozostało 580 znaków

2018-03-18 11:16
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


01010100 01110101 01110100 01100001 01101010 00100000 01101110 01101001 01100101 00100000 01101101 01100001 00100000 01101110 01101001 01100011 00100000 01100011 01101001 01100101 01101011 01100001 01110111 01100101 01100111 01101111 00101110 00100000 01001001 01100011 00100000 01110011 01110100 01101111 01101110 01110100 00101110
edytowany 1x, ostatnio: stivens, 2018-03-18 11:16

Pozostało 580 znaków

2018-03-18 11:45
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/technet[...]languages/overview/index.html


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 1x, ostatnio: Wibowit, 2018-03-18 11:46

Pozostało 580 znaków

2018-03-18 14:22
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.

Pozostało 580 znaków

2018-03-18 14:43
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ą.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2018-03-18 21:41
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

Pozostało 580 znaków

2018-03-18 21:54
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


01010100 01110101 01110100 01100001 01101010 00100000 01101110 01101001 01100101 00100000 01101101 01100001 00100000 01101110 01101001 01100011 00100000 01100011 01101001 01100101 01101011 01100001 01110111 01100101 01100111 01101111 00101110 00100000 01001001 01100011 00100000 01110011 01110100 01101111 01101110 01110100 00101110
edytowany 1x, ostatnio: stivens, 2018-03-18 21:55

Pozostało 580 znaków

2018-03-18 23:05
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).


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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