ენის შექმნის ისტორია გ. §1 ზოგადი ინფორმაცია ენის შესახებ

C ენა(წაიკითხეთ "C") შეიქმნა 70-იანი წლების დასაწყისში, როდესაც კენ ტომპსონმა და დენის რიჩიმ Bell Labs-დან შეიმუშავეს UNDC ოპერაციული სისტემა. მათ ჯერ შექმნეს C კომპილერის ნაწილი, შემდეგ გამოიყენეს იგი დანარჩენი კომპილერის დასაკომპლექტებლად თანდა ბოლოს გამოიყენა მიღებული კომპილერი UNIX-ის კომპილაციისთვის. UNIX ოპერაციული სისტემა თავდაპირველად გავრცელდა წყაროს კოდით თანუნივერსიტეტებსა და ლაბორატორიებს შორის, ხოლო მიმღებს შეეძლო C წყაროს კოდის შედგენა მანქანურ კოდში შესაბამისის გამოყენებით C შემდგენელი.

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

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

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

ფართო გამოყენება C ენასხვადასხვა ტიპის კომპიუტერებზე (ზოგჯერ უწოდებენ აპარატურულ პლატფორმებს) სამწუხაროდ, ენის მრავალი ვარიაცია გამოიწვია. მსგავსნი იყვნენ, მაგრამ ერთმანეთთან შეუთავსებელი. ეს იყო მთავარი პრობლემა პროგრამული უზრუნველყოფის შემქმნელებისთვის, რომლებსაც სჭირდებოდათ დაეწერათ თავსებადი პროგრამები, რომლებიც შეიძლება გაშვებულიყო მრავალ პლატფორმაზე. გაირკვა, რომ სტანდარტული ვერსია იყო საჭირო C. 1983 წელს ANSI (ამერიკული სტანდარტების ეროვნული კომიტეტი) ჩამოაყალიბა ტექნიკური კომიტეტი X3J11 ენის სტანდარტის შესაქმნელად C(„ენის ცალსახა და მანქანიდან დამოუკიდებელი განმარტების მიწოდება“). 1989 წელს სტანდარტი დამტკიცდა. ANSI თანამშრომლობს ISO-სთან (საერთაშორისო სტანდარტების ორგანიზაცია) სტანდარტიზაციისთვის Cსაერთაშორისო დონეზე; ერთობლივი სტანდარტი გამოქვეყნდა 1990 წელს და დაერქვა ANSI/ISO 9899:1990. ეს სტანდარტი ჯერ კიდევ იხვეწება და მას მხარს უჭერს შემდგენელი დეველოპერული კომპანიების უმეტესობა.

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

ბიარნე სტროსტრუპი: "მოვიფიქრე C++, დავწერე მისი საწყისი განმარტება და დავასრულე მისი პირველი განხორციელება. შევარჩიე და ჩამოვაყალიბე დიზაინის კრიტერიუმები. C++, შეიმუშავა მისი ძირითადი მახასიათებლები და პასუხისმგებელი იყო სტანდარტიზაციის კომიტეტში ენის გაფართოების წინადადებების ბედზე C++", წერს ყველაზე პოპულარული პროგრამირების ენის ავტორი. C++ ენაენას ბევრი ვალი აქვს Cდა ენა Cრჩება ქვეჯგუფად C++ ენა(მაგრამ C++-მა დააფიქსირა რამდენიმე სერიოზული ხარვეზი C ტიპის სისტემაში). თანხებიც დავზოგე C, რომლებიც საკმარისად დაბალია სისტემის ყველაზე კრიტიკული ამოცანების შესასრულებლად. C ენათავის მხრივ, ბევრი რამ არის ვალდებული თავის წინამორბედს, BCPL-ს; სხვათა შორის, კომენტარის სტილი // C++-ში იქნა აღებული BCPL-დან. შთაგონების სხვა ძირითადი წყარო იყო Simula67 ენა. მისგან იყო ნასესხები კლასების ცნება (წარმოებული კლასებით და ვირტუალური ფუნქციებით). ოპერატორის გადატვირთვის შესაძლებლობა და დეკლარაციების განთავსების შესაძლებლობა ყველგან, სადაც ინსტრუქციის დაწერა შეიძლება, მოგვაგონებს Algol68-ს. "

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

