Compiler vs Interpreter
Compiler at interpreter, parehong nagsisilbi sa parehong layunin. Kino-convert nila ang isang antas ng wika sa isa pang antas. Ang isang compiler ay nagko-convert ng mataas na antas ng mga tagubilin sa wika ng makina habang ang isang interpreter ay nagko-convert ng mataas na antas ng pagtuturo sa ilang intermediate form at pagkatapos nito, ang pagtuturo ay isasagawa.
Compiler
Ang isang compiler ay tinukoy bilang isang computer program na ginagamit upang i-convert ang mataas na antas ng mga tagubilin o wika sa isang form na maaaring maunawaan ng computer. Dahil ang computer ay naiintindihan lamang sa mga binary na numero kaya ang isang compiler ay ginagamit upang punan ang puwang kung hindi ay magiging mahirap para sa isang tao na makahanap ng impormasyon sa 0 at 1 na form.
Noong una ang mga compiler ay mga simpleng program na ginamit upang i-convert ang mga simbolo sa mga bit. Napakasimple rin ng mga programa at naglalaman ang mga ito ng serye ng mga hakbang na isinalin sa pamamagitan ng kamay sa data. Gayunpaman, ito ay isang napaka-oras na proseso. Kaya, ang ilang bahagi ay na-program o awtomatiko. Binuo nito ang unang compiler.
Mas sopistikadong complier ang ginagawa gamit ang mas simple. Sa bawat bagong bersyon, higit pang mga panuntunan ang idinagdag dito at isang mas natural na kapaligiran ng wika ang nilikha para sa programmer ng tao. Ang mga complier program ay umuunlad sa ganitong paraan na nagpapahusay sa kanilang kadalian ng paggamit.
May mga partikular na tagasunod para sa ilang partikular na wika o gawain. Ang mga complier ay maaaring maramihan o multistage pass. Ang unang pass ay maaaring i-convert ang mataas na antas ng wika sa isang wika na mas malapit sa wika ng computer. Pagkatapos ay mako-convert ito ng mga karagdagang pass sa huling yugto para sa layunin ng pagpapatupad.
Interpreter
Ang mga program na ginawa sa mataas na antas ng mga wika ay maaaring isagawa sa pamamagitan ng paggamit ng dalawang magkaibang paraan. Ang una ay ang paggamit ng compiler at ang iba pang paraan ay ang paggamit ng interpreter. Ang mataas na antas ng pagtuturo o wika ay ginagawang intermediate mula sa pamamagitan ng isang interpreter. Ang bentahe ng paggamit ng isang interpreter ay ang mataas na antas ng pagtuturo ay hindi dumaan sa yugto ng compilation na maaaring maging isang paraan ng pag-ubos ng oras. Kaya, sa pamamagitan ng paggamit ng isang interpreter, ang mataas na antas ng programa ay direktang isinasagawa. Iyon ang dahilan kung bakit gumagamit ang ilang programmer ng mga interpreter habang gumagawa ng maliliit na seksyon dahil nakakatipid ito ng oras.
Halos lahat ng high level na programming language ay may mga compiler at interpreter. Ngunit ang ilang wika tulad ng LISP at BASIC ay idinisenyo sa paraang ang mga program na ginawa gamit ang mga ito ay isinasagawa ng isang interpreter.
Pagkakaiba sa pagitan ng compiler at interpreter
• Kino-convert ng isang complier ang mataas na antas ng pagtuturo sa machine language habang ang isang interpreter ay nagko-convert ng mataas na antas ng pagtuturo sa isang intermediate form.
• Bago ang execution, ang buong program ay isinasagawa ng compiler samantalang pagkatapos isalin ang unang linya, isang interpreter ang magpapatupad nito at iba pa.
• Ang listahan ng mga error ay ginawa ng compiler pagkatapos ng proseso ng compilation habang humihinto ang isang interpreter sa pagsasalin pagkatapos ng unang error.
• Isang independent executable file ang ginawa ng compiler samantalang ang interpreter ay kinakailangan ng isang interpreted program sa bawat pagkakataon.