Carbon ภาษาโปรแกรมที่มุ่งแทนที่ C++

ไม่กี่วันที่ผ่านมา พนักงาน Google เปิดเผย ที่กำลังพัฒนาภาษาโปรแกรมใหม่ที่เรียกว่า "ถ่านหิน", นี้ อยู่ในตำแหน่งแทนการทดลองสำหรับ C++ขยายภาษานี้และขจัดข้อบกพร่องที่มีอยู่

ตามการนำเสนอของ Carruth ภาษาได้รับการพัฒนาเพื่อให้สามารถสร้างซอฟต์แวร์ที่ประสิทธิภาพเป็นสิ่งสำคัญ พวกเขายังต้องการให้นักพัฒนาใช้ประโยชน์จากการออกแบบภาษาโปรแกรมที่ทันสมัยโดยใช้ Carbon

บางสิ่งที่เน้นว่าเป็นไฮไลท์ของ Carbon เมื่อเทียบกับ C++ ได้แก่ ไวยากรณ์ที่ง่ายกว่าและการนำเข้า API. ตามที่ Carruth กล่าว ภาษาทดลองใหม่นี้ควรทำงานร่วมกันแบบสองทิศทางกับ C++ ซึ่งหมายความว่าโครงการควรจะสามารถโยกย้ายจากภาษาหนึ่งไปยังอีกภาษาหนึ่งได้โดยไม่ยาก

นอกจากนี้ ยังเป็นเป้าหมายที่จะพัฒนาภาษาต่อไปในทางที่เปิดกว้างบนอินเทอร์เน็ต ซึ่งใครก็ตามที่ต้องการสามารถสนับสนุนซอร์สโค้ดได้ โครงการนี้เผยแพร่สู่สาธารณะบน Github และเปิดให้บริการสำหรับ ดึงคำขอ 

ภาษารองรับการพกพา C++ พื้นฐานสามารถผสานรวมกับโค้ด C++ ที่มีอยู่ และจัดเตรียมเครื่องมือเพื่อทำให้การย้ายโปรเจ็กต์ที่มีอยู่ง่ายขึ้นโดยการแปลไลบรารี C++ เป็นโค้ด Carbon โดยอัตโนมัติ

ตัวอย่างเช่น คุณสามารถเขียนไลบรารีบางไลบรารีใหม่ใน Carbon และใช้ในโครงการ C++ ที่มีอยู่ คอมไพเลอร์ Carbon เขียนโดยใช้ LLVM และ Clang builds

จากลักษณะเด่นของคาร์บอนสิ่งต่อไปนี้โดดเด่น:

  • ประสิทธิภาพของโค้ดที่ได้นั้นเทียบได้กับ C++ ในขณะที่ยังคงความสามารถในการเข้าถึงที่อยู่ระดับต่ำและข้อมูลระดับบิต
  • พกพาได้ด้วยโค้ด C++ ที่มีอยู่ รวมถึงการสืบทอดคลาสและเทมเพลต
  • การคอมไพล์ที่รวดเร็วและความสามารถในการรวมเข้ากับระบบบิลด์ที่มีอยู่สำหรับ C++
  • ลดความซับซ้อนของการย้ายข้อมูลระหว่าง Carbon เวอร์ชันต่างๆ
  • จัดเตรียมเครื่องมือที่ปลอดภัยสำหรับหน่วยความจำซึ่งป้องกันช่องโหว่ที่เกิดจากการระบุพื้นที่หน่วยความจำหลังจากที่ปล่อยว่างแล้ว การยกเลิกการอ้างอิงตัวชี้ null และบัฟเฟอร์โอเวอร์โฟลว์

แน่นอนว่าเรามี Rust เป็นทางเลือกแทน C และ C++ แต่นี่ไม่ใช่ภาษาส่วนขยายจริงๆ มันเป็นภาษาที่เต็มเปี่ยม มาเริ่มกันใหม่อีกครั้ง Carbon พยายามที่จะเป็นเหมือน Rust ในขณะที่ยังคงเข้ากันได้กับโลกของ C ++ ในหน้า Github ของมันบอกว่า:

  • การจับคู่ประสิทธิภาพ C++ โดยใช้ LLVM พร้อมการเข้าถึงบิตและที่อยู่ระดับต่ำ
  • ทำงานร่วมกับโค้ด C++ ที่มีอยู่ของคุณ ตั้งแต่การสืบทอดไปจนถึงเทมเพลต
  • บิลด์ที่รวดเร็วและปรับขนาดได้ซึ่งทำงานกับระบบบิลด์ C++ ที่มีอยู่ของคุณ

คาร์บอนถูกอ้างว่ามีความจำเป็นเนื่องจากการปรับปรุงที่เพิ่มขึ้นของ C ++ นั้นเป็นไปไม่ได้อีกต่อไปเนื่องจากสัมภาระในอดีตที่ไม่สามารถกำจัดได้ โดยส่วนตัวแล้ว ฉันจะไปต่อและแนะนำว่า "การปรับปรุง" ที่เพิ่มขึ้นใน C ++ เป็นส่วนหนึ่งของเหตุผลที่เป็นภาษาที่มีขนาดใหญ่ในทางปฏิบัติ

“มีภาษาใหม่ๆ อยู่เสมอที่พยายามจะเป็นผู้สืบทอดของ C++ ฉันยินดีต้อนรับการทดลองเกี่ยวกับภาษาโปรแกรมและรูปแบบการเขียนโปรแกรม แต่ฉันไม่ต้องการให้เกิดความขัดแย้ง เป็นการง่ายที่จะวิพากษ์วิจารณ์ภาษาที่จัดตั้งขึ้น (เราทราบปัญหาของพวกเขา) แต่มักจะเป็นเรื่องยากที่จะเสนอทางเลือกอื่นโดยไม่สร้างปัญหาชุดใหม่ทั้งหมดในกฎของภาษา ห้องสมุด และการกำกับดูแล Carbon เป็นสิ่งใหม่และไม่ได้ระบุไว้จนฉันไม่สามารถแสดงความคิดเห็นทางเทคนิคที่มีความหมายได้” Bjarne Stroustrup นักประดิษฐ์ C++ กล่าวในอีเมล

ในขณะที่ Carbon เริ่มเป็นโครงการภายในของ Google ทีมพัฒนาต้องการลดการมีส่วนร่วมจาก Google หรือบริษัทอื่นๆ ให้เหลือน้อยกว่า 50% ภายในสิ้นปีนี้ ในท้ายที่สุด พวกเขาต้องการมอบโครงการนี้ให้กับมูลนิธิซอฟต์แวร์อิสระ ซึ่งอาสาสมัครจะเป็นผู้ดำเนินการพัฒนา

ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม คุณควรรู้ว่าการพัฒนาของโครงการนั้นเผยแพร่ภายใต้ลิขสิทธิ์ Apache 2.0 และคุณสามารถปรึกษาพวกเขาได้ ในลิงค์ต่อไปนี้.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา