Interpreter (program komputerowy)

W poniższym artykule dokładnie zgłębimy temat Interpreter (program komputerowy) i przeanalizujemy jego wpływ na różne aspekty społeczeństwa. Od jego powstania po dzisiejszą ewolucję, zagłębimy się w jego historyczne, kulturowe i społeczne implikacje. Dodatkowo zbadamy różne perspektywy i opinie istniejące wokół Interpreter (program komputerowy) i ich wpływ na jego postrzeganie w społeczeństwie. Bez wątpienia Interpreter (program komputerowy) był na przestrzeni czasu przedmiotem debat i kontrowersji, dlatego też niniejsza analiza będzie miała na celu przedstawienie kompleksowego i obiektywnego obrazu jego dzisiejszego znaczenia.

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.