თავდაპირველად C++ პროგრამირების ენაშეიქმნა ისე, რომ ავტორს და მის მეგობრებს არ უწევთ პროგრამირება ასამბლეის, C ან სხვა თანამედროვე მაღალი დონის ენებზე. მისი მთავარი მიზანი იყო ინდივიდუალური პროგრამისტისთვის კარგი პროგრამების წერა უფრო ადვილი და სასიამოვნო ყოფილიყო. Განვითარების გეგმა C++არასოდეს არსებობდა ქაღალდზე; დიზაინი, დოკუმენტაცია და განხორციელება ერთდროულად გადავიდა. რა თქმა უნდა, გარე ინტერფეისი C++ეწერა C++. არასოდეს ყოფილა „C++ პროექტი“ ან „C++ განვითარების კომიტეტი“. Ამიტომაც C++განვითარდა და აგრძელებს განვითარებას ყველა მიმართულებით, რათა გაუმკლავდეს მომხმარებლების წინაშე მდგარ გამოწვევებს და ავტორის დისკუსიების მეშვეობით მის მეგობრებთან და კოლეგებთან.

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

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

C++ პროგრამირების ენაამჟამად ითვლება დომინანტურ ენად, რომელიც გამოიყენება კომერციული პროდუქტების შესაქმნელად, თამაშების 90% იწერება C++ DirectX-ის გამოყენებით.

ლიტერატურა:
H.M.Deitel, P.J.Deitel "როგორ დავპროგრამოთ C++"
Bjarne Stroustrup "C++ პროგრამირების ენა. მე -3 გამოცემა."
Simon Robinson, Ollie Cornes, Jay Glynn და სხვები "C# პროფესიონალებისთვის".
ჯეს ლიბერტი "ასწავლე საკუთარ თავს C++ 21 დღეში"
სტანისლავ გორნაკოვი "DirectX, პროგრამირების გაკვეთილები C++-ში"

რატომ C++

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

C# არის Microsoft-ის მიერ შემუშავებული ახალი ენა ქსელური პლატფორმისთვის. არსებითად, C# არის C++-ის ვარიაცია და მრავალი ფუნდამენტური განსხვავებების მიუხედავად, ენები C# და C++ დაახლოებით 90% ერთნაირია. C#-ს C++-ს სერიოზულ კონკურენციას ალბათ დიდი დრო დასჭირდება; მაგრამ ეს რომც მოხდეს, C++ ენის ცოდნა მნიშვნელოვანი უპირატესობა იქნება.

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

C++ ენის გაჩენა და ევოლუცია

Bjarne Stroustrup არის C++ ენის შემქმნელი და პირველი მთარგმნელის შემქმნელი. ის არის AT&T Bell Laboratories Research Computing Center-ის თანამშრომელი მიურეი ჰილში (ნიუ ჯერსი, აშშ). მან მიიღო მაგისტრის ხარისხი მათემატიკასა და კომპიუტერულ მეცნიერებებში არუსის უნივერსიტეტში (დანია), ხოლო კომპიუტერული მეცნიერების დოქტორის ხარისხი კემბრიჯის უნივერსიტეტში (ინგლისი). ის სპეციალიზირებულია განაწილებულ სისტემებში, ოპერაციულ სისტემებში, მოდელირებასა და პროგრამირებაში. M.A. Ellis-თან ერთად ის არის C++ ენის საბოლოო სახელმძღვანელოს, ანოტირებული C++ სახელმძღვანელოს ავტორი.

