დაპროგრამება

დაპროგრამება, კომპიუტერული პროგრამების შექმნა და დამუშავება განსაზღვრულ ფორმალურ ნიშანთა სისტემების, ანუ დაპროგრამების ენების საშუალებით.

დ-ის ძირითადი ეტაპებია: პროგრამული ტექსტის შედგენა შესაბამისი ა ლ გ ო რ ი თ მ ი ს საფუძველზე, მისი წარმოდგენა შესრულებადი სახით (ტრანსლაცია და კომპილაცია), გამართვა (შესაძლო შეცდომების გამოვლენა და აღმოფხვრა), საბოლოო შედეგის მიღება.

კომპიუტერული ტექნოლოგიების განვითარებასთან ერთად ვითარდებოდა დ-ის მეთოდოლოგია და ენები. პირველ ეტაპზე დ. მიმდინარეობდა უშუალოდ მანქანური კოდების გამოყენებით. XX ს. 40-იან წლებში შემუშავებული იქნა დაბალი დონის ენები – ავტოკოდი და ასემბლერი – მანქანაზე ორიენტირებული დ-ის ენა, რ-ის სტრუქტურა მანქანური ბრძანებებისა და დასამუშავებელი მონაცემების მსგავსია ყოველი კონკრეტული გამოთვლითი მანქანისათვის.

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

50-იანი წლების დასაწყისში აშშ-ში მაღალი დონის ენებიდან პირველად შეიქმნა BASIC, შემდგომ – FORTRAN. 50-იანი წლების ბოლოს ევროპაში გამოჩნდა ALGOL- 60. 60-იან წლებში შეიქმნა უნივერსალური ენები PL/1, Pascal, COBOL, Modula, C, ALGOL-68, ADA. სპეციალური კლასის ამოცანების სარეალიზაციოდ პარალელურად იქმნებოდა და ვითარდებოდა დ-ის ენები – Lisp, Refal, Prolog და სხვ. დ-ის ტრადიციული მიმართულებებისა და პარადიგმების განხილვისას შეიძლება გამოიყოს სტრუქტურული (ALGOL, Pascal, C), ობიექტზე ორიენტირებული (C++, Delphy, Java) და ლოგიკური (Prolog) დაპროგრამება.

შედარებით ახალი მიმართულებებიდან აღსანიშნავია პარალელური და ვებ-დაპროგრამება. პარალელური დ. შეისწავლის მრავალპროცესორიანი გამოთვლითი კომპლექსებისათვის პარალელური ალგორითმებისა და პროგრამების აგება-დამუშავების ხერხებსა და მეთოდებს. ვებ-დაპროგრამება გამოიყენება ნებისმიერი ფუნქციონალური დატვირთვის მქონე ვებ-გვერდებისა და სხვა ინტერნეტ-კომპონენტების შესაქმნელად. ამ მიმართულების ენებიდან პოპულარობით სარგებლობს HTML, JavaScript, Perl, XML/XSL, PHP, MySQL. თანამედროვე აპარატურული ტექნოლოგიების განვითარებასთან ერთად სულ უფრო აქტუალური ხდება ზემაღალი დონის პროგრამული ენების შემუშავება, რ-ებიც მზა პროგრამული კონსტრუქციების დახმარებით სხვადასხვა სირთულის ამოცანების გადაწყვეტის საშუალებას იძლევა დ-ის დამატებითი ინსტრუმენტების გამოყენების გარეშე.

საქართველოში დაპროგრამების განვითარება XX ს. 50-იანი წლების პირველი ნახევრიდან იწყება. დარგის განვითარებისათვის განსაკუთრებული მნიშვნელობა ჰქონდა საქართვ. მეცნ. აკად. გამოთვლითი ცენტრის (ახლანდ. ნ. მუსხელიშვილის სახ. გამოთვლითი მათ. ინ-ტის) დაარსებას (1956). პირველ წლებში ცენტრი ორიენტირებული იყო კონკრეტული გამომთვლელი მანქანებისთვის სხვადასხვა სახის მათ. ამოცანების პროგრამების შემუშავებაზე.

50-იანი წლების დასასრულს აქტ. მუშაობა დაიწყო დ-ის ავტომატიზაციის, საბიბლიოთეკო შემდგენელი და მაინტერპრეტირებელი სისტემების აგების მიმართულებით (ე. დეკანოსიძე). 60-იან წლებში მნიშვნელოვანი შედეგები იქნა მიღებული გამოთვლით მანქანათა მეხსიერების განაწილებისა და ორგანიზაციის საკითხებზე (მ. წულაძე). ამავე პერიოდში შუამავალი ენის მეშვეობით ფართოდ გაიშალა კვლევითი მუშაობა სხვადასხვა სახის მატრანსლირებელი სისტემების შექმნის მიმართულებით; შემდგომ აქტ. მუშაობა დაიწყეს სხვა ორგანიზაციებმაც (თსუ-ის ი. ვეკუას სახ. გამოყენებითი მათ. ინ-ტი, კიბერნეტიკის ინ-ტი, საქართვ. ტექ. უნ-ტი და სხვ.).

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

ლიტ.: Е р ш о в  А. П., Введение в теоретическое программирование, М.,1977; Т у р с к и  В., Методология программирования, М., 1981; S e b e s t a  R.W., Concepts of Programming Languages, Boston, 2004.

მ. წულაძე