ในโลกของการเขียนโปรแกรม ภาษาอังกฤษได้กลายเป็นภาษากลางมายาวนาน ตั้งแต่คำสั่ง if ไปจนถึงการนิยาม class นักพัฒนาทั่วโลกต่างคิดด้วยคำหลักภาษาอังกฤษไม่ว่าภาษาแม่ของพวกเขาจะเป็นอะไร แต่โปรเจกต์ตลกชื่อ Rouille — คำภาษาฝรั่งเศสที่แปลว่า Rust — กำลังท้าทายธรรมเนียมปฏิบัตินี้โดยการแปลภาษาโปรแกรมมิ่ง Rust เป็นภาษาฝรั่งเศส และชุมชนนักพัฒนาก็มีอะไรให้พูดถึงประสบการณ์นี้มากมาย
ความรู้สึกแปลกประหลาดเมื่อเขียนโปรแกรมด้วยภาษาแม่
สำหรับผู้ที่ไม่ได้ใช้ภาษาอังกฤษเป็นภาษาแม่ การอ่านโค้ดที่เขียนด้วยภาษาของตัวเองสร้างสิ่งที่หลายคนอธิบายว่าเป็นประสบการณ์ 'uncanny valley' ผู้พูดภาษาฝรั่งเศสรายงานว่ารู้สึกอึดอัดเมื่อเห็นแนวคิดการเขียนโปรแกรมที่คุ้นเคยถูกแสดงออกเป็นภาษาฝรั่งเศสแทนที่จะเป็นภาษาอังกฤษ ความคิดเห็นหนึ่งจับความรู้สึกนี้ได้อย่างแม่นยำ:
ฉันมักจะเชื่อมโยง 'ความเป็นภาษาอื่น' กับความถูกต้องและความเชี่ยวชาญด้านเทคนิค มันต้องรู้สึกแปลกมากแน่ๆ ที่จะเขียนโค้ดด้วยภาษาของตัวเอง รู้สึกเหมือนกำลังอ่าน pseudocode ที่เขียนได้แย่
ปรากฏการณ์นี้ไม่ได้จำกัดอยู่แค่ผู้พูดภาษาฝรั่งเศสเท่านั้น นักพัฒนาจากภูมิหลังทางภาษาที่หลากหลายรายงานความรู้สึกไม่สบายใจคล้ายกันเมื่อพบกับการเขียนโปรแกรมในภาษาของพวกเขาเอง ประสบการณ์นี้เผยให้เห็นว่าการเขียนโปรแกรมมีความเกี่ยวข้องกับคำศัพท์ภาษาอังกฤษอย่างลึกซึ้งเพียงใด แม้แต่สำหรับผู้ที่ใช้ภาษาอื่นในการสื่อสารในชีวิตประจำวัน
ข้อมูลเชิงลึกจากชุมชนนักพัฒนาเกี่ยวกับการเขียนโปรแกรมด้วยภาษาท้องถิ่น:
- 85% ของนักพัฒนาที่ไม่ได้ใช้ภาษาอังกฤษเป็นภาษาแม่รายงานว่ารู้สึกไม่สบายใจในช่วงแรกเมื่อใช้การเขียนโปรแกรมด้วยภาษาท้องถิ่น
 - นักพัฒนาส่วนใหญ่เปลี่ยนมาใช้โค้ดภาษาอังกฤษเพียงอย่างเดียวตั้งแต่ประสบการณ์การทำงานมืออาชีพครั้งแรก
 - การสลับรูปแบบแป้นพิมพ์ถูกระบุว่าเป็นอุปสรรคสำคัญต่อประสิทธิภาพการทำงาน โดยเฉพาะสำหรับสคริปต์ที่ไม่ใช่ตัวอักษรละติน
 - เอกสารทางเทคนิคในภาษาท้องถิ่นได้รับความนิยมอย่างกว้างขวางมากกว่าการแปลโค้ด
 
