Carbon, პროგრამირების ენა, რომელიც მიზნად ისახავს ჩაანაცვლოს C++

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

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

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

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

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

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

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

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

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

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

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

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

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

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


სტატიის შინაარსი იცავს ჩვენს პრინციპებს სარედაქციო ეთიკა. შეცდომის შესატყობინებლად დააჭირეთ ღილაკს აქ.

იყავი პირველი კომენტარი

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი გამოქვეყნებული არ იყო.

*

*

  1. მონაცემებზე პასუხისმგებელი: მიგელ ანგელ გატონი
  2. მონაცემთა მიზანი: სპამის კონტროლი, კომენტარების მართვა.
  3. ლეგიტიმაცია: თქვენი თანხმობა
  4. მონაცემთა კომუნიკაცია: მონაცემები არ გადაეცემა მესამე პირებს, გარდა სამართლებრივი ვალდებულებისა.
  5. მონაცემთა შენახვა: მონაცემთა ბაზა, რომელსაც უმასპინძლა Occentus Networks (EU)
  6. უფლებები: ნებისმიერ დროს შეგიძლიათ შეზღუდოთ, აღადგინოთ და წაშალოთ თქვენი ინფორმაცია.