Interpreter (program komputerowy)

W dzisiejszym świecie Interpreter (program komputerowy) stał się tematem o dużym znaczeniu i zainteresowaniu szerokiego grona osób. Niezależnie od tego, czy chodzi o wpływ na społeczeństwo, znaczenie w historii, znaczenie w kulturze, czy z jakiegokolwiek innego powodu, Interpreter (program komputerowy) przykuł uwagę i zainteresowanie tych, którzy chcą lepiej zrozumieć otaczający ich świat. Od swoich początków do dzisiejszego wpływu Interpreter (program komputerowy) pozostaje fascynującym tematem, który nadal wywołuje debatę i refleksję w różnych obszarach. W tym artykule będziemy dalej badać wpływ i znaczenie Interpreter (program komputerowy), dając czytelnikom jaśniejszy i głębszy wgląd w ten bardzo istotny temat.

Interpreterprogram komputerowy wykonujący inne programy. Jest kluczowym elementem znacznej części implementacji języków skryptowych oraz języków kompilowanych do kodu bajtowego.

Wydajność

Interpreter analizuje kod źródłowy programu, a przeanalizowane fragmenty wykonuje. Realizowane jest to w inny sposób niż w procesie kompilacji, podczas którego nie wykonuje się wejściowego programu (kodu źródłowego), lecz tłumaczy go do wykonywalnego kodu maszynowego lub kodu pośredniego, który jest następnie zapisywany do pliku w celu późniejszego wykonania.

Wykonanie programu za pomocą interpretera jest wolniejsze, a do tego zajmuje więcej zasobów systemowych niż wykonanie kodu skompilowanego, lecz może zająć relatywnie mniej czasu niż kompilacja i uruchomienie. Jest to zwłaszcza ważne przy tworzeniu i testowaniu kodu, kiedy cykl edycja-interpretacja-debugowanie może często być znacznie krótszy niż cykl edycja-kompilacja-uruchomienie-debugowanie.

Interpretacja kodu programu jest wolniejsza od uruchamiania skompilowanego kodu, ponieważ interpreter musi najpierw przeanalizować każde wyrażenie i dopiero na tej podstawie wykonać odpowiednie akcje, a kod skompilowany wykonuje wyłącznie akcje. W implementacjach będących w pełni interpreterami wielokrotne wykonanie tego samego fragmentu kodu wymaga wielokrotnej interpretacji tego samego tekstu. Ta analiza nazywana jest „kosztem interpretacji”. Dostęp do zmiennych jest także wolniejszy w przypadku interpretera, gdyż odwzorowanie identyfikatorów na miejsca w pamięci operacyjnej musi zostać dokonane podczas uruchomienia lub działania, a nie podczas kompilacji, dlatego niektóre interpretery tworzą dodatkowe dane (np. adresy zmiennych) przyspieszające wykonanie programu.

Zobacz też

Przypisy

  1. a b Overview, CS98SI: Introduction to JavaScript, Stanford University, Cytat: "an interpreter in the browser reads over the JavaScript code, interprets each line, and runs it. More modern browsers use a technology known as Just-In-Time (JIT) compilation, which compiles JavaScript to executable bytecode just as it is about to run." (ang.).
  2. 3.7 Executing Commands, Bash Reference Manual, GNU.org (ang.), "Shell" zgodnie ze wstępem jest równoważny "Command Line Interpreter".
  3. Glossary , Python 3.8.2 documentation (ang.).
  4. 3.3.2 – Chunks, Lua 5.3 Reference Manual, The Programming Language Lua, 26 czerwca 2018 (ang.).
  5. Byte Compilation, Emacs Lisp, GNU.org (ang.).
  6. interpreter , FOLDOC - Free On-Line Dictionary Of Computing, 30 stycznia 1995.