ทีมพัฒนาจากกูเกิลเสนอโครงการภาษา Carbon ภาษาโปรแกรมมิ่งใหม่ที่ตั้งเป้าหมายว่าจะใช้ทดแทนภาษา C++ มุ่งเป้าองค์กรที่มีโครงการภาษา C++ ขนาดใหญ่ และโยกย้ายไปภาษาอื่นได้ยาก โดย Carbon มีเป้าหมายที่จะทำงานร่วมกับ C++ ได้เป็นเนื้อเดียวกัน
โค้ดภาษา Carbon สามารถเรียกโค้ด C++ ได้ และโค้ด C++ ก็เรียกโค้ด Carbon ได้ ในแง่ประสิทธิภาพและการทำงานกับฟีเจอร์ระดับล่างของซีพียูก็ทำได้ระดับเดียวกัน รวมถึงในอนาคตก็จะพัฒนาเครื่องมือที่แปลงโค้ดภาษา C++ เป็น Carbon โดยอัตโนมัติได้ด้วย แม้จะทำงานร่วมกันได้อย่างแนบแน่น แต่ภาษา Carbon ก็จะพยายามสร้างฟีเจอร์ของตัวเอง เช่น พยายามปรับปรุงความปลอดภัยในการในงานหน่วยความจำให้ดีขึ้น
ตัวโครงการระบุว่าแนวทางของภาษาโปรแกรมมิ่งใหม่ๆ ที่พัฒนาภาษาใหม่ที่เข้ากันได้กับภาษาเดิมอย่างมากไม่ใช่เรื่องใหม่ เช่น JavaScript ก็มี TypeScript หรือ Java ก็มี Kotlin ที่ทำงานร่วมกันกับภาษาเดิมได้อย่างแนบแน่นแต่เสนอฟีเจอร์ใหม่ๆ ของภาษาใหม่ไปพร้อมกันได้ แนวทางนี้ต่างจากการเชื่อมภาษาที่ต่างกันมากๆ เช่น Rust กับ C++ ที่การเชื่อมให้โค้ดสองภาษาทำงานร่วมกันได้กลายเป็นงานก้อนใหญ่
โครงการ Carbon แทบไม่ระบุว่าทีมงานมาจากกูเกิล โดยเอกสารโครงการระบุว่าพยายามให้เป็นโครงการของชุมชนรวม แต่ตอนนี้หากนักพัฒนาส่งโค้ดเข้าโครงการก็ต้องมอบสิทธิ์ของโค้ดให้กับกูเกิลไป โดยโครงการ Carbon ระบุว่าในอนาคตจะมอบสิทธิ์ขาดของโค้ดให้กับองค์กรกลางอื่นๆ เป็นผู้ดูแลต่อไป
ที่มา - Github: Carbon Language
Comments
ทน –> ทด
ผมนี่รอฟัง Titus Winter เลย
จะว่าไป C++ ของ google นี่ค่อนข้างเข้มงวดมาก จำกัดห้ามให้หลายฟีเจอร์เลยทีเดียว (แต่ Chrome กับ Android ไม่เกี่ยว ใช้กฎแยกกัน)
ทำไมรู้สึกว่ามันอ่านยากกว่าเดิมอีกล่ะนี่
➕1️⃣
template define ใช้ [] ต่อท้ายชื่อ function มันไปอยู่ค้ลายกับ map, array, lamba
template parameter ก็ใช้ () นึกว่าเป็น function 🙄
ทำไมรู้สึกว่ามันคล้าย Swift
Opensource - Hackintosh - Graphic Design - Scriptkiddie - Xenlism Project
ปรับปรุง C++ มันช้าเลยสร้างภาษาใหม่งี้หรอ โหดนะ 555
วิธีการเขียนแบบ Python ลอยมาเลย ถึงว่าคล้าย Go แปลก ๆ
ผมคนนึงแหละอยากลอง คงจะเขียนสนุกและเวียนหัวในเวลาเดียวกันพิลึกน่าดู
ก็อย่างว่า ภาษานี้ไม่ Memory Safety ไม่ Multi core Mozilla ยอมแพ้กับภาษานี่มาแล้ว เลยได้เป็น Rust อย่างที่เห็น
เอาเถอะ คนที่เขียน C++ ใน Android คงมีอะไรสนุก ๆ ให้ทำอีกเยอะเลย
ไม่ได้ช้า (ในแง่ว่าโค้ดที่ได้ทำงานช้า) นะครับ ตรงข้ามด้วยคือเขาพยายามใส่ฟีเจอร์ภาษาใหม่ๆ โดยประสิทธิภาพต้องไม่ลดลง
lewcpe.com , @wasonliw
เข้าใจว่าคุณ ZodiacJB จะสื่อถึงกระบวนการปรับปรุงมันช้าน่ะครับ
ภาษาไหนมี function create thread, new processก็ multicore process ได้หมดล่ะครับ
feature สำหรับ memory safety มันมี
แค่ไม่ safe by default เท่านั้นเองคนเขียนเลยต้อง effort หน่อย
ถ้าอ่าน core guideline หน่อยก็ช่วยได้เยอะ