การเข้ารหัสในภาษาอื่น (พูด)


105

นี่เป็นสิ่งที่ฉันสงสัยมาตลอดและฉันไม่พบการกล่าวถึงมันจากที่ใดทางออนไลน์ เมื่อร้านค้าจากญี่ปุ่นพูดว่าเขียนโค้ดฉันจะอ่านเป็นภาษาอังกฤษได้ไหม หรือทำภาษาเช่น C, PHP อะไรก็ได้มีคำแปลภาษาญี่ปุ่นที่เขาเขียนหรือไม่?

ฉันเดาว่าสิ่งที่ฉันถามคือ coder ทุกคนในโลกรู้ภาษาอังกฤษเพียงพอที่จะใช้คำสงวนเดียวกันกับที่ฉันทำหรือไม่

รหัสนี้จะ:

If (i < size){
    switch
        case 1:
            print "hi there"
        default:
            print "no, thank you"
} else {
    print "yes, thank you"
}

แสดงเหมือนกับที่ฉันเห็นตอนนี้เป็นภาษาอังกฤษหรือคนอื่น ๆ ที่ไม่พูดภาษาอังกฤษจะเห็นคำว่า "if", "switch", "case", "default", "print" และ " อื่น ๆ "ในภาษาแม่ของพวกเขา?

แก้ไข - ใช่นี่เป็นเรื่องร้ายแรง ฉันไม่รู้ว่าการแปลภาษาที่แตกต่างกันมีคำหลักที่แตกต่างกันหรือไม่ หรือหากมีการแปลที่แตกต่างกันเลย


3
คำถามเกี่ยวกับ Corollary: มีภาษาหลักใดบ้างที่มีคำหลักไม่ใช่ภาษาอังกฤษ (แม้ว่าภาษาจะถูกประดิษฐ์ขึ้นในที่ที่ภาษาอังกฤษไม่ใช่ภาษาแม่)
Jon Schneider

คำถามนี้ทำให้ฉันนึกถึงบทสนทนาครั้งหนึ่งที่ฉันเคยคุยกับ (ชาวต่างชาติ) คนหนึ่งที่คิดว่าภาษาหลักของพระเจ้าเป็นภาษาอังกฤษดังนั้นคนอื่น ๆ ควรเรียนรู้เรื่องนี้เพื่อให้เข้าใจคำอธิษฐานของพวกเขา (ฉันไม่ได้หมายความว่าจะหยาบคาย แต่เป็นคำถามที่น่าสนใจ)
wallyqs

และฉันคิดว่าพระเจ้าทรงมีอำนาจทุกอย่าง!
Autodidact

พระเจ้าเท่านั้นที่รู้ภาษาเดียว มันเป็นภาษาถิ่นที่ไม่ชัดเจนของหมู่บ้านเมโสโปเตเมียที่สูญพันธุ์ไปแล้วในปัจจุบัน นี่คือเหตุผลที่เขาไม่ตอบคำอธิษฐานของคุณและทำไมสิ่งเลวร้ายเกิดขึ้นกับคนดี (เขาสับสนมาก)
Anthony

1
โอ้และตอนนี้ฉันได้อ่านคำตอบบางส่วนแล้ว ... เป็นคำถามที่ดี ฉันมักจะคิดว่ามีรหัสคอมพิวเตอร์เวอร์ชันแปล แต่ลองคิดดูสิว่าการประชุมบางอย่างอาจเป็นฝันร้ายในการนำไปใช้ (ทิศทางจากขวาไปซ้ายหรือในแนวตั้ง) และอื่น ๆ ก็ยากที่จะรองรับ (โดยเฉพาะ: เส้น ใน PHP ลงท้ายด้วยเครื่องหมายอัฒภาคซึ่งเป็นไปตามธรรมเนียมของตะวันตกในการลงท้ายประโยคที่สมบูรณ์ด้วยเครื่องหมายอัฒภาคลองนึกภาพว่าพยายามแปลให้เหมาะกับธรรมเนียมการใช้เครื่องหมายวรรคตอนหรืออาจจะมีเครื่องหมายนำหน้าภาษาสเปนก็ได้)
Anthony

คำตอบ:


159

ถ้าฉันเข้าใจดีคำถามก็คือ: "coder ทุกตัวในโลกรู้ภาษาอังกฤษเพียงพอที่จะใช้คำสงวนเดียวกันกับฉันหรือไม่"

อืม .. ภาษาอังกฤษไม่ใช่หัวข้อนี้ แต่เป็นคำสงวนในภาษาโปรแกรม ฉันหมายถึงเมื่อฉันเริ่มประมาณ 10 ปีที่แล้วฉันไม่มีเงื่อนงำภาษาอังกฤษเลยและฉันก็ยังสามารถเขียนโปรแกรมง่ายๆด้วยการเรียนรู้ภาษาโปรแกรมแม้ว่าฉันจะไม่รู้ว่ามันหมายถึงอะไร (ในภาษาอังกฤษ) อันที่จริงสิ่งนี้ช่วยให้ฉันเรียนภาษาอังกฤษได้

ตัวอย่างเช่น. ฉันรู้ว่าต้องทำ "iteración" (การทำซ้ำแน่นอน) ฉันต้องเขียน:

 for( i = 0 ; i < 100 ; i++ ) {}

สำหรับฉันคือ "for", the ";" และ "++" ซึ่งเป็นคำหรือสัญลักษณ์ต่างประเทศง่ายๆ ต่อมาฉันได้เรียนรู้ว่า "for" หมายถึง "para" และ "while" หมายถึง "mientras" เป็นต้น แต่ในเวลานั้นฉันไม่จำเป็นต้องรู้ภาษาอังกฤษ แต่ในกรณีของฉันสิ่งที่ฉันต้องการคือต้องรู้ "C"

แน่นอนว่าเมื่อฉันต้องการเรียนรู้สิ่งต่างๆเพิ่มเติมฉันต้องเรียนภาษาอังกฤษเพราะเอกสารนั้นเขียนเป็นภาษานั้น

