შემდგენელი vs თარჯიმანი
შემდგენელი და თარჯიმანი, ძირითადად, ერთსა და იმავე მიზანს ემსახურება. ისინი გარდაქმნიან ენის ერთ დონეს მეორე დონეზე. შემდგენელი გარდაქმნის მაღალი დონის ინსტრუქციებს მანქანა ენად, ხოლო თარჯიმანი მაღალი დონის ინსტრუქციას შუალედურ ფორმად გარდაქმნის და ამის შემდეგ ინსტრუქცია სრულდება.
შემდგენელი
შემდგენელი განისაზღვრება როგორც კომპიუტერული პროგრამა, რომელიც გამოიყენება მაღალი დონის ინსტრუქციების ან ენის გადასაყვანად კომპიუტერისთვის გასაგებ ფორმად. ვინაიდან კომპიუტერს შეუძლია გაიგოს მხოლოდ ორობითი რიცხვებით, ამიტომ შემდგენელი გამოიყენება ხარვეზის შესავსებად, წინააღმდეგ შემთხვევაში ადამიანს გაუჭირდებოდა ინფორმაციის მოძიება 0 და 1 ფორმაში.
ადრე შემდგენლები იყო მარტივი პროგრამები, რომლებიც იყენებდნენ სიმბოლოების ბიტებად გადაქცევას. პროგრამები ასევე ძალიან მარტივი იყო და ისინი შეიცავდნენ მონაცემების ხელით თარგმნილ ნაბიჯების სერიას. თუმცა, ეს ძალიან შრომატევადი პროცესი იყო. ასე რომ, ზოგიერთი ნაწილი დაპროგრამებული ან ავტომატიზირებული იყო. ამან შექმნა პირველი შემდგენელი.
უფრო დახვეწილი კომპლიერები იქმნება უფრო მარტივის გამოყენებით. ყოველი ახალი ვერსიით მას უფრო მეტი წესი ემატება და უფრო ბუნებრივი ენობრივი გარემო იქმნება ადამიანის პროგრამისტისთვის. შესაბამისი პროგრამები ვითარდება ამ გზით, რაც აუმჯობესებს მათ გამოყენებას.
არსებობს სპეციფიკური კომპლიერები გარკვეული კონკრეტული ენებისთვის ან ამოცანებისთვის. კომპლიერები შეიძლება იყოს მრავალსაფეხურიანი ან მრავალსაფეხურიანი საშვი. პირველ პასს შეუძლია მაღალი დონის ენა გადაიყვანოს კომპიუტერულ ენასთან უფრო ახლოს. შემდეგ შემდგომ გაშვებას შეუძლია მისი გადაყვანა საბოლოო ეტაპად შესრულების მიზნით.
თარჯიმანი
მაღალი დონის ენებზე შექმნილი პროგრამები შეიძლება შესრულდეს ორი განსხვავებული გზით.პირველი არის შემდგენელის გამოყენება, ხოლო მეორე მეთოდი არის თარჯიმნის გამოყენება. მაღალი დონის სწავლება ან ენა თარჯიმნის მიერ გარდაიქმნება შუალედში. თარჯიმნის გამოყენების უპირატესობა ის არის, რომ მაღალი დონის ინსტრუქცია არ გადის კომპილაციის ეტაპს, რაც შეიძლება იყოს შრომატევადი მეთოდი. ასე რომ, თარჯიმანის გამოყენებით, მაღალი დონის პროგრამა პირდაპირ შესრულდება. ეს არის მიზეზი იმისა, რომ ზოგიერთი პროგრამისტი იყენებს ინტერპრეტებს მცირე სექციების შექმნისას, რადგან ეს დაზოგავს დროს.
თითქმის ყველა მაღალი დონის პროგრამირების ენას აქვს კომპილატორები და თარჯიმნები. მაგრამ ზოგიერთი ენა, როგორიცაა LISP და BASIC, შექმნილია ისე, რომ მათი გამოყენებით შექმნილი პროგრამები შესრულდეს თარჯიმნის მიერ.
სხვაობა შემდგენელსა და თარჯიმანს შორის
• კომპლიერი გარდაქმნის მაღალი დონის ინსტრუქციას მანქანურ ენად, ხოლო თარჯიმანი მაღალი დონის ინსტრუქციას შუალედურ ფორმად.
• შესრულებამდე მთელ პროგრამას ახორციელებს შემდგენელი, ხოლო პირველი სტრიქონის თარგმნის შემდეგ თარჯიმანი ასრულებს მას და ასე შემდეგ.
• შეცდომების სიას ქმნის შემდგენელი კომპილაციის პროცესის შემდეგ, ხოლო თარჯიმანი წყვეტს თარგმნას პირველი შეცდომის შემდეგ.
• დამოუკიდებელი შესრულებადი ფაილი იქმნება შემდგენელის მიერ, ხოლო ინტერპრეტატორი საჭიროა ინტერპრეტირებული პროგრამის მიერ ყოველ ჯერზე.