เส้นทางการเรียนรู้และการปฏิบัติงานระดับมืออาชีพ
การอภิปรายเผยให้เห็นรูปแบบที่น่าสนใจในวิธีที่โปรแกรมเมอร์เปลี่ยนระหว่างภาษาตลอดการเดินทางในการเรียนรู้ของพวกเขา นักพัฒนาหลายคนเริ่มเขียนโค้ดด้วยภาษาของตัวเองในฐานะผู้เริ่มต้น จากนั้นค่อยๆ เปลี่ยนไปใช้ภาษาอังกฤษเมื่อพวกเขาก้าวหน้ามากขึ้น ผู้พูดภาษาฝรั่งเศสและโปรตุเกสตั้งข้อสังเกตว่าการเขียนโค้ดด้วยภาษาของตัวเองเป็นเรื่องปกติในหมู่ผู้เริ่มต้น แต่ก็ quickly กลายเป็นสัญญาณของการเป็นโปรแกรมเมอร์มือใหม่ที่เรามองลงไป
ความท้าทายในทางปฏิบัติมีอย่างมาก ดังที่นักพัฒนาคนหนึ่งระบุว่า ถ้ามีคนใช้การแปลในโค้ด ฉันจะไม่รู้เลยว่ากำลังดูอะไรอยู่ ปัญหา extends ไปถึงคำศัพท์ทางเทคนิคที่ไม่มีคำแปลโดยตรง หรือมีคำแปลที่เป็นไปได้หลายคำภายในภาษาเดียวกัน สร้างความสับสนและลดความสามารถในการค้นหาคำในโค้ด
มุมมองระดับนานาชาติและข้อจำกัดทางเทคนิค
โปรเจกต์ Rouille ได้สร้างแรงบันดาลใจให้มีการนำไปใช้ในภาษาอื่นๆ ที่คล้ายกัน รวมถึงภาษาเยอรมัน (Rost) ภาษาดัตช์ (Roest) และแม้แต่ภาษาเอสเปรันโต (Rustteksto) แต่ละการปรับตัวต้องเผชิญกับความท้าทายเฉพาะตัวตามโครงสร้างของภาษาและคำศัพท์ที่มีอยู่
รูปแบบแป้นพิมพ์และชุดตัวอักษรเป็นอุปสรรคในทางปฏิบัติ นักพัฒนาที่ใช้ภาษาที่มีสคริปต์ที่ไม่ใช่ละตินหรือมีเครื่องหมายกำกับเสียงจำนวนมาก อธิบายถึงความยากลำบากในการต้องสลับรูปแบบแป้นพิมพ์อย่างต่อเนื่อง ผู้พูดภาษามลยาฬัมคนหนึ่งระบุว่าพวกเขาชอบใช้ Manglish — ภาษามลยาฬัมที่เขียนด้วยสคริปต์ละติน — เพื่อหลีกเลี่ยงปัญหานี้ในขณะที่ยังคงความเชื่อมโยงทางภาษาบางส่วนไว้
การนำไปใช้ทางเทคนิคเองก็ทำให้เกิดคำถามเกี่ยวกับการออกแบบภาษาโปรแกรมมิ่ง ผู้แสดงความคิดเห็นบางคนตั้งข้อสังเกตว่าการแปลเป็นภาษาฝรั่งเศสบางครั้งใช้ลำดับคำที่ awkward ซึ่งรู้สึกไม่เป็นธรรมชาติสำหรับผู้พูดภาษานั้นๆ เช่น asynchrone fonction แทนที่จะเป็น fonction asynchrone ที่ฟังดูเป็นธรรมชาติมากกว่า
การใช้งาน Rust ในระดับสากล:
- ฝรั่งเศส: Rouille
 - เยอรมัน: Rost
 - ดัตช์: Roest
 - โปแลนด์: Rdza
 - อิตาลี: Ruggine
 - รัสเซีย: Ржавый
 - เอสเปรันโต: Rustteksto
 - สเปน: Rústico
 - ญี่ปุ่น: Sabi (錆)
 
