- ลองถาม GPT-4 ถึงทฤษฎีแบบบูรณาการเกี่ยวกับการพัฒนาซอฟต์แวร์ แล้วให้มันสรุปออกมาเป็น Tenet (หลักการ) 10 ข้อ พร้อมยกตัวอย่างการใช้งานจริง
- ถ้าจะสร้างภาษาโปรแกรมจากแนวคิดนี้ ไวยากรณ์จะมีหน้าตาอย่างไร?
- ภาษา "TenetLang" ซึ่ง GPT-4 ตั้งชื่อให้เองนี้ ผสมไวยากรณ์แบบ Python เข้ากับความสามารถของภาษาสายฟังก์ชันนัล/เชิงวัตถุ
- การกำหนดขอบเขตด้วยการเยื้องบรรทัดคล้าย Python
- ระบบชนิดข้อมูลที่แข็งแรงผ่าน type inference แบบ TypeScript และ Kotlin
- first-class function และ closure คล้าย JavaScript
- โครงสร้างข้อมูลแบบ immutable เป็นค่าเริ่มต้น และเลือกใช้ mutable ได้
- ไวยากรณ์ lambda แบบกระชับสำหรับฟังก์ชันนิรนาม
- pattern matching และ destructuring แบบ Haskell และ Rust
- รองรับ concurrency ในตัวด้วย async/await และ lightweight thread
- FFI (Foreign Function Interface) สำหรับการทำงานร่วมกับภาษาอื่น
- ถ้าจะต่อยอดให้เหมาะกับ distributed computing ล่ะ?
- รองรับการสื่อสารแบบ asynchronous และ non-blocking ด้วย lightweight actor แบบ Erlang และ Akka พร้อมอัลกอริทึมส่งข้อความในตัว
- มีไลบรารีหรือเฟรมเวิร์กในตัวที่รองรับโปรโตคอล RPC ยอดนิยมอย่าง gRPC และ Apache Thrift
- Serialization & Deserialization ผ่านฟอร์แมตอย่าง JSON, BSON, Protocol Buffers
- รองรับโครงสร้างข้อมูลแบบกระจาย เช่น Distributed Hash Tables (DHTs) หรือฐานข้อมูลแบบกระจาย เพื่อแชร์และจัดการข้อมูลข้ามหลายโหนด
- รองรับ fault tolerance ผ่าน supervision tree, การลองใหม่อัตโนมัติ, timeout ฯลฯ
- เพิ่มความสามารถระดับภาษาเพื่อเชื่อมต่อ LLM อย่าง GPT-3 หรือ ChatGPT ได้ง่าย
- ถึงขั้นถามหาวิธีเชื่อมระบบลักษณะนี้โดยตรงในระดับภาษา
- และถามต่อถึงฟีเจอร์อื่นที่อยากเพิ่ม เช่น การเติมโค้ดอัตโนมัติใน IDE, เครื่องมือ refactoring, การแปลจากโค้ดหนึ่งไปอีกโค้ดหนึ่ง, การออกแบบด้วยการรู้จำแพตเทิร์น ฯลฯ
- รวมถึงถามวิธีนำฟีเจอร์เหล่านี้ไปสร้างจริง
- Tenet ทั้ง 10 ข้อ: Modularity, Abstraction, Scalability, Maintainability, Testability, Adaptability, Performance, Security, Collaboration, Continuous improvement
1 ความคิดเห็น
ถ้าจะให้ใช้งานได้จริง ดูเหมือนว่า AI คงต้องสร้างคอมไพเลอร์ให้ได้ด้วยนะครับ แบบนั้นจะถือเป็นเอกฐานอีกอย่างหนึ่งไหมนะ