ดังนั้นคำตอบคือ: ไม่ฉันไม่เห็นว่าในขณะที่เป็นต้นในภาษาแม่ของฉัน ฉันเห็นพวกเขาเป็นภาษาอังกฤษ แต่พวกเขาไม่ได้หมายถึงสิ่งอื่นใดสำหรับฉันที่พวกเขาหมายถึงภาษาโปรแกรมในทางกลับกัน

ก็เหมือนคำสั่ง switch ใน bash: case .. esac. "esac" คืออะไร ... สำหรับฉันเมื่อสิ้นสุดคำสั่ง switch ใน bash

ฉันเดาว่านั่นคือสิ่งที่เราเรียกว่า "นามธรรม"


10
อย่างไรก็ตาม 'esac' เป็นเพียงการย้อนกลับ ฉันไม่สามารถบอกได้ว่าคุณแสร้งทำเป็นไม่รู้เพื่อให้ประเด็นหรือไม่ แต่ฉันเห็นว่าจะสร้างความสับสนให้กับผู้ที่ไม่ใช้ภาษาอังกฤษได้อย่างไร
pbh101

9
แน่นอนว่า Fi เป็นของถ้า แต่ในบางจุดความหมายเดียวที่พวกเขามีคือ "คุณจบคำสั่ง switch โดยเขียน 'esac'" ... พวกเขาไม่สับสนหรือไม่ แต่ไม่ได้หมายความว่า อะไรก็ได้ในภาษาอังกฤษ แต่มีความหมายในภาษา C หรือ bash หรือ pascal นั่นคือประเด็น เราเรียนรู้ภาษาการเขียนโปรแกรม
OscarRyz

5
หมายเหตุใน Excel มาโครนั้นได้รับการแปลเป็นภาษาท้องถิ่นและ "if" กลายเป็น "si" ในภาษาฝรั่งเศสซึ่งทำให้เครื่องมือใช้งานไม่ได้อย่างแน่นอน
e-satis

9
คุณมักจะได้รับคำตอบที่ดีที่สุดจากผู้ที่ไม่ใช่เจ้าของภาษาอังกฤษ ฉันเป็นคนสก็อตและการเรียนภาษาอังกฤษก็ยากสำหรับฉันเช่นกัน ;-)
เดวี

9
+1 เมื่อฉันเริ่มเขียนโปรแกรมฉันไม่รู้ด้วยซ้ำว่าจะออกเสียง goto อย่างไรให้ถูกต้อง แต่ต่อมาเมื่อฉันรู้ว่ามันหมายถึงอะไรมันก็แสยะยิ้มใส่หน้าฉัน
Hamish Grubijan

28

ในภาษา Java ต้องตั้งชื่อเมธอดบางส่วน (อย่างน้อยบางส่วน) โดยใช้ภาษาอังกฤษเนื่องจากข้อตกลง JavaBeans

ข้อตกลงนี้กำหนดให้สร้างคุณสมบัติ X ผ่านคู่ของเมธอด getX () และ setX () ที่นี่ในฝรั่งเศส - แคนาดาซึ่งนักพัฒนาบางคนต้องเขียนโค้ดเป็นภาษาฝรั่งเศสสิ่งนี้นำไปสู่การเลียนแบบต่อไปนี้:

interface Foo {

  Color getCouleur();

  void setCouleur(Color couleur);
}

9
โอ้ย! ธิปไตยชนะอีกแล้ว! :(
AR

3
ใช่ในโรงเรียนภาษาฝรั่งเศสพวกเขาสอนให้คุณทำแบบนั้น นั่นเป็นเรื่องที่แย่มากที่นักเรียนไม่เคยใช้สิ่งที่พวกเขาทำในชั้นเรียนเพื่อเขียนโค้ดในโลกแห่งความเป็นจริงและเรียนรู้ด้วยตัวเองอย่างช้าๆเพื่อเขียนเป็นภาษาอังกฤษธรรมดา
e-satis

ที่มหาวิทยาลัยของฉันอาจารย์บางคนใช้ภาษาฟินแลนด์ในโค้ดตัวอย่างและผลลัพธ์ที่ได้โดยทั่วไปก็น่าอึดอัดยิ่งกว่าแม้ว่าฉันจะเข้าใจเหตุผลหลักของพวกเขาก็ตาม โชคดีที่ "ในโลกแห่งความเป็นจริง" ที่แทบไม่เคยได้ยินมาก่อน (อย่างน้อยก็ในภาคเอกชน) FTW ภาษาอังกฤษ (เท่าที่มีการเขียนโปรแกรม)
Jonik

2
@ Jonik: อย่างน้อยคุณก็ไม่ต้องเถียงเกี่ยวกับ ASCII / ชุดอักขระเพิ่มเติม ในบางสถานที่ (ที่นี่) เคยมีการถกเถียงกันมากในการตั้งชื่อตัวบ่งชี้ของคุณ a) เป็นภาษาอังกฤษ b) ในภาษาเช็กโดยไม่มีสำเนียง c) ในภาษาเช็กที่มีสำเนียง (ซึ่งส่วนใหญ่คุณพิมพ์ไม่ได้หากไม่มีรูปแบบแป้นพิมพ์ภาษาเช็ก ยอดเยี่ยมสำหรับการบำรุงรักษาโดยคนอื่น ๆ )
Piskvor ออกจากอาคาร

@Piskvor จริง ๆ แล้วถ้าคุณใช้ชื่อภาษาฟินแลนด์ก็มีปัญหาที่คล้ายกันว่าจะใช้ตัวอักษรพิเศษ (äöå) หรือแทนที่ด้วย & o (และถ้าคุณใช้มันคุณอาจประสบปัญหาชุดอักขระ) แต่ใช่โชคดีที่ฉันไม่ต้องใช้รหัสภาษาฟินแลนด์เป็นเวลาอย่างน้อย 7 ปี :)
Jonik

27

ฉันมีปัญหาในการค้นหาข้อมูลอ้างอิง แต่ฉันนึกถึงสามเรื่อง

แฮกเกอร์ Lisp ปกป้องฟังก์ชันที่ไร้ความหมายเช่น "cdr" และ "car" โดยเปรียบเทียบกับการเขียนโปรแกรมในภาษาที่ไม่ใช่ภาษาแม่ของคุณ: http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg01171 html