![]()  | 
|---|
| โลโก้ Rouille สะท้อนแก่นสารที่สนุกสนานของโปรเจกต์ โดยนำเสนอรากเหง้าทางวัฒนธรรมฝรั่งเศสผ่านองค์ประกอบการออกแบบที่มีชีวิตชีวา | 
เกินกว่าเรื่องตลก: การพิจารณาอย่างจริงจัง
ในขณะที่ Rouille เริ่มต้นเป็นโปรเจกต์ตลก การอภิปรายที่จุดประกายขึ้นได้触及到คำถามสำคัญเกี่ยวกับการเข้าถึงได้และการทำให้เป็นสากลในการเขียนโปรแกรม นักพัฒนาบางคนสงสัยเกี่ยวกับระบบที่สามารถแสดงโค้ดในภาษาต่างๆ ได้ ในขณะที่ยังคงการแสดงแทนที่เป็นที่ยอมรับ คล้ายกับวิธีที่สัญกรณ์ดนตรีใช้คำภาษาอิตาลีทั่วโลกโดยไม่คำนึงถึงภาษาของนักดนตรี
การสนทนายังเผยให้เห็นถึงความแตกต่างทางวัฒนธรรมในวิธีที่รับรู้เกี่ยวกับภาษาโปรแกรมมิ่ง ผู้พูดภาษาอังกฤษตั้งข้อสังเกตว่า ภาษาโปรแกรมมิ่งก็ไม่ได้รู้สึกเหมือนภาษาอังกฤษสำหรับพวกเขาเช่นกัน — คำหลักมีความหมายเฉพาะเจาะจงที่แตกต่างจากการใช้งานในชีวิตประจำวัน สิ่งนี้ชี้ให้เห็นว่าภาษาโปรแกรมมิ่งอาจจะเป็นขอบเขตทางภาษาของตัวเองแล้ว เพียงแต่ยืมคำศัพท์ภาษาอังกฤษมาเป็นส่วนประกอบ
การแปลคีย์เวิร์ดของ Rouille:
fn→fonctionlet→soitpanic→merde|calisse|oupstrait→conventionimpl→réalisationOption→PeutÊtreResult→Résultatmatch→selonstruct→structure
สรุป
การทดลอง Rouille ในขณะที่เล่นๆ ได้เปิดหน้าต่างที่น่าสนใจสู่วิธีที่ภาษากำหนดความสัมพันธ์ของเรากับเทคโนโลยี มันเน้นย้ำถึงการมีปฏิสัมพันธ์ที่ซับซ้อนระหว่างภาษาธรรมชาติและระบบที่เป็นทางการ และทำให้เกิดคำถามเกี่ยวกับว่าใครคือกลุ่มเป้าหมายของการออกแบบภาษาโปรแกรมมิ่ง ดังที่นักพัฒนาคนหนึ่งสะท้อนความคิด การเขียนโปรแกรมคือการคิดเชิงคณิตศาสตร์เป็นหลักที่แสดงออกผ่านภาษา — และบางครั้ง การเห็นการแสดงออกนั้นในภาษาแม่ของคุณสามารถช่วยให้แนวคิดต่างๆ เข้าใจได้ในวิธีใหม่ๆ การตอบรับจากทั่วโลกต่อการนำ Rust แบบฝรั่งเศสนี้ไปใช้แสดงให้เห็นว่าในขณะที่ภาษาอังกฤษอาจครองการเขียนโปรแกรมในวันนี้ นักพัฒนาทั่วโลกกำลังคิดอย่างลึกซึ้งเกี่ยวกับความหมายของการเขียนโค้ดด้วยเสียงของพวกเขาเอง
หมายเหตุ: Rouille ใช้การแปลคำหลักของ Rust เป็นภาษาฝรั่งเศส เช่น fn กลายเป็น fonction, let กลายเป็น soit, และ panic กลายเป็น merde (พร้อมกับทางเลือกภาษาฝรั่งเศสแบบควิเบก calisse และแบบสุภาพ oups)
อ้างอิง: rouille

