მაღალი დონის პროგრამირების ენა
მაღალი დონის პროგრამირების ენა (ინგლ. High-level programming language) — პროგრამირების ენა, რომელიც განკუთვნილია პროგრამისტისთვის სწრაფად და მოსახერხებლად გამოსაყენებლად. მაღალი დონის ენების მთავარი მახასიათებელია აბსტრაქცია, ანუ აზრობრივი კონსტრუქციების შემოტანა, რომლებიც მოკლედ აღწერს ისეთ მონაცემთა სტრუქტურებს და მათზე ოპერაციებს, რომელთა აღწერილობა მანქანურ კოდში (ან სხვა დაბალი დონის პროგრამირების ენაზე) ძალიან გრძელია და რთული გასაგები. მაღალი დონის პროგრამირების ენები შეიქმნა ალგორითმების არსის პლატფორმისგან დამოუკიდებლობის აღსაქმელად. პლატფორმაზე დამოკიდებულება სხვა ინსტრუმენტული პროგრამების მახასიათებელია. ასეთია თარჯიმანი პროგრამები, რომლებიც მაღალი დონის ენაზე დაწერილ ტექსტს გარდაქმნიან ელემენტარულ მანქანურ ინსტრუქციებად. აქედან გამომდინარე, თითოეული პლატფორმისათვის მუშავდება მისთვის უნიკალური ტრანსლიატორი (თარჯიმანი) თითოეული მაღალი დონის ენისთვის. ამრიგად, მაღალი დონის ენები ცდილობენ არა მხოლოდ ხელი შეუწყონ რთული პროგრამული პრობლემების გადაჭრას, არამედ გაამარტივონ პროგრამული უზრუნველყოფის პორტირება. მრავალფეროვანი ტრანსლიატორი და ინტერპრეტატორი პროგრამების გამოყენება უზრუნველყოფს მაღალი დონის ენებზე დაწერილი პროგრამების კომუნიკაციას პროგრამირებადი მოწყობილობა-დანადგარების სხვადასხვა ოპერაციულ სისტემებთან, და, იდეალურ შემთხვევაში, არ საჭიროებს საწყისი კოდის (მაღალი დონის ენაზე დაწერილი ტექსტი) შეცვლას ნებისმიერი პლატფორმისთვის. მაღალი დონის ენების ამგვარ იზოლაციას კომპიუტერის აპარატურული რეალიზაციისაგან, მრავალი უპირატესობის გარდა, აქვს უარყოფითი მხარეებიც. კერძოდ, ის არ იძლევა მარტივი და ზუსტი ინსტრუქციების შექმნის საშუალებას გამოყენებული აღჭურვილობისთვის. მაღალი დონის ენებზე დაწერილი პროგრამები უფრო ადვილი გასაგებია პროგრამისტისთვის, მაგრამ ნაკლებად ეფექტური, ვიდრე დაბალი დონის ენებზე დაწერილი მათი ანალოგები. ამის გამო, აუცილებელი გახდა ამა თუ იმ დაბალი დონის ენის (ასამბლერის) მხარდაჭერის დამატება მრავალ თანამედროვე პროფესიულ მაღალი დონის პროგრამირების ენებში. მაგალითები: C ++, C #, Delphi, Fortran, Java, JavaScript, Lisp, Pascal, PHP, ასევე Ruby, Python, Perl, რომლებსაც ზოგჯერ უწოდებენ უმაღლესი დონის ენებს. მაღალი დონის ენებს აქვთ მონაცემთა რთულ სტრუქტურებთან მუშაობის უნარი. მათ უმეტესობას აქვს სტრიქონების ტიპების, ობიექტების, ფაილური შეტანა-გამოტანის ოპერაციების და ა.შ. ინტეგრირებული მხარდაჭერა. პირველი მაღალი დონის პროგრამული ენად ითვლება Plankalkül (დაგეგმილი გამოთვლა), რომელიც გერმანელმა ინჟინერმა, კონრად ცუზემ შეიმუშავა ჯერ კიდევ 1942-1946 წლებში. მაგრამ მისი ტრანსლიატორი არ არსებობდა 2000 წლამდე. მაღალი დონის პროგრამული ენების ფართე გამოყენება დაიწყო ფორტრანისა და მისი კომპილატორის შექმნისთანავე (1957). 2018 წელს, კომპანია „TIOBE Software“-ის აზრით, პროგრამირების ენებში ლიდერობდა ჯავა.