• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Translacja programu w języku interpretowanym, a kompilowanym

VPS Starter Arubacloud
0 głosów
151 wizyt
pytanie zadane 23 listopada 2021 w Rozwój zawodowy, nauka, praca przez maxkolanko1998 Gaduła (3,230 p.)
Mam pytanie. Otóż dlaczego tak jest że w przypadku języków kompilowanych program jest na bieżąco tłumaczony, a w przypadku interpretowanych musi być interpretowany komenda za komendą i to na dodatek w gdy program zostanie ponownie uruchomiony, a nie jest tak jak w przypadku kompilowanych że po uruchomieniu programu jest on tłumaczony w całości na rozkazy procesora?

1 odpowiedź

+1 głos
odpowiedź 23 listopada 2021 przez adrian17 Ekspert (344,100 p.)

Chyba pomieszałeś.

 w przypadku języków kompilowanych program jest na bieżąco tłumaczony

Nie jest "na bieżąco tłumaczony". Skompilowany program, napisany np w C i skompilowany na x86, to już gotowy ciąg instrukcji dla procesora. Po uruchomieniu (załadowaniu kodu do pamięci i innych krokach inicjalizacji), "na bieżąco" nie jest robiona żadna dodatkowa praca.

a w przypadku interpretowanych musi być interpretowany komenda za komendą

No... bo programista dostarcza interpreterowi kod w postaci tekstu, więc nie ma wielkiego wyboru :)

(natomiast w praktyce 99% języków interpretowanych nie są interpretowane tekstowo "linia po linii", tylko dzieje się jakaś wstępna konwersja na pośredni bytecode który jest interpretowana - a czasem nawet na żywo kompilowana na kod procesora ("JIT"))

komentarz 23 listopada 2021 przez maxkolanko1998 Gaduła (3,230 p.)
Ok dzięki
komentarz 24 listopada 2021 przez tkz Nałogowiec (42,000 p.)

@adrian17, 

Po uruchomieniu (załadowaniu kodu do pamięci i innych krokach inicjalizacji), "na bieżąco" nie jest robiona żadna dodatkowa praca.

Imo to zbyt duże uproszczenie. W przypadku C/C++ mamy rozróżniene na compile time i run time. Fakt, nie jest to związane stricte z surową wersją programu, ale warto to zaznaczyć, że dane, które nie są za hardcodowane są "interpretowane" na bieżąco. 

komentarz 24 listopada 2021 przez adrian17 Ekspert (344,100 p.)
...nie, niezbyt rozumiem co przez to masz na myśli.
komentarz 24 listopada 2021 przez tkz Nałogowiec (42,000 p.)
Istnieje możliwość załadowania dllki w locie, to tak bardziej na marginesie. Tworzenie szablonowych rzeczy. Generalnie nie jest to prawda, że po załadowaniu kończy.
1
komentarz 24 listopada 2021 przez adrian17 Ekspert (344,100 p.)

Istnieje możliwość załadowania dllki w locie

OK, ale moim głównym przekazem było że nawet po takim załadowaniu, nie jest wykonywane żadne "tłumaczenie na bieżąco"* kodu wykonywalnego, tylko jest od razu traktowany jako instrukcje wczytywane przez procesor.

(* przynajmniej nie jestem takich świadom - linkowanie jedynie pracuje na tablicach symboli, nie?)

Podobne pytania

0 głosów
2 odpowiedzi 1,308 wizyt
pytanie zadane 8 sierpnia 2018 w Python przez Łukasz Bogucki Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 1,023 wizyt
pytanie zadane 8 listopada 2015 w Python przez Devero Początkujący (300 p.)
0 głosów
0 odpowiedzi 72 wizyt

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...