მაღალი დონის პროგრამირების ენა: განსხვავება გადახედვებს შორის

[შეუმოწმებელი ვერსია][შეუმოწმებელი ვერსია]
შიგთავსი ამოიშალა შიგთავსი დაემატა
No edit summary
No edit summary
ხაზი 1:
'''მაღალი დონის პროგრამირების ენა'''([[ინგლისური ენა|ინგლ.]] High-level programming language) — პროგრამირების ენა, რომელიც განკუთვნილია პროგრამისტისთვის[[პროგრამისტი]]სთვის სწრაფად და მარტივადმოსახერხებლად გამოსაყენებლად. მაღალი დონის ენების მთავარი მახასიათებელია [[აბსტრაქცია]], ანუ სემანტიკურიაზრობრივი კონსტრუქციების დანერგვაშემოტანა, რომლებიც მოკლედ აღწერს ისეთ [[მონაცემთა სტრუქტურები|მონაცემთა სტრუქტურებს]] ასეთ სტრუქტურებს და მათზე ოპერაციებს, რომელთა აღწერილობა [[მანქანური ენა|მანქანურ კოდში]] (ან სხვა [[დაბალი დონის პროგრამირების ენა|დაბალი დონის პროგრამირების ენაშიენაზე]] ) არის ძალიან. გრძელიგრძელია და რთული გასაგები.
{{მუშავდება/ძირი|[[სპეციალური:Contributions/Irmaguru|Irmaguru]].|1|12|2021}}
 
მაღალი დონის პროგრამირების ენები შექმნილიაშეიქმნა ალგორითმების არსის პლატფორმისგან დამოუკიდებლობის აღსაქმელად. პლატფორმაზე დამოკიდებულება გადადისსხვა ინსტრუმენტულინსტრუმენტული პროგრამების მახასიათებელია. თარჯიმან პროგრამებზე რომლებიც აგროვებენ მაღალი დონის ენაზე დაწერილ ტექსტს ელემენტარულ მანქანურ ინსტრუქციებად (ინსტრუქციებში). აქედან გამომდინარე, თითოეული პლატფორმა, პლატფორმა უნიკალური მთარგმნელი განვითარებული თითოეული მაღალი დონის ენა, მაგალითად, თარგმნის ტექსტი დაწერილი Delphi შევიდა ელემენტარული ინსტრუქციები x86 [[მიკროპროცესორი|მიკროპროცესორების]].
 
რომლებიც აგროვებენ მაღალი დონის ენაზე დაწერილ ტექსტს ელემენტარულ მანქანურ ინსტრუქციებად (ინსტრუქციებში). აქედან გამომდინარე, თითოეული პლატფორმა, პლატფორმა უნიკალური მთარგმნელი განვითარებული თითოეული მაღალი დონის ენა, მაგალითად, თარგმნის ტექსტი დაწერილი Delphi შევიდა ელემენტარული ინსტრუქციები x86 [[მიკროპროცესორი|მიკროპროცესორების]] .
 
ამრიგად, მაღალი დონის ენები ცდილობენ არა მხოლოდ ხელი შეუწყონ რთული პროგრამული პრობლემების გადაჭრას, არამედ გაამარტივონ პროგრამული უზრუნველყოფის პორტირება . თარჯიმნებისა და თარჯიმნების მრავალფეროვნების გამოყენება უზრუნველყოფს მაღალი დონის ენებზე დაწერილი [[კომპიუტერული პროგრამა|პროგრამების]] [[ოპერაციული სისტემა|კომუნიკაციას სხვადასხვა ოპერაციულ სისტემებთან,]] პროგრამირებად მოწყობილობებთან და მოწყობილობებთან და, იდეალურ შემთხვევაში, არ საჭიროებს კოდის შეცვლას (მაღალი დონის ენაზე დაწერილი ტექსტი). ) ნებისმიერი პლატფორმისთვის.
Line 12 ⟶ 10:
მაგალითები: [[C++|C ++]], [[C Sharp|C #]], Delphi, Fortran, [[ჯავა (პროგრამირების ენა)|Java]], [[JavaScript]], Lisp, Pascal, [[PHP]], ასევე [[რუბი|Ruby]], [[პაითონი (პროგრამირების ენა)|Python]], [[Perl]], რომლებსაც ზოგჯერ უწოდებენ ულტრა მაღალი დონის . მაღალი დონის ენებს აქვთ მონაცემთა რთულ სტრუქტურებთან მუშაობის უნარი. მათ უმეტესობას აქვს სტრიქონების ტიპების, [[ობიექტი (პროგრამირება)|ობიექტების]], ფაილური შეტანა-გამოტანის ოპერაციების და ა.შ. ინტეგრირებული მხარდაჭერა.
 
2018 წელს, კომპანია „TIOBE Software“-ის აზრით, პროგრამირების ენებში ლიდერობდა [[ჯავა]].
2018 წლისთვის, TIOBE Software-ის მიხედვით, [[ჯავა (პროგრამირების ენა)|ჯავის]] პროგრამირების ენა ლიდერია.
 
==პროგრამების პორტაბელურობა==
იგიარსებობდა ფართოდ სჯეროდამოსაზრება, რომ [[კომპიუტერული პროგრამა|პროგრამებისპროგრამები]] მაღალი დონის ენებზე შეიძლება ჩაიწეროსდაიწეროს ერთხელ და შემდეგ გამოიყენებამისი გამოყენება შეიძლება ნებისმიერი ტიპის [[კომპიუტერი|კომპიუტერზე.]]. სინამდვილეში, ეს ეხება მხოლოდ იმ პროგრამებს, რომლებსაც აქვთრომელთაც მცირე ურთიერთქმედება აქვთ [[ოპერაციული სისტემა|ოპერაციულ სისტემასთან]], მაგალითად, ასრულებენ რაიმე გამოთვლებს ან მონაცემთა დამუშავებას. ინტერაქტიული (და მით უმეტეს, მულტიმედიური) პროგრამების უმეტესობა სისტემურ ზარებსგამოძახებას უწოდებსმიმართავს, რომლებიც მნიშვნელოვნად განსხვავდება ოპერაციული სისტემის მიხედვით. მაგალითად, კომპიუტერის ეკრანზე გრაფიკის საჩვენებლად, [[Microsoft Windows|Microsoft Windows-ის]] პროგრამები იყენებენ Windows API ფუნქციებს, რომლებიც განსხვავდება იმ სისტემებისგან, რომლებიც მხარს უჭერენ POSIX სტანდარტს. ყველაზე ხშირად, ისინი იყენებენ X სერვერზე API ამ მიზნებისათვის.
 
დღეისათვის შეიქმნა არაერთი პროგრამული ბიბლიოთეკა (მაგალითად, Qt ბიბლიოთეკა ან wxWidgets ), რომელიც მალავს სხვადასხვა ოპერაციული სისტემის სისტემური ზარების შეუსაბამობას აპლიკაციის პროგრამებიდან . თუმცა, ასეთი ბიბლიოთეკები, როგორც წესი, არ იძლევა კონკრეტული ოპერაციული სისტემების ყველა შესაძლებლობის სრულად გამოყენებას.