Witam,
Mam wrażenie, że w wielu artykułach sformułowania "transpilacja/interpretacja/kompilacja", "transpilator/interpreter/kompilator" są używanie wymiennie i w sumie ciężko połapać się co jest czym. Z tego całego nazewniczego chaosu wywnioskowałem, że:
Transpilator jest to narzędzie które transpiluje("przepisuje") kod na kod o podobnym poziome abstrakcji - czyli np narzędzie Babel jest takim transpilatorem
Kompilator jest to narzędzie które kompiluje("przepisuje") kod zrozumiały dla programisty do kodu który jest zrozumiały dla maszyny oraz wykonuje ten kod
No i jest jeszcze interpreter - program przypominający swoim działaniem kompilator(też przepisuje kod zrozumiały dla programisty na kod zrozumiały dla maszyny i go wykonuje) z tym że kod wykonywany jest na bieżąco - linia po linii(nie ma tak jak w przypadku kompilatora sprawdzenia np funkcji, zmiennych czy nie występuje tam żaden błąd) i ponad to nie otrzymujemy żadnego wynikowego pliku
Powyższe definicje są okey? Czy pomieszałem gdzieś jakieś fakty?
I na koniec pytanie do webdeveloperów używających np SASS'a, czy kod SASS jest transpilowany? SASS jest "przepisywany" do CSS'a czyli de facto z czegoś o wyższym poziome abstrakcji(bo ma listy/mapy itp) do czegoś o nieco niższym poziome abstrakcji więc ja bym powiedział, że jest transpilowany, jednak w jednym z kursów, który przerabiam, prowadzący używa sformułowań kompilacja/kompilator - stąd moje dociekania.
Pozdrawiam