განსხვავებები შემდგენლებსა და თარჯიმნებს შორის

განსხვავებები შემდგენლებსა და თარჯიმნებს შორის

სანამ ჯავა და C # პროგრამირების ენები გამოჩნდნენ, კომპიუტერული პროგრამები მხოლოდ შედგენილი ან ინტერპრეტირებული იყო. ენების, როგორიცაა Assembly Language, C, C ++, Fortran, Pascal თითქმის ყოველთვის იწერებოდა მანქანულ კოდს. ჩვეულებრივ განმარტავდნენ ენებს, როგორიცაა Basic, VbScript და JavaScript.

რა განსხვავებაა შედგენილ პროგრამასა და ინტერპრეტაციას შორის?

შედგენა

პროგრამის დაწერა შემდეგი ნაბიჯებით დგამს:

  1. პროგრამის რედაქტირება
  2. პროგრამა შეაკეთეთ მანქანების კოდის ფაილებში.
  3. დააკავშირეთ მანქანების კოდის ფაილები დაშვებულ პროგრამაში (ასევე ცნობილია, როგორც exe).
  4. პროგრამის გამართვა ან გაშვება

ზოგიერთ ენაზე, როგორიცაა Turbo Pascal და Delphi, ნაბიჯები 2 და 3 კომბინირებულია.

მანქანების კოდების ფაილები წარმოადგენს მანქანების კოდის თვითნაკლებ მოდულებს, რომლებიც საბოლოო პროგრამის შესაქმნელად საჭიროებენ ერთმანეთთან დაკავშირებას. ცალკეული აპარატის კოდების ფაილების მიზეზი ეფექტურობაა; შემდგენლებმა მხოლოდ უნდა გადააკეთონ წყაროს კოდი, რომელიც შეიცვალა. უცვლელი მოდულებიდან აპარატის კოდის ფაილებს იყენებენ. ეს ცნობილია, როგორც განაცხადის გაკეთება. თუ გსურთ გადააკეთოთ და ავაშენოთ ყველა წყაროს კოდი, მაშინ ეს ცნობილია როგორც Build.

დაკავშირება არის ტექნიკურად რთული პროცესი, სადაც ყველა მოდულის ფუნქციის ზარი ერთმანეთთან არის დაკავშირებული, მეხსიერების ადგილმდებარეობებს ენიჭება ცვლადები და ყველა კოდი არის ასახული მეხსიერებაში, შემდეგ იწერება დისკზე, როგორც სრულ პროგრამას. ეს ხშირად ნელი ნაბიჯია, ვიდრე შედგენა, რადგან მანქანაში კოდირების ყველა ფაილი უნდა წაიკითხოს მეხსიერებაში და ერთმანეთთან იყოს დაკავშირებული.

ინტერპრეტაცია

თარჯიმნის საშუალებით პროგრამის შესრულების ნაბიჯებია

  1. პროგრამის რედაქტირება
  2. პროგრამის გამართვა ან გაშვება

ეს გაცილებით სწრაფი პროცესია და ის ახალბედა პროგრამისტებს ეხმარება შეცვალონ და შეამოწმონ თავიანთი კოდი უფრო სწრაფად, ვიდრე შემდგენლის გამოყენებით. მინუსი ის არის, რომ ინტერპრეტაციური პროგრამები გაცილებით ნელა მოქმედებს ვიდრე შედგენილი პროგრამები. ისევე როგორც 5-10 ჯერ ნელა, როგორც კოდის ყველა სტრიქონი უნდა გადაიხედოს, შემდეგ ხელახლა დამუშავება.

შეიყვანეთ Java და C #

ორივე ეს ენა ნახევრად შედგენილია. ისინი წარმოქმნიან შუალედურ კოდს, რომელიც ოპტიმიზირებულია ინტერპრეტაციისთვის. ეს შუალედური ენა დამოუკიდებელია ძირითადი აპარატურით და ეს აადვილებს სხვა პროცესორებზე დაწერილი პროგრამების გადაცემას, იმდენი ხნით ადრე, ვიდრე თარჯიმანი დაიწერა ამ ტექნიკისთვის.

ჯავა, როდესაც შედგენილია, აწარმოებს ბაიკოდს, რომელიც ინტერპრეტაციას ახდენს Java ვირტუალურ აპარატზე (JVM). ბევრი JVM იყენებს Just-In-Time შემდგენელს, რომელიც აკონვერტებს bytecode– ს მშობლიურ მანქანულ კოდს და შემდეგ ასრულებს ამ კოდს ინტერპრეტაციის სიჩქარის გაზრდის მიზნით. ფაქტობრივად, Java- ის კოდის შედგენა ხდება ორ ეტაპზე.

C # შედგენილია საერთო შუალედურ ენაში (CIL, რომელიც ადრე იყო Microsoft Intermediate Language MSIL. მას ახორციელებს საერთო ენა Runtime (CLR)) .NET ჩარჩოების ნაწილია გარემო, რომელიც უზრუნველყოფს დამხმარე სერვისებს, როგორიცაა ნაგვის შეგროვება და უბრალოდ. -დროულად შედგენა.

ორივე Java და C # იყენებენ სიჩქარის დაუფლების ტექნიკას, ასე რომ ეფექტური სიჩქარე თითქმის ისეთივე სწრაფია, როგორც სუფთა შედგენილი ენა. თუ აპლიკაცია დიდ დროს ხარჯავს დისკის ფაილების კითხვისას ან მონაცემთა ბაზის შეკითხვის გაკეთებისას, სიჩქარის განსხვავება ძლივს შესამჩნევია.

რას ნიშნავს ეს ჩემთვის?

თუ არ გაქვთ განსაკუთრებული სიჩქარე და საჭიროა სიჩქარის გაზრდა ჩარჩოების სიჩქარე წამში ორი ჩარჩოთი, შეგიძლიათ დაივიწყოთ სიჩქარე. ნებისმიერი C, C ++ ან C # უზრუნველყოფს საკმარისი სიჩქარით თამაშების, შემდგენლების და ოპერაციული სისტემებისთვის.