DEV Community

Gophernment
Gophernment

Posted on

ภาษาโปรแกรมมิ่งที่ syntax ง่าย ทำให้ AI หลอนน้อยลง จริงหรือ?

ภาษาโปรแกรมมิ่งที่ syntax ง่าย ทำให้ AI หลอนน้อยลง จริงหรือ?

"เขียน Go แล้ว Copilot แม่นกว่าเขียน Java" — เคยได้ยินไหม?
หรือ "Python มันง่าย AI เลยเก่ง" — จริงหรือแค่ confirmation bias?

คำถามนี้ดูเผิน ๆ เหมือน opinion — แต่จริง ๆ มีงานวิจัยรองรับ

บทความนี้จะพาไปดู 3 งานวิจัย จาก arXiv + GitHub Blog ที่ตอบคำถามนี้ด้วยข้อมูล — แล้วสรุปว่าเราควรเลือกภาษาอะไรเขียนถ้าอยากให้ AI ช่วยเราได้ดีที่สุด


📄 งานวิจัยที่ 1: Token Sugar — "ยิ่ง verbose ยิ่งเปลือง token"

Token Sugar: Making Source Code Sweeter for LLMs (ASE 2025)
โดย Zhensu Sun, Chengran Yang และคณะ — https://arxiv.org/abs/2512.08266

ข้อค้นพบ:

"The inherent verbosity of programming languages, such as unnecessary formatting elements and lengthy boilerplate code, leads to inflated token counts"

ภาษาโปรแกรมมิ่งที่ verbose — มี boilerplate เยอะ, มี formatting elements มาก — ทำให้ token count สูงขึ้นโดยไม่จำเป็น

ตัวเลข: Token Sugar สามารถลด token ได้ 15.1% ใน source code และ 11.2% ระหว่าง generation — โดย คงค่า Pass@1 เท่าเดิม — แปลว่าที่ลดไปไม่ใช่เนื้อหาสำคัญ แต่มันคือ "ขยะ" ทาง syntax ที่ LLM ต้อง generate โดยเปล่าประโยชน์

นัยสำคัญ:

Java: public static void main(String[] args) { System.out.println("hello"); }
Go:   func main() { fmt.Println("hello") }

Java: ~20+ tokens
Go:   ~8 tokens
 ฟังก์ชันเดียวกัน  Go ใช้ token น้อยกว่าครึ่ง
Enter fullscreen mode Exit fullscreen mode

ทุก token ที่ประหยัดได้ = เงินที่ประหยัดได้ = context window ที่เหลือไว้ให้ logic จริง


📄 งานวิจัยที่ 2: Babbling Suppression — "Java พล่ามมากกว่า Python"

Babbling Suppression: Making LLMs Greener One Token at a Time (2026)
โดย Lola Solovyeva, Fernando Castor — https://arxiv.org/abs/2604.06755

ข้อค้นพบ:

"Babbling occurs across all tested models, with higher frequency in Java than in Python"

"Babbling" (การพูดพล่าม) คือการที่ LLM สร้าง output ที่มากเกินจำเป็น — เช่น generate getter/setter ทั้งคลาสทั้งที่ขอแค่ method เดียว, ใส่ import ที่ไม่ได้ใช้, comment ยาวเกินเหตุ

งานวิจัยนี้พบว่า Java เกิด babbling มากกว่า Python อย่างมีนัยสำคัญ — และลด energy consumption ได้มากถึง 65% สำหรับ Python, 62% สำหรับ Java โดยการ suppress babbling

ทำไม Java ถึงพล่ามมากกว่า?

Python:  def add(a, b): return a + b            2 บรรทัด
Java:    public int add(int a, int b) {          องมี type, access modifier,
             return a + b;                           return statement, bracket
         }
Enter fullscreen mode Exit fullscreen mode

Java บังคับให้ LLM ต้อง "พูด" เยอะกว่าเพื่อแสดงความตั้งใจเดียวกัน — ยิ่งต้องพูดเยอะ = ยิ่งมีโอกาสพูดผิด


📄 งานวิจัยที่ 3: MultiPL-E — "ภาษาไหน LLM เก่งสุด?"

MultiPL-E: A Scalable Benchmark for Neural Code Generation (2022)
โดย Federico Cassano และคณะ — https://arxiv.org/abs/2208.08227

ข้อค้นพบ:

  • สร้าง benchmark ที่ทดสอบ LLM ข้าม 18+ ภาษา พร้อมกัน
  • พบว่า "language frequency" (ปริมาณ training data ของภาษานั้น) เป็นปัจจัยอันดับ 1
  • ภาษาใกล้เคียง Python มักทำคะแนนได้ดี (เพราะ Python มี training data มหาศาล)
  • ภาษาที่ training data น้อย → คะแนนต่ำ แม้ syntax จะเรียบง่าย

สรุปจาก MultiPL-E: Syntax ง่าย ≠ AI เก่งเสมอไป — ถ้าภาษานั้นไม่มี training data — AI ก็ทำไม่ได้


📊 สรุป — 3 ปัจจัยที่ตัดสินว่า AI จะเก่งกับภาษาไหน

อันดับ ปัจจัย น้ำหนัก หลักฐาน
🥇 Training Data — ภาษานั้นมีโค้ดบน GitHub เยอะแค่ไหน มากที่สุด MultiPL-E
🥈 Verbosity — ภาษานั้น verbose แค่ไหน (กระทบ token cost) ปานกลาง Token Sugar
🥉 Syntax Complexity — ซับซ้อน → babbling มากขึ้น ปานกลาง Babbling Suppression

ภาพรวม — จัดกลุ่มภาษา

กลุ่ม ภาษา AI เก่ง? Token cost Babbling
🟢 Sweet Spot Python, JavaScript, TypeScript, Go ✅ เก่ง ต่ำ น้อย
🟡 พอใช้ได้ Ruby, Rust, Kotlin, Swift ⚠️ ปานกลาง กลาง กลาง
🔴 ท้าทาย Java, C++, C#, PHP ⚠️ เก่งในเรื่องทั่วไป แต่ verbose สูง มาก

💡 Go อยู่ในกลุ่ม Sweet Spot — syntax เรียบง่ายเหมือน Python + training data จาก Kubernetes, Docker, Terraform — ทำให้ LLM เก่งและประหยัด token ไปพร้อมกัน


🎯 คำตอบสุดท้าย

"ภาษา syntax ง่ายทำให้ AI หลอนน้อยลง จริงไหม?"

 จริง  แตแควนนึงของสมการ

ปัจจัยอันดับ 1 คือ training data
ปัจจัยอันดับ 2 คือ verbosity (กระทบ token cost)
ปัจจัยอันดับ 3 คือ syntax complexity (กระทบ babbling)
Enter fullscreen mode Exit fullscreen mode

ภาษาที่ "ใช่" สำหรับ AI-assisted coding คือภาษาที่:

  • มี training data มาก → AI แม่น
  • syntax กระชับ → ประหยัด token
  • ไม่บังคับ boilerplate → AI ไม่ต้องพล่าม

Python ชนะขาดเรื่อง training data — Go ชนะเรื่องความกระชับ — JavaScript/TypeScript สมดุลทั้งสองด้าน — Java/C++ เก่งในเชิงความสามารถ แต่แพ้เรื่อง token cost


📚 Sources:

Top comments (0)