ภาษาไทย
ทำไม - เป้าหมาย | สถานะ | เริ่มต้นใช้งาน | เข้าร่วมกับเรา
ดูวิดีโอประกาศของเราจาก CppNorth โปรดทราบว่าคาร์บอนยังไม่พร้อมใช้งาน
สอดคล้องกับรหัสคาร์บอนนี้:
คุณสามารถเรียก Carbon จาก C++ ได้โดยไม่มีค่าใช้จ่ายหรือในทางกลับกัน ซึ่งหมายความว่าคุณย้ายไลบรารี C++ เดียวไปยัง Carbon ภายในแอปพลิเคชัน หรือเขียน Carbon ใหม่เพิ่มเติมจากการลงทุน C++ ที่มีอยู่ของคุณ ตัวอย่างเช่น:
อ่านเพิ่มเติมเกี่ยวกับการทำงานร่วมกันของ C++ ใน Carbon
นอกเหนือจากการทำงานร่วมกันระหว่าง Carbon และ C++ แล้ว เรายังวางแผนที่จะสนับสนุนเครื่องมือการย้ายข้อมูลที่จะแปลโค้ด C++ ที่เป็นสำนวนเป็นโค้ด Carbon โดยอัตโนมัติ เพื่อช่วยให้คุณสลับฐานโค้ด C++ ที่มีอยู่ไปเป็น Carbon
Carbon จัดเตรียม ระบบทั่วไปที่ทันสมัย พร้อมคำจำกัดความที่ตรวจสอบแล้ว ในขณะที่ยังคง รองรับเทมเพลตการเลือกใช้สำหรับการทำงานร่วมกันของ C++ ที่ราบรื่น ข้อมูลทั่วไปที่ตรวจสอบแล้วมีข้อดีหลายประการเมื่อเปรียบเทียบกับเทมเพลต C++:
โดยไม่ต้องเสียสละข้อดีเหล่านี้ Carbon Generics สนับสนุนความเชี่ยวชาญพิเศษ เพื่อให้มั่นใจว่าสามารถจัดการกับกรณีการใช้งานที่มีความสำคัญต่อประสิทธิภาพการทำงานของเทมเพลต C++ ได้อย่างเต็มที่ สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับยาชื่อสามัญของ Carbon โปรดดูการออกแบบ
นอกเหนือจากการทำงานร่วมกันที่ง่ายดายและมีประสิทธิภาพด้วย C++ แล้ว เทมเพลต Carbon ยังสามารถจำกัดและโยกย้ายแบบเพิ่มไปยังข้อมูลทั่วไปที่ได้รับการตรวจสอบด้วยรายละเอียดที่ละเอียดและมีเส้นทางวิวัฒนาการที่ราบรื่น
ความปลอดภัย และโดยเฉพาะอย่างยิ่งความปลอดภัยของหน่วยความจำ ยังคงเป็นความท้าทายที่สำคัญสำหรับ C++ และเป็นสิ่งที่ภาษาที่สืบทอดต้องแก้ไข ลำดับความสำคัญและการมุ่งเน้นเบื้องต้นของเราคือการจัดการกับผลไม้ที่สำคัญและแขวนต่ำในพื้นที่ปลอดภัยโดยทันที:
เมื่อเราสามารถย้ายโค้ดไปยัง Carbon ได้ เราจะมีภาษาที่เรียบง่ายพร้อมพื้นที่ในการออกแบบเพื่อเพิ่มคำอธิบายประกอบหรือฟีเจอร์ที่จำเป็น และโครงสร้างพื้นฐาน เช่น ภาษาทั่วไปเพื่อรองรับรูปแบบการออกแบบที่ปลอดภัยยิ่งขึ้น ในระยะยาว เราจะต่อยอดจากสิ่งนี้เพื่อแนะนำ กลุ่มย่อยคาร์บอนที่ปลอดภัย นี่จะเป็นการดำเนินการขนาดใหญ่และซับซ้อน และจะไม่อยู่ในการออกแบบ 0.1 ในขณะเดียวกัน เรากำลังเฝ้าดูและเรียนรู้อย่างใกล้ชิดจากความพยายามในการเพิ่มความหมายที่ปลอดภัยของหน่วยความจำลงใน C++ เช่น คำอธิบายประกอบตลอดอายุการใช้งานที่ได้รับแรงบันดาลใจจาก Rust
หากต้องการทดลองใช้ Carbon ทันทีในเบราว์เซอร์ของคุณ คุณสามารถใช้ตัวแปลสาธิตสำหรับ Carbon ได้ที่: carbon.compiler-explorer.com
เรากำลังพัฒนา toolchain แบบดั้งเดิมสำหรับ Carbon ที่สามารถคอมไพล์และลิงก์โปรแกรมได้ อย่างไรก็ตาม Carbon ยังคงเป็นโปรเจ็กต์ทดลองช่วงแรกๆ ดังนั้นเราจึงมีเพียงการเผยแพร่ Toolchain Carbon เวอร์ชันทดลองทุกคืนพร้อมให้ดาวน์โหลด และเฉพาะบนแพลตฟอร์มที่จำกัดเท่านั้น หากคุณใช้ Ubuntu Linux รุ่นล่าสุดหรือคล้ายกัน (Debian, WSL ฯลฯ) คุณสามารถลองใช้สิ่งเหล่านี้ได้โดยไปที่หน้าเผยแพร่ของเรา และดาวน์โหลดไฟล์ tar toolchain ทุกคืนล่าสุด: carbon_toolchain-0.0.0-0.nightly.YYYY.MM.DD.tar.gz จากนั้นคุณสามารถลองใช้งานได้:
carbon_toolchain-0.0.0-0.nightly.YYYY.MM.DD.tar.gz
# A variable with the nightly version from yesterday: VERSION= " $( date -d yesterday +0.0.0-0.nightly.%Y.%m.%d ) " # Get the release wget https://github.com/carbon-language/carbon-lang/releases/download/v ${VERSION} /carbon_toolchain- ${VERSION} .tar.gz # Unpack the toolchain: tar -xvf carbon_toolchain- ${VERSION} .tar.gz # Create a simple Carbon source file: echo " fn Run() { Core.Print(42); } " > forty_two.carbon # Compile to an object file: ./carbon_toolchain- ${VERSION} /bin/carbon compile --output=forty_two.o forty_two.carbon # Install minimal system libraries used for linking. Note that installing `gcc` # or `g++` for compiling C/C++ code with GCC will also be sufficient, these are # just the specific system libraries Carbon linking still uses. sudo apt install libgcc-11-dev # Link to an executable: ./carbon_toolchain- ${VERSION} /bin/carbon link --output=forty_two forty_two.o # Run it: ./forty_two
ขอเตือนไว้ก่อนว่า toolchain ยังเร็วมากและหลายสิ่งยังไม่ทำงาน โปรดระงับการแจ้งข้อบกพร่องจำนวนมาก: เรารู้ว่าหลายส่วนยังไม่ทำงานหรืออาจใช้ไม่ได้กับทุกระบบ เราคาดว่าจะมีการเปิดตัวที่มีประสิทธิภาพและเชื่อถือได้มากขึ้น ซึ่งคุณสามารถทดลองใช้ได้เมื่อเราบรรลุเป้าหมาย 0.1
หากคุณต้องการสร้าง toolchain ของ Carbon ด้วยตัวเองหรือกำลังคิดที่จะสนับสนุนการแก้ไขหรือการปรับปรุง Carbon คุณจะต้องติดตั้งการพึ่งพา build ของเรา (Clang, LLD, libc++) และตรวจสอบพื้นที่เก็บข้อมูล Carbon ตัวอย่างเช่น บน Debian หรือ Ubuntu:
# Update apt. sudo apt update # Install tools. sudo apt install clang libc++-dev libc++abi-dev lld # Download Carbon's code. $ git clone https://github.com/carbon-language/carbon-lang $ cd carbon-lang
จากนั้น คุณสามารถลองใช้ toolchain ของเราซึ่งมีคอมไพเลอร์ระยะเริ่มต้นสำหรับ Carbon:
# Build and run the toolchain's help to get documentation on the command line. $ ./scripts/run_bazelisk.py run //toolchain -- help
หากต้องการคำแนะนำโดยละเอียด รวมถึงการติดตั้งการขึ้นต่อกันบนแพลตฟอร์มต่างๆ โปรดดูเอกสารประกอบเครื่องมือสนับสนุนของเรา
เรียนรู้เพิ่มเติมเกี่ยวกับโครงการคาร์บอน:
การพูดคุยที่เน้นเรื่องคาร์บอนจากชุมชน:
เราอยากจะมีคนเข้าร่วมกับเราและมีส่วนร่วมในโครงการนี้ Carbon มุ่งมั่นที่จะสร้างสภาพแวดล้อมที่เป็นมิตรและครอบคลุมซึ่งทุกคนสามารถมีส่วนร่วมได้
คุณยังสามารถ:
คุณสามารถ ดู "ประเด็นแรกที่ดี" หรือเข้าร่วมช่อง #contributing-help บน Discord ดูเอกสาร CONTRIBUTING เต็มของเราสำหรับรายละเอียดเพิ่มเติม
#contributing-help
CONTRIBUTING