რასაკვირველია, C++ ძალიან ბევრს ევალება C ენას, რომელიც რჩება მის ქვეჯგუფად. ასევე შენახულია ყველა დაბალი დონის C ინსტრუმენტი, რომელიც შექმნილია სისტემის პროგრამირების ყველაზე აქტუალური პრობლემების გადასაჭრელად. C, თავის მხრივ, ბევრის ვალი აქვს თავის წინამორბედს, BCPL ენას. BCPL ენის კომენტარი აღდგენილია C++-ში. შთაგონების კიდევ ერთი წყარო იყო SIMULA-67 ენა; სწორედ მისგან იქნა ნასესხები კლასების ცნება (წარმოებულ კლასებთან და ვირტუალურ ფუნქციებთან ერთად). C++-ის ოპერატორების გადატვირთვის უნარი და დეკლარაციების განთავსების თავისუფლება, სადაც ოპერატორი შეიძლება იყოს, მოგვაგონებს ALGOL-68 ენას.

ენის ადრინდელი ვერსიები, სახელწოდებით "C კლასებით", გამოიყენებოდა 1980 წლიდან. ეს ენა გაჩნდა იმის გამო, რომ ავტორს სჭირდებოდა შეფერხებაზე ორიენტირებული სიმულაციური პროგრამების დაწერა. SIMULA-67 ენა იდეალურია ამისთვის, ეფექტურობის გარდა. C ენა კლასებით გამოიყენებოდა დიდი მოდელირების პრობლემებისთვის. იმ დროს მასზე პროგრამების დაწერის შესაძლებლობები, რომლებისთვისაც დრო და მეხსიერების რესურსები კრიტიკული იყო, მკაცრ ტესტირებას ექვემდებარებოდა. ამ ენას აკლდა ოპერატორის გადატვირთვა, მითითებები, ვირტუალური ფუნქციები და მრავალი სხვა ფუნქცია. C++ პირველად გამოიცა ავტორის კვლევითი ჯგუფის გარეთ 1983 წლის ივლისში, მაგრამ C++-ის მრავალი მახასიათებელი ჯერ არ იყო შემუშავებული.

სახელი C++ (C plus plus) გამოიგონა რიკ მასციტიმ 1983 წლის ზაფხულში. სახელი ასახავს C ენაში ცვლილებების ევოლუციურ ხასიათს. აღნიშვნა ++ ეხება C-ს ზრდის ოპერაციას. ოდნავ მოკლე სახელი C+ არის სინტაქსის შეცდომა. გარდა ამისა, იგი უკვე გამოიყენებოდა როგორც სრულიად განსხვავებული ენის სახელი. ვინც იცის C სემანტიკა, C++ უარესია ვიდრე ++C. ენას არ ჰქვია D, რადგან ის არის C-ის გაფართოება და არ ცდილობს რაიმე პრობლემის გადაჭრას C-ის მახასიათებლების აღმოფხვრის გზით. C++ სახელის კიდევ ერთი საინტერესო ინტერპრეტაცია შეგიძლიათ იხილოთ დანართში.

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

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

სხვა გაფართოებები დაინერგა 1985-1991 წლებში (როგორიცაა მრავალჯერადი მემკვიდრეობა, სტატიკური წევრის ფუნქციები და სუფთა ვირტუალური ფუნქციები) წარმოიშვა C++ პროგრამირების გამოცდილების განზოგადებიდან და არა სხვა ენებიდან.

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

დაახლოებით 1987 წელს გაირკვა, რომ C++ სტანდარტიზაციის სამუშაოები გარდაუვალი იყო და მასზე მუშაობა დაუყოვნებლივ უნდა დაწყებულიყო.

AT&T Bell Laboratories იყო ამ სამუშაოს მთავარი წვლილი. 20-მდე ორგანიზაციის ასამდე წარმომადგენელმა განიხილა და კომენტარი გააკეთა იმაზე, თუ რა გახდა საცნობარო სახელმძღვანელოს თანამედროვე ვერსია და ANSI სტანდარტიზაციის საწყისი მასალა. C++. საბოლოოდ, Hewlett-Packard-ის ინიციატივით, X3J16 კომიტეტი ჩამოყალიბდა ANSI-ში 1989 წლის დეკემბერში. მოსალოდნელია, რომ ANSI (ამერიკული სტანდარტი) სტანდარტიზაციის სამუშაოები C++-ისთვის გახდება ISO (სტანდარტიზაციის საერთაშორისო ორგანიზაცია) სტანდარტიზაციის სამუშაოების ნაწილი.

C++ განვითარდა ერთდროულად რამდენიმე ფუნდამენტური კლასის განვითარებასთან.

C++ პროგრამირების ენა

ბოლო განახლება: 08/28/2017

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

მას თავისი ფესვები აქვს C ენაზე, რომელიც შეიქმნა 1969-1973 წლებში Bell Labs-ში პროგრამისტ დენის რიჩის მიერ. 1980-იანი წლების დასაწყისში დანიელმა პროგრამისტმა Bjarne Stroustrup-მა, რომელიც მაშინ მუშაობდა Bell Labs-ში, შეიმუშავა C++, როგორც C ენის გაფართოება. სინამდვილეში, დასაწყისში C++-მა უბრალოდ შეავსო C ენა ობიექტზე ორიენტირებული პროგრამირების ზოგიერთი შესაძლებლობით. და სწორედ ამიტომ, თავად სტროსტრუპმა მას თავდაპირველად უწოდა "C კლასებით".

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

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

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

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

განვითარების ძირითადი ეტაპები

1979-80 წლებში Bjarne Stroustrup-მა შეიმუშავა C ენის გაფართოება - „C კლასებით“. 1983 წელს ენას ეწოდა C++.

1985 წელს გამოვიდა C++ ენის პირველი კომერციული ვერსია, ისევე როგორც წიგნის პირველი გამოცემა "C++ პროგრამირების ენა", რომელიც წარმოადგენდა ამ ენის პირველ აღწერას ოფიციალური სტანდარტის არარსებობის პირობებში.

1989 წელს გამოვიდა C++ 2.0 ენის ახალი ვერსია, რომელიც მოიცავდა უამრავ ახალ ფუნქციას. ამის შემდეგ ენა შედარებით ნელა განვითარდა 2011 წლამდე. მაგრამ ამავე დროს, 1998 წელს, პირველი მცდელობა განხორციელდა ენის სტანდარტიზაციის ISO ორგანიზაციის მიერ (International Organization for Standardization). პირველ სტანდარტს ეწოდა ISO/IEC 14882:1998 ან მოკლედ C++98. შემდგომში, 2003 წელს გამოქვეყნდა C++03 სტანდარტის ახალი ვერსია.

2011 წელს გამოქვეყნდა ახალი C++11 სტანდარტი, რომელიც შეიცავდა ბევრ დამატებას და გაამდიდრა C++ ენა დიდი რაოდენობით ახალი ფუნქციონალობით. ამის შემდეგ, სტანდარტის მცირე დამატება, რომელიც ასევე ცნობილია როგორც C++14, გამოვიდა 2014 წელს. და ენის კიდევ ერთი მთავარი გამოშვება დაგეგმილია 2017 წელს.

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

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

პროგრამების შესაქმნელად ასევე შეგიძლიათ გამოიყენოთ IDE-ები, როგორიცაა Visual Studio, Netbeans, Eclipse, Qt და ა.შ.

იგი შეიქმნა 1972 წელს დენის რიჩის მიერ ბი ენაზე დაყრდნობით. იგი შეიქმნა Unix ოპერაციული სისტემის გამოსაყენებლად.ენას ეწოდა C, რადგან მისი მრავალი მახასიათებელი სათავეს იღებს ძველი ენიდან Bi. C არის ყველაზე პოპულარული ენა სისტემის პროგრამული უზრუნველყოფის შესაქმნელად. ასევე ხშირად გამოიყენება აპლიკაციის პროგრამების შესაქმნელად. შემდგომში C სინტაქსი გახდა მრავალი სხვა ენის საფუძველი. C ენა შეიქმნა ASCII სტანდარტის შემოღების შემდეგ და ამიტომ იყენებს მის თითქმის ყველა გრაფიკულ სიმბოლოს. ძველ ენებში (Fortran, Cobol) იყენებდნენ მხოლოდ ფრჩხილებს და C-ში არის მრგვალი, კვადრატი და ხვეული.გარდა ამისა, C განასხვავებს დიდ და პატარა ასოებსდა ძველი ენები იყენებდნენ მხოლოდ დიდ ასოებს.

