ทีมพัฒนาจากกูเกิลเสนอโครงการภาษา 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 หน่อยก็ช่วยได้เยอะ