เมื่อ Yukihiro Matsumoto ("Matz") เริ่มพัฒนา Ruby เขาใช้คีย์เวิร์ดภาษาอังกฤษแม้ว่าเขาจะเขียนเอกสารทั้งหมดเป็นภาษาญี่ปุ่นก็ตาม! . ไม่มีเอกสารภาษาอังกฤษสำหรับ Ruby มาสองปีแล้วและมีชาวอเมริกันเพียงไม่กี่คนที่ใช้ภาษานี้ แต่ตอนนี้มันเป็นภาษาระดับโลกและความจริงที่ว่ามันเกิดในญี่ปุ่นเป็นเพียงความสนใจทางประวัติศาสตร์เท่านั้น หากภาษานั้นใช้คีย์เวิร์ดในฮิรางานะมันจะมีช่วงเวลาที่ยากขึ้นมากในการดึงดูดความนิยม

ฉันอ่านเรียงความครั้งหนึ่งบางทีอาจมีคนอื่นสามารถหาเจอได้ Google ไม่สามารถช่วยได้ในวันนี้ซึ่งแนะนำว่าการแปลคำหลักถูกเข้าใจผิดเพราะคำนั้นไม่ใช่ภาษาอังกฤษจริง ๆ - เป็นศัพท์เฉพาะ ไม่เพียง แต่ทำ (เพื่อใช้ตัวอย่างด้านบน) พาราและเทไม่ค่อยมีความหมายที่แน่นอนสำหรับ has ในภาษาอังกฤษสำหรับผู้ที่ไม่ใช่โปรแกรมเมอร์วลี "for loop" นั้นเป็นเรื่องที่ไม่เหมาะสม แม้แต่คนอเมริกันเองก็ต้องเรียนรู้ความหมายใหม่ ดังนั้นการแปลความหมายผิวเผินของคำเป็นภาษาอื่นจึงเหมือนกับการเล่นสำนวนข้ามภาษามากกว่าที่จะเป็นประโยชน์จริงๆ


25

ฉันไม่ได้คิดมากเกินไปเกี่ยวกับการเขียนโปรแกรมภาษาญี่ปุ่นมาก่อน แต่ต่อไปนี้โดยใช้ตัวอย่างโค้ดของคำถาม

ใช้เฉพาะคำสั่งภาษาญี่ปุ่นกับตัวแปรเป็นภาษาอังกฤษ:

// In Japanese, it makes more sense to put the keywords/modifiers as
// postfix expressions rather than prefix expressions.
(i < size)か {
     (l[i])は {
     1だ:
         「もしもし。」を書く;
     省略時値:
         「いいえ、いいですよ。」を書く;
     }
} ない {
     「はい、ありがとうございます。」を書く;
}

จุดลูกน้ำถึง (;) ฉันเดาว่า .. = D
José Leal