1978 წელს რიჩიმ და კერნიგანმა გამოაქვეყნეს წიგნის პირველი გამოცემა C პროგრამირების ენა. 1970-იანი წლების ბოლოს C-მ დაიწყო BASIC-ის, როგორც მიკროკომპიუტერების პროგრამირების წამყვანი ენის შეცვლა. 1980-იან წლებში იგი ადაპტირებული იქნა IBM PC-ზე გამოსაყენებლად, რამაც გამოიწვია მისი პოპულარობა ცაში. ამავდროულად, Bell Labs-ის თანამშრომლებმა დაიწყეს მუშაობა C-სთვის ობიექტზე ორიენტირებული პროგრამირების შესაძლებლობების დასამატებლად. ენა, რომელიც მათ დაასრულეს , C++,ამჟამად არის ყველაზე ფართოდ გამოყენებული პროგრამირების ენა. C რჩება უფრო პოპულარული UNIX-ის მსგავს სისტემებზე.

2. ალგორითმული ენის ძირითადი მახასიათებლები გ.

C ენას ხშირად უწოდებენ საშუალო დონის პროგრამირების ენას. მაგრამ ეს არ ნიშნავს, რომ C არის ნაკლებად ძლიერი, ნაკლებად განვითარებული ან უფრო რთული გამოსაყენებელი, ვიდრე მაღალი დონის ენები, როგორიცაა Basic ან Pascal. ეს ასევე არ ნიშნავს იმას, რომ C არის ისეთივე შრომატევადი და მოუხერხებელი, როგორც ასამბლეის ენა (დაბალი დონის ენა). მას საშუალო დონის ენას უწოდებენ, რადგან ის აერთიანებს მაღალი დონის ენების საუკეთესო მახასიათებლებს ასამბლერის შესაძლებლობებთან.

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

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

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

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

C-ის მნიშვნელოვანი თვისებაა საკვანძო სიტყვების მცირე რაოდენობა, რომლებიც ქმნიან ენის ბრძანებებს. C89 განსაზღვრავს 32 საკვანძო სიტყვას, ხოლო C99 ამატებს მხოლოდ 5 სიტყვას. მაღალი დონის ენებს ჩვეულებრივ აქვთ მრავალი საკვანძო სიტყვა, მაგალითად, Basic-ის უმეტეს ვერსიებს აქვთ ასზე მეტი საკვანძო სიტყვა!

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

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

სტრუქტურირებული ენა პროგრამისტს მრავალ სხვადასხვა ვარიანტს აძლევს. მაგალითად, სტრუქტურირებული ენები ჩვეულებრივ შეიცავს რამდენიმე მარყუჟის განცხადებას, როგორიცაა while, do-while, for.

უახლესი მასალები განყოფილებაში:

პლევნას დაცემა: რუსეთის ფედერაციის თავდაცვის სამინისტრო
პლევნას დაცემა: რუსეთის ფედერაციის თავდაცვის სამინისტრო

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

იური ვასილიევიჩ ბაბანსკი: ბიოგრაფია
იური ვასილიევიჩ ბაბანსკი: ბიოგრაფია

დაბადების ადგილი: სოფელი კრასნი იარი, კემეროვოს რეგიონი. ჯარების განშტოება: სასაზღვრო ჯარები. წოდება: უმცროსი სერჟანტი. ბ აბანსკის იურის ბიოგრაფია...

ფროიდიზმისა და არაფროიდიზმის ფილოსოფია ფროიდიზმის საფუძვლები
ფროიდიზმისა და არაფროიდიზმის ფილოსოფია ფროიდიზმის საფუძვლები

ფროიდიზმის ფუძემდებელია ავსტრიელი ფსიქიატრი და ფსიქოლოგი ზიგმუნდ ფროიდი (1856-1939). ფროიდის იდეებზე დაყრდნობით მათი შევსება და გარკვევა...