In articolul precedent am stabilit ca programatorii, atunci cand programeaza calculatorul, il scriu intr-un limbaj care este usor de inteles de oameni.Acesta se numeste cod sursa. Pentru a fi executat de un calculator, codul sursa trebuie tradus pe limba lui. Aceasta traducere este realizata de “traducatoarele de cod sursa”.
Ce sunt traducatoarele de cod sursa?
Traducatoarele de cod sursa sunt niste aplicatii software realizate de programatori ce au ca scop convertirea codului sursa scris intr-un limbaj de programare in cod masina care poate fi executat de un calculator. Traducatoarele de cod sursa seamana mult cu traducatorii dintr-o limba in alta. Adica unui traducator de limba franceza ii dai un text in franceza el ti-l traduce in romana, si invers. Cam la fel functioneaza si un traducator de cod sursa, el primeste codul sursa si il traduce in cod masina. Doar ca nu poate face si operatiunea inversa (reverse engineering), adica nu poate converti codul masina in cod sursa. Si la fel ca si la traducatorii umani care stiu sa traduca doar anumite limbi,si traducatoarele folosite in programare stiu sa traduca doar un singur limbaj de programare.
Tipuri de traducatoare
Sunt doua categorii mari de traducatoare de cod sursa: compilatoarele si interpretatoarele. Desi ambele sunt translatoare abordeaza problema traducerii codului sursa diferit.
Compilatoarele
Probabil cel mai intalnit mod de a converti codul sursa in cod masina este prin compilare. Compilarea este realizata de o aplicatie software numita compilator. Un compilator traduce codul scris in unul sau mai multe fisiere in cod masina si il salveaza intr-un program executabil. Sunt mai multe tipuri de compilatoare, totusi, caracteristica lor de baza este ca la finalul procesului de compilare va rezulta un fisier executabil ce va contine codul masina. Cele mai cunoscute limbaje de programare care sunt compilate sunt: C, C++, C#, Java etc
Interpretatoarele
Interpretatoarele, spre deosebire de compilatoare, nu convertesc codul masina intr-un executabil pe care il folosesc ori de cate ori au nevoie. In schimb, ori de cate ori ai nevoie sa executi acel cod sursa il trimiti catre Interpretator, acesta il transforma in cod masina si il executa. Deci un interpretator converteste codul ori de cate ori il executam, asta inseamna ca daca il executam de 100 de ori el va fi ‘tradus’ de 100 de ori. Acest lucru face ca un cod scris in limbajele de programare care folosesc interpretatoare sa se execute mai lent. Cele mai cunoscute limbaje de programare care sunt interpretate sunt: JavaScript, Python, Perl, Ruby etc
De ce programatorii la inceput de drum urasc traducatoarele?
Procesele de compilare sau de interpretare sunt complexe si au mai multe etape pe care noi nu le vom detalia. Totusi vom aminti una dintre primele etape ale procesului, si totodata cea care da bataie de cap cel mai mult programatorilor aflati la inceput de drum. Este vorba despre analiza sintactica a codului scris de programator. Practic, in aceasta etapa, se verifica daca programatorul a scris codul corect din punct de vedere gramatical. Si cum programatorii la inceput de drum fac multe greseli gramaticale, compilatorul/interpretatorul devine cel mai MARE dusman al lor. La scoala profa de limbi straine poate intelege ce vrei sa zici chiar daca nu scrii corect. Compilatoarele si interpretatoarele nu au aceasta capacitate si se incapataneaza sa nu proceseze codul la orice mica greseala. De aceea eu am ales sa predau bazele programarii folosind Scratch. Scratch este un limbaj de programare care nu este pretentios la sintaxa.
Tu cu ce limbaj ai inceput ( sau vrei sa incepi) sa inveti programare? Scrie-mi in comentariu.