1
อันที่จริงฉันคิดว่าถ้าคุณสามารถเขียนโค้ดเป็นภาษาญี่ปุ่นได้คุณสามารถใช้คำต่างๆเช่น→定問上下不เป็นคำพิเศษได้ไหมคุณนึกภาพกระเพื่อมในภาษาญี่ปุ่นออกไหม (定 rember (→ (lat) (問 ((空? lat) (引用 ())) (又 ...
wallyqs

1
ถ้าคุณจะเขียนใน postfix คุณอาจทำให้มันเป็นภาษาถิ่น Forth ได้เช่นกันね? :-)
Ken

จะคอมไพล์ไหม ?? : \
NoobEditor

13

อย่างที่หลาย ๆ คนชี้ให้เห็นแล้วในภาษาโปรแกรมส่วนใหญ่คุณต้องเรียนรู้คำหลักไม่กี่คำดังนั้นจึงไม่สำคัญว่าจะเป็นภาษาอังกฤษ (หรือภาษาอื่นที่ไม่ใช่ของคุณสำหรับเรื่องนั้น) มันเป็นเพียงสัญลักษณ์ที่คุณเชื่อมโยงกับโครงสร้างบางอย่าง ตัวอย่างเช่นใน VB คุณมี "THEN" ซึ่งในภาษาสไตล์ C จำนวนมากจะเป็น "{" และไม่ได้สร้างความแตกต่างอย่างมากในเรื่องความสามารถในการอ่าน (อย่างน้อยนั่นก็เป็นวิธีที่ฉันเห็นว่าเป็นภาษาที่ไม่ใช่ภาษาอังกฤษ สำเนียงพื้นเมือง).

แต่ในบางครั้งสิ่งต่างๆอาจทำให้ยุ่งยากและการเลือกใช้ภาษา (ตามธรรมชาติ) มีความสำคัญอยู่ที่ตัวระบุการตั้งชื่อ หากชื่อของตัวแปรฟังก์ชันคลาสและอื่น ๆ ไม่มีชื่อที่มีความหมายสำหรับคุณเนื่องจากอุปสรรคทางภาษาการติดตามแม้แต่รหัสที่ง่ายที่สุดก็อาจเป็นเรื่องที่ค่อนข้างท้าทาย

ฉันจำได้ว่ามีคนเคยให้ตัวอย่าง Actionscript สั้น ๆ มาจากบล็อกบางบล็อก ชื่อเป็นภาษาเยอรมันและเนื่องจากฉันไม่ได้พูดภาษานั้นสักคำจึงอาจเรียกสิ่งต่างๆว่า var_123, var_562 หรือ func_333 ได้เช่นกัน (และฉันอาจจะจำชื่อได้ง่ายกว่าหรืออย่างน้อยก็ต้องมี โอกาสในการสะกดได้อย่างถูกต้องโดยไม่ต้องคัดลอกและวาง) เนื่องจากนี่เป็นตัวอย่างข้อมูลสั้น ๆ ในตัวฉันจึงใช้นักแปลออนไลน์เพื่อตั้งชื่อตัวแทนและฟังก์ชันที่มีความหมายในภาษาแม่ของฉัน (สเปน) และหลังจากนั้นทุกอย่างก็ชัดเจน ประเด็นก็คือรหัสนั้นเรียบง่าย แต่ฉันสามารถเข้าใจได้โดยไม่ต้องใช้ความพยายามมากเกินไป (ไม่จำเป็น) เมื่อฉันเอาชนะอุปสรรคด้านภาษา

ตั้งแต่นั้นมาฉันก็เปลี่ยนมาใช้ภาษาอังกฤษในการตั้งชื่อตัวระบุ ไม่ว่าคุณจะชอบหรือไม่ก็ตาม "koine" สำหรับการเขียนโปรแกรมวิศวกรรมและเทคนิคทั่วไป API ส่วนใหญ่เขียนเป็นภาษาอังกฤษและเอกสารส่วนใหญ่ก็เช่นกัน (และอาจเป็นแหล่งข้อมูลที่ดีที่สุดที่คุณจะพบเป็นภาษาอังกฤษด้วย) นอกจากนี้ยังช่วยให้โค้ดของคุณมีความสอดคล้องกับโค้ดที่คุณน่าจะโต้ตอบมากขึ้นและฉันคิดว่ามันมีแนวโน้มที่จะกระชับและรวบรัดกว่าภาษาอื่น ๆ เช่นภาษาสเปน (ซึ่งเป็นทางเลือกโดยธรรมชาติของฉัน)

แน่นอนว่าหากคุณไม่สามารถเข้าใจภาษาอังกฤษได้อย่างน้อยปัญหาก็ยังคงเหมือนเดิมดังนั้นจึงไม่ใช่วิธีแก้ปัญหาที่สมบูรณ์แบบ แต่ด้วยจำนวนนักพัฒนาจากหลายประเทศโอกาสที่ภาษากลางสำหรับพวกเขาในการสื่อสาร (ผ่านรหัสและวิธีอื่น ๆ ) จะเป็นภาษาอังกฤษ ดังนั้นการเลือกภาษาอังกฤษอาจเป็นทางเลือกที่ดีที่สุดแม้ว่าจะไม่ใช่วิธีแก้ปัญหาที่สมบูรณ์แบบก็ตาม


ใช่ ปัญหาเล็กน้อยเกี่ยวกับเรื่องนี้คือเมื่อ coder ไม่สามารถเขียนชื่อ vars ภาษาอังกฤษให้ถูกต้องได้อย่างไร ที่แย่ที่สุดที่ฉันเคยเห็นคือ "String hireiNeim" ฮิฮิ (ล้อเล่นนะ) แต่ฉันเคยเห็นสิ่งที่ใกล้เคียงกับสิ่งนั้นมาก่อน
OscarRyz

สำหรับผู้ที่ไม่ใช่เจ้าของภาษาอังกฤษคุณมีความสามารถในการใช้ภาษาที่แข็งแกร่งอย่างน่าประหลาดใจ ยินดีด้วยภาษาอังกฤษเป็นสัตว์ร้ายที่แปลกมากแม้กระทั่งสำหรับเราที่เป็นเจ้าของภาษา
Nicholas Flynt

10

ภาษาการเขียนโปรแกรมกำหนดคำหลักและชื่อคลาสมาตรฐานและแนวทางปฏิบัติที่ดีที่สุดคือกำหนดประเภทตัวแปรและฟังก์ชันที่กำหนดโดยผู้ใช้รวมถึงชื่อภาษาอังกฤษ (ในฐานะผู้ที่ไม่ใช่เจ้าของภาษาฉันสามารถบอกได้ ;-)

ใช่ถ้าทุกอย่างเรียบร้อยคุณจะสามารถอ่านรหัสได้

อย่างไรก็ตามภาษาเช่น Java และ Perl อนุญาตให้ใช้ Unicode เต็มรูปแบบสำหรับตัวระบุดังนั้นหากมีใครเขียนชื่อคลาสของเขาเป็นคันจิคุณอาจมีปัญหา

อัปเดต: สำหรับ Perl มีโมดูลเรื่องตลกที่ให้คุณเขียน Perl เป็นภาษาละติน แต่มันเป็นเรื่องตลกจริงๆ ไม่มีใครใช้ของแบบนี้อย่างจริงจัง

การอัปเดตครั้งที่สอง: แนวคิดของภาษาโปรแกรมที่แปลเป็นภาษาท้องถิ่นนั้นไม่ได้ไร้สาระ ภาษามาโครของ Excel ได้รับการแปลเป็นภาษาท้องถิ่น แต่โชคดีที่มีการจัดเก็บไว้ในภาษาบัญญัติ (อังกฤษ) เดียวในไฟล์ดังนั้นการแปลเป็นเพียงเลเยอร์ที่อยู่ด้านบนของสิ่งปกติ สิ่งเหล่านี้มีความหมายสำหรับ "โปรแกรม" ขนาดเล็กเท่านั้นสำหรับโปรแกรม "จริง" นั้นยากที่จะดูแลรักษา


7

ที่จริงมีกำลังบางส่วนที่ไม่ใช่ภาษาอังกฤษที่ใช้ภาษาโปรแกรม (วิกิพีเดีย)

ฉันเป็นคนนอร์เวย์ แต่ฉันใช้ภาษาอังกฤษทุกรหัสยกเว้นเอาท์พุท (ไม่สนใจรหัสโง่ ๆ จากโรงเรียน) จริงๆแล้วฉันมักจะเขียนทุกอย่างเป็นภาษาอังกฤษแล้วแปลเป็นภาษาแม่ของฉันโดยใช้ gettext (หรืออะไรสักอย่าง)


6

ฉันเป็นคนอังกฤษและปัญหาที่เรามักพบคือการสะกดคำแบบอเมริกัน / อังกฤษ สิ่งนี้มักเกิดขึ้นกับคำศัพท์ที่เกี่ยวข้องกับการเขียนโปรแกรมเช่น Initialise () หรือ Initialize (), Analyze () หรือ Analyze () เป็นต้นซึ่งอาจทำให้เกิดปัญหาในการพยายามลบล้างวิธีการและบางครั้งก็ยากที่จะมองเห็น

เนื่องจากเฟรมเวิร์ก (ในกรณีของเรา C #) ได้รับการออกแบบโดยชาวอเมริกันเราจึงพบว่าควรสอดคล้องและใช้การสะกดแบบอเมริกัน เรายังใช้สี

เรามีคนหลากหลายเชื้อชาติในทีมพัฒนาของเราและคนที่ไม่ใช่คนอังกฤษส่วนใหญ่มักจะสะกดแบบอเมริกันโดยธรรมชาติ


4

AppleScript เคยให้บริการในภาษาฝรั่งเศสและภาษาญี่ปุ่น ผมไม่รู้ว่าทำไมถึงถอน


อาจเป็นเพราะมันยากที่จะแชร์โค้ดในยุคอินเทอร์เน็ต ... VBA ก็ได้รับการแปลด้วย ความคิดที่ไม่ดี
PhiLho

4

ก้าวไปอีกขั้นแล้วความสามารถในการใช้แทนสัญลักษณ์ล่ะ?

หลังจากเห็นภาษาเช่นBrainf ** kและWhitespaceฉันคิดว่าจะสร้างภาษาแบบนี้มันจะเหมือนกับ C ยกเว้นคุณใช้วงเล็บปีกกาปิดเพื่อเปิดเปิดวงเล็บปีกกาเพื่อปิดสลับความหมายของ + และ -, * และ / ,; และ:,> และ <ฯลฯ

แนวคิดนี้ไม่มีอะไรมากไปกว่าคอมไพเลอร์ C ที่มีการปรับเปลี่ยนลูกเล่น แต่เช่นเดียวกับการคิดคำหลักที่แตกต่างออกไปมันท้าทายให้คุณคิดทบทวนสมมติฐานพื้นฐานบางอย่างใหม่หากคุณไม่เคยคิดถึงสิ่งเหล่านี้มาก่อน เช่น:

int foo)int i, char c( }
    int six = 2 / 3:
    int two = six + 4:
    if )i > 0( }
        printf)"i is negative"(:
    {
{

2
เฮ้ฉันชอบรอยยิ้มนั้น
aib

4

ฉันอยู่ในทีมฝรั่งเศสที่พัฒนาระบบซอฟต์แวร์ใน C # แม้ว่าคำหลักภาษาโปรแกรมจะเป็นภาษาอังกฤษอย่างเห็นได้ชัด แต่ฉันคิดว่าคุณจะมีปัญหาในการอ่านโค้ดเนื่องจากชื่อฟังก์ชันตัวแปรความคิดเห็นรหัสตารางฐานข้อมูลและคอลัมน์ข้อกำหนดทางเทคนิคโปรโตคอลและอื่น ๆ ทั้งหมดอยู่ใน ภาษาฝรั่งเศสรวมถึงอักขระเน้นเสียงที่น่ารักเช่นç, é, è, ùเป็นต้นฉันไม่แน่ใจว่าระบบจะทำงานที่อื่นด้วยซ้ำหรือไม่เนื่องจากข้อบกพร่องของการแปลภาษาเช่นการใช้ลูกน้ำเป็นตัวคั่นทศนิยมเริ่มต้น

มิฉะนั้น WinDev เป็นแพลตฟอร์มการเขียนโปรแกรมยอดนิยมในฝรั่งเศสและภาษาโปรแกรม WLanguage มีคำหลักเป็นภาษาฝรั่งเศสหรือภาษาอังกฤษดูและตัวอย่างที่นี่: ข้อความลิงก์


resharper จะจับอึเฉพาะที่ใดก็ได้ :) ใช้การทดสอบ 1 เดือนเพื่อทำความสะอาดฐานรหัสของคุณ
v.oddou

4

ภาษาเดียวที่ฉันเห็นเป็นภาษาท้องถิ่นคือ Excel ที่มีมาโคร ถ้าคุณพยายามรวมคอลัมน์โดยใช้ Office เวอร์ชันภาษาอิตาลีคุณต้องเขียนSOMMA(A1:A10)ไม่ใช่ SUM ที่น่าเสียดาย

อย่างไรก็ตามเพียงเพราะมันสนุกนี่คือลักษณะของโค้ดของคุณด้วยคำหลักภาษาอิตาลี:

se (i < size){
    commuta
        caso 1:
            stampa "hi there"
        normalmente:
            stampa "no, thank you"
} altrimenti {
    stampa "yes, thank you"
}

3

ฉันเคยเห็น VBA แปลเป็นคำสั่งเหมือนภาษาสเปน เป็นหนึ่งในสิ่งที่น่าเกลียดที่สุดเท่าที่เคยเห็นมา ฉันคงละอายใจที่มีอะไรแบบนี้ในคอมพิวเตอร์

PD: ฉันคิดว่าภาษาสเปนเป็นภาษาที่ดีกว่าภาษาอังกฤษมาก แต่การแปลผิด


ฉันไม่รู้ว่ายังคงเป็นเช่นนั้นกับ ms-office เวอร์ชันใหม่หรือไม่ แต่เวอร์ชันเก่าไม่สามารถเรียกใช้สคริปต์ที่เขียนขึ้นเพื่อการแปลที่แตกต่างกันได้
EricSchaefer

1
เพียงวิธีการที่ภาษาอังกฤษคือ "ดี" กว่าภาษาสเปนเป็นภาษาอังกฤษที่มีคำศัพท์ที่มีขนาดใหญ่ดังนั้นจึงเป็นเรื่องเล็ก ๆ น้อย ๆ ที่สั้นกว่าจะเขียนในฉันจะเกลียดการเรียนรู้ภาษาอังกฤษเป็นภาษาที่สอง. ภาษาสเปนมีเหตุผลกว่ามาก!
Chip Uni

ภาษาสเปน (เป็นภาษาส่วนใหญ่) มีคำศัพท์ที่ใหญ่กว่าภาษาอังกฤษอย่างมาก แต่ภาษาอังกฤษช่วยให้ประดิษฐ์คำศัพท์ใหม่ได้ง่ายและยังเข้าใจได้ ซึ่งทำให้กระชับและใช้งานง่ายในประเด็นทางเทคนิค นอกจากนี้ภาษาอังกฤษยังมีความจำเป็นมากกว่าและสนับสนุนประโยคง่ายๆ (ถ้ามีเพื่อหลีกเลี่ยงความคลุมเครือ) บางทีนั่นอาจทำให้ 'เป็นธรรมชาติ' มากขึ้นสำหรับการเขียนโปรแกรมขั้นตอน โปรดทราบว่าฉันจะไม่พูดว่าภาษาอังกฤษ "ดี" กว่าภาษาอื่น ๆ แต่ภาษาเบสิกเป็นภาษาอังกฤษการแปลจะทำให้อ่านไม่ออก
Javier

"ภาษาสเปน (เนื่องจากภาษาส่วนใหญ่) มีคำศัพท์ที่ใหญ่กว่าภาษาอังกฤษอย่างมาก" ไม่เป็นความจริง ภาษาอังกฤษเป็นที่รู้จักกันดีว่ามีคำมากกว่าภาษาอื่น ๆ ประมาณ 250,000 เทียบกับ 100,000 สำหรับภาษาสเปน
Luigi Plinge

บทเรียนหนึ่งในนี้เป็นบทเรียนเชิงพาณิชย์ล้วนๆ คุณไม่สามารถรองรับการแปลเป็นภาษาท้องถิ่นได้ซึ่งชุมชนการเขียนโปรแกรม VBE น่าจะน้อยกว่า 1,000 คนทั่วโลก Microsoft ทำสิ่งนี้ในปี 1990 จากนั้นก็ถอนกลับอย่างรวดเร็ว บทเรียนบางส่วนจะนำไปสู่ชุมชนที่ใหญ่กว่ามากเช่นภาษาสเปน ประการหนึ่งคุณไม่สามารถแบ่งปันสคริปต์ของคุณกับผู้ที่ไม่มีภาษาเวอร์ชันที่แปลเป็นภาษาท้องถิ่นเดียวกันได้
tripleee

3

ในขณะที่คนอื่น ๆ ชี้ให้เห็นคำหลักและการเรียกระบบน่าจะยังคงเป็นภาษาอังกฤษ

อย่างไรก็ตามการทำความเข้าใจคีย์เวิร์ดของภาษาเป็นเพียงส่วนน้อยในการทำความเข้าใจโค้ด ชื่อตัวแปรชื่อฟังก์ชั่นและความคิดเห็นล้วนเสี่ยงต่อการเป็นภาษาแม่ของผู้แต่ง

แก้ไข : ฉันเพิ่งย้อนกลับไปในวัยเยาว์ของฉันที่ฉันไปในตารางการทำแผนที่ของ TRS-80 BASIC ในตัวเพื่อเปลี่ยนคำหลักเป็นภาษาฝรั่งเศส ฉันสามารถเปลี่ยนคีย์เวิร์ดทั้งหมดได้ แต่ไม่สามารถปรับให้ใหญ่ขึ้นได้ สร้างขึ้นสำหรับรายการตลก


แน่นอน. "เราจะใช้ [ใส่ภาษาท้องถิ่น] สำหรับทุกอย่างตั้งแต่ชื่อตัวแปรไปจนถึงความคิดเห็น - มันเป็นแค่แอปเล็ก ๆ ใครจะเปลี่ยน" หลายปีต่อมาที่อื่น: "ใช่มีความคิดเห็นอยู่ถ้าฉันรู้แค่ว่า" // Meg tudom enni az üvegetอะไร "nem árt nekem" แปลว่า ... "(ภาษาเปลี่ยนเพื่อเน้น)
Piskvor ออกจากอาคาร

ฉันจำได้ว่าในวิทยาลัยมีคนเข้าไปใน DOS และเปลี่ยนคำสั่งและข้อความบางอย่างเป็นอนาจารและมันก็ยังใช้งานได้
JoelFan

3

อย่าสนุกกับเรื่องนี้ เมื่อหลายปีก่อน Microsoft ได้ประกาศ G # (German Sharp) - C # พร้อมด้วยคีย์เวิร์ดและ API ภาษาเยอรมัน แน่นอนว่ามันเป็นเรื่องตลกของ April Fools แต่ทั้งไซต์เกี่ยวกับเรื่องนี้ดูจริงและเป็นมืออาชีพมาก (และอยู่ใน microsoft.com) น่ากลัว.

ในที่ทำงานเราใช้ระบบบัสสนามสองระบบทั้งที่พัฒนาในประเทศที่พูดภาษาเยอรมันซึ่งมีภาษาเยอรมันและภาษาอังกฤษผสมกันอย่างน่ากลัวสำหรับตัวระบุรวมถึงเพื่อนจอมปลอมที่น่ารัก มันเป็นเรื่องยุ่ง

ไม่คีย์เวิร์ดและตัวระบุภาษาอังกฤษก็ใช้ได้ แม้ว่าบางคนอาจโต้แย้งว่าควรเป็นสีหรือสี :)


3

ในโครงการ VBA หลายโครงการที่ฉันได้ทำ (ใช่ช่วงแรก ๆ ในอาชีพการงานของฉัน) เราต้องตรวจจับเวอร์ชันของสำนักงานที่ติดตั้งบนเครื่องของผู้ใช้และเปลี่ยนสูตรที่ใช้ใน Speradsheets ตามนั้น

เนื่องจากฉันโปรแกรมในภาษาโปรตุเกส "SUM" จะต้องแปลเป็น "SOMA" ไปเรื่อย ๆ ฉันนึกไม่ออกว่างานที่จำเป็นที่จะทำให้สิ่งนี้เกิดขึ้นในหลายภาษา มีใครประสบปัญหานี้อีกหรือไม่?


3

มีบางภาษาที่มีการแปลคำหลัก ตัวอย่างเช่นสูตร Excel หากคุณเขียนการคำนวณบางอย่างในสเปรดชีตสิ่งนี้จะเป็นภาษาของคุณ

โชคดีที่นี่ไม่ใช่แนวทางปฏิบัติทั่วไปและแม้แต่ผู้ที่ไม่ใช้ภาษาอังกฤษอย่างฉันก็ขอบคุณพระเจ้าที่มีภาษามาตรฐานสำหรับคำหลัก:

  • แบ่งปันงานของคุณได้ง่ายขึ้น
  • จะป้องกันไม่ให้เอกสารกลายเป็นฝันร้ายที่ยิ่งใหญ่กว่าที่เป็นอยู่แล้ว
  • คำศัพท์และประโยคภาษาอังกฤษมักจะสั้นและเน้นเชิงไวยากรณ์ ในวรรณคดีภาษาละตินมีความสวยงามกว่ามาก แต่สำหรับเรื่องทางเทคนิคแล้วหินภาษาอังกฤษ

แล้วแวะที่ไหน? คุณนึกภาพ C ในภาษากรีกโบราณได้ไหม?

คำหลักต้องอยู่ในภาษาเดียวและเริ่มต้นด้วยภาษาอังกฤษก็ปล่อยให้เป็นเช่นนั้น สิ่งนี้อาจแย่ที่สุด (ภาษาเอเชีย?) ดังนั้นเราจึงต้องเขียนวิธีการและความคิดเห็นเป็นภาษาอังกฤษ โอเคทำงานให้เรามากขึ้น แต่อย่างน้อยฐานรหัสสากลยังคงสอดคล้องกัน

อย่างไรก็ตามมีกรณีหนึ่งที่การใช้ชื่อวิธีการและความคิดเห็นในภาษาพื้นเมืองอาจเป็นแนวทางปฏิบัติที่ดี: ในประเทศโลกที่สาม ฉันจะไปเซเนกัลในอีกไม่กี่เดือนเพื่อจัดการโครงการ Django เซเนกัลมีอัตราการวิเคราะห์ตัวอักษรสูงมากและด้วยเหตุนี้จึงเป็นเรื่องที่ดีมากที่พวกเขาทุ่มพลังในการพัฒนาความรู้ด้านการเขียนโปรแกรม ภาษาฝรั่งเศสเป็นภาษาพื้นเมืองที่นี่ดังนั้นจึงไม่มีประสิทธิภาพที่จะบังคับให้พวกเขาเรียนรู้การคำนวณและภาษาใหม่ในเวลาเดียวกัน

BTW นั่นจะเป็นรหัสของคุณด้วยคำหลักภาษาฝรั่งเศส:

Si (i < taille) {
    cas par cas :
        cas 1:
            afficher "salut"
        défaut:
            afficher "non merci"
} sinon {
    afficher "oui, merci"
}

ไม่ใช่ว่าการแปลคำหลักจะไม่เกี่ยวข้องกับการแปลสตริง แน่นอนเรามี "สวัสดีมี" แปลเป็นภาษาของเรา ผู้เขียนโค้ดในยุโรปมีแนวโน้มที่จะใช้ I18N มากกว่าที่บริการของพวกเขาชาวอเมริกันสามารถเข้าถึงผู้ชมได้กว้างขึ้น


2

โดยทั่วไปโปรแกรมเมอร์ส่วนใหญ่จะปรับให้เข้ากับรูปแบบภาษาอังกฤษ ฉันเรียนรู้ที่จะเขียนโปรแกรมเมื่อฉันอายุ 7 ขวบและพูดได้เฉพาะภาษาฮิบรู (ซึ่งเรียงจากขวาไปซ้าย) และไม่มีภาษาอังกฤษซึ่งทำให้เป็นประสบการณ์ที่น่าสนใจทีเดียว

ปัญหาที่คุณมักจะได้รับคือเอกสารตัวแปรและชื่อฟังก์ชัน ฉันเห็นตัวแปรในภาษาอื่นที่ใช้ตัวอักษรภาษาอังกฤษ

ภาษาเดียวที่ฉันคุ้นเคยซึ่งแปลได้จริงคือโลโก้เก่าที่ดี (ยังคงน่าทึ่งจนถึงทุกวันนี้)


Shalom Uri นอกจากนี้ยังมีภาษาการเขียนโปรแกรมภาษาฮีบรู (HPL) บน Sourceforge เช่นเดียวกับ LOGO มุ่งเป้าไปที่ผู้ใช้คอมพิวเตอร์รุ่นใหม่
TonJ

2

ตอนที่ฉันยังเป็นเด็กเราไปฝรั่งเศสและในพิพิธภัณฑ์ที่เราไปฉันจำได้ว่าพบการจัดแสดงที่แสดงวิธีการเขียนโปรแกรมคอมพิวเตอร์ ภาษาเป็นตัวแปรพื้นฐานบางประเภทและฉันจำได้ชัดเจนว่าใช้ POUR แทน FOR และอื่น ๆ ฉันอายุ 7 ขวบและเพิ่งเรียนภาษาเบสิกเท่านั้นและดูเหมือนเป็นเรื่องธรรมดาสำหรับฉันที่คนฝรั่งเศสจะมีภาษาถิ่นของตัวเองแบบนี้ !!

ฉันเดาว่าอาจเป็นLSEที่ฉันเห็น?


2

ภาษาสคริปต์ของ Filemaker เป็นภาษาท้องถิ่น สคริปต์ (และข้อมูล!) จะถูกเก็บไว้ในรูปแบบ "sorta canonical" ที่น่ากลัว

ดังนั้นหากคุณเขียนสคริปต์ในเวอร์ชันอเมริกาให้เปิดขึ้นในเวอร์ชันภาษาฝรั่งเศสคีย์เวิร์ดและชื่อฟังก์ชันในตัวทั้งหมดจะเป็นภาษาฝรั่งเศส แต่ทำไมถึงไม่วิ่ง?! อ๊าาา! เวอร์ชันภาษาฝรั่งเศสใช้ "," เป็นจุดทศนิยมดังนั้นเพื่อหลีกเลี่ยงความคลุมเครือจึงใช้ ";" เพื่อแยกอาร์กิวเมนต์ของฟังก์ชัน - โดยที่เวอร์ชันอเมริกาใช้ "." และ "," ตามลำดับ การแปลงนี้คุณต้องทำเอง

ดังนั้นคุณจึงทำงานผ่านอินเทอร์เฟซการแก้ไขสคริปต์ที่แย่อย่างไม่น่าเชื่อ (คุณไม่สามารถเขียนสคริปต์เป็นไฟล์ข้อความได้) เพื่อแก้ไขสิ่งเหล่านี้ทั้งหมด มันวิ่ง! เยี่ยมมาก! ผลลัพธ์ผิดทั้งหมด! ไม่นะ! อ๊าาา! วันที่มกราคม -7-2004 ที่คุณป้อนในเวอร์ชันอเมริกาจะถูกตีความว่าเป็นกรกฎาคม 1-2004 - ดูเหมือนว่าวันที่จะไม่เพียงแสดง แต่จัดเก็บในลำดับที่ขึ้นอยู่กับสถานที่ ฉันล้อเล่นคุณ ? ไม่

[หมายเหตุ: Filemaker 8 และ 9 อาจมีเหตุผล - ฉันเคยทำงานกับ 3 - 7 เท่านั้น]


อุ๊ย! ดูเหมือนว่าคุณควรโพสต์สิ่งนี้ลงใน thedailywtf.com
André

2

คำถามของคุณเป็นคำถามที่น่าสนใจสำหรับ Perl เนื่องจากไวยากรณ์ได้รับการออกแบบมาเพื่อให้เป็นไปตามภาษาธรรมชาติ (อังกฤษ) ฉันสงสัยว่านั่นจะทำให้ยากขึ้นสำหรับผู้ที่ไม่ใช้ภาษาอังกฤษ ...

แน่นอน Perl และ Perlers ปฏิเสธที่จะเล่นตามกฎทั่วไป Damian Conway นักวิทยาศาสตร์ผู้บ้าคลั่งเขียนโมดูลLingua :: Romana :: Perligataซึ่งใช้มนต์ดำของตัวกรองแหล่งที่มาเพื่อให้คุณเขียน Perl ในภาษาละตินได้!


ฉันไม่คิดอย่างนั้น โพรบคือแม้ว่าคุณจะรู้ภาษาอังกฤษ แต่คุณไม่สามารถพูดได้ในขณะที่ (cond) jump_to: label ... to Perl ฉันหมายถึงเหมือน goto หรืออะไรสักอย่าง
OscarRyz

สำนวน 'ภาษาธรรมชาติเช่น' ของ perl ส่วนใหญ่เช่น "open () หรือ die ()" ค่อนข้างเป็นธรรมชาติสำหรับฉันในฐานะผู้พูดภาษาเยอรมัน ฉันเดาว่าภาษาอังกฤษและภาษาเยอรมันมีความคล้ายคลึงกัน
bjelli

2

ที่นี่ในออสเตรเลียเรายังคงต้องสะกดสีเช่นสี อย่างไรก็ตามฉันคิดว่ามันน่ารำคาญเมื่อนักพัฒนา (ชาวออสเตรเลีย) คนอื่น ๆ ที่ทำงานในโครงการของออสเตรเลียตัดสินใจว่าชื่อตัวแปรภายในต้องสะกดแบบอเมริกัน


1

มันจะไม่มีจุดหมาย IMHO เพื่อ i18n ไวยากรณ์ภาษาไวยากรณ์มันจะฆ่าการพกพาทุกประเภท

ยกเว้นอย่างเดียวคือภาษาเพื่อการศึกษาเช่น LOGO ออกแบบมาเพื่อความสะดวกในการเรียนรู้ดังนั้นการพกพาจึงไม่ใช่ปัญหา


1
เมื่อคุณมีผู้ชมจำนวนมากขึ้นเช่นผู้ที่จดสูตรใน Excel หรือสร้างเอฟเฟกต์เล็ก ๆ ในงานนำเสนอคุณต้องพิจารณาใช้ i18n สำหรับคำ "สงวน" ...
rshimoda

1

ฉันอ่านโค้ดเยอะมาก แต่ปัญหามักจะอยู่ที่ชื่อตัวแปร / วิธีการและความคิดเห็นหากพวกเขาแสดงความคิดเห็นโค้ดในภาษาของตัวเองโดยใช้อักขระพิเศษของภาษาเช่นญี่ปุ่นหรือซิริลลิกเรากำลังมีปัญหา! แต่คำหลักที่ฉันคิดว่าพวกเขาจะยังคงเป็นภาษาอังกฤษเหมือนเดิม


1

ในภาษาอิตาลี

se (i < dimensione){
    scegli
        caso 1:
            stampa "ciao"
        mancante:
            stampa "no, grazie"
} altrimenti {
    stampa "sì, grazie"
}

เพื่อยืนยันความกังวลของผู้โพสต์ก่อนหน้านี้ฉันได้เห็นโค้ด Fortran พร้อมมาโครรวมถึงการแปลคำหลักทั้งหมดจากภาษาอังกฤษเป็นภาษาฝรั่งเศส ไม่อนุญาตให้ฉันดำเนินการต่อในเรื่องนี้

ฉันต้องทำงานกับรหัสที่มีตัวระบุพร้อมกันในภาษาอิตาลีเยอรมันอังกฤษและฝรั่งเศสไม่เพียงเพราะมันได้รับการพัฒนาในที่ต่างๆมากมาย แต่ยังเป็นเพราะผู้พัฒนาหลักคิดว่ามันสนุกและช่วยให้เขาไม่ต้องทำซ้ำชื่อตัวระบุ ( แน่นอนว่ามีประจำ 2,000 บรรทัดยาว .... )


0

ฉันคิดว่า WordBasic เป็นภาษาท้องถิ่น WordBasic ถูกใช้เพื่อเขียนมาโครสำหรับใน Word ก่อนที่จะใช้ VBA

ถ้าจำไม่ผิดมีเพียง WordBasic ที่เขียนเป็นเวอร์ชันภาษาอังกฤษเท่านั้นที่จะใช้งานได้กับเวอร์ชันที่แปลเป็นภาษาท้องถิ่นทั้งหมด หากคุณจะเขียนเวอร์ชันภาษาดัตช์คุณสามารถดำเนินการได้ใน Dutch Word เท่านั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.