Sunday, August 17, 2008

ChinesePython: เขียนโปรแกรมด้วยภาษาจีน

เคยถามเพื่อนมั้ย? ว่า นายเขียนโปรแกรมภาษาอะไรอ่ะ?
แล้วโดนตอบกลับมาว่า "ภาษาอังกฤษ" (ปกติ อาจจะตอบกันว่า C, C#, Python, Java, ...)

ตอนนี้เตรียมเจอคำตอบใหม่ได้แล้ว.... เพื่อนคนนั้นอาจตอบว่า "ภาษาจีน" แทน !?!

วันนี้นั่งๆ อ่าน wikipedia เรื่อง Programming Language แล้วไปเจอบทความ Non-English-based programming languages เปิดๆ ไปเจอรายชื่อภาษาที่ไม่ได้ใช้ภาษาอังกฤษเป็น keyword ในการเขียนโปรแกรม

หนี่งในนั้นคือ ChinesePython.... มันคืออะไร? มันก็คือ ภาษา Python ที่เรารู้จักกันดีแต่โดนแปล keyword ต่างๆ คำสั่งต่างๆ ให้เป็นภาษาจีนให้หมด !?!

สาเหตุที่คนทำ แปล Python เป็น ChinesePython ขึ้นมา เพราะมองเห็นว่า การเรียนรู้วิธีการเขียนโปรแกรม (basic computer programming concepts) นั้นไม่ยาก แต่มันยากสำหรับนักเรียนชาวจีนบางคนเพราะมีอุปสรรคทางด้านภาษาอังกฤษ กว่าจะเริ่มเรียนรู้การเขียนโปรแกรมได้ก็ต้องเรียนรู้ภาษาอังกฤษก่อน (ที่มา)

ลองมาดูตัวอย่างโปรแกรม ภาษา ChinesePython เทียบกับ Python ดีกว่า โปรแกรมต่อไปนี้ทำหน้าที่แปลง \n\r เป็น \n


import sys
filenames = sys.argv[1:]

def fixline(filename):
text = open(filename).read()
text = text.replace('\n\r','\n')
return text

for file in filenames:
print fixline(file)
载入 系统
文件名 = 系统.参数[1:]

定义 修正行尾(文件):
内文 = 打开(文件名).读入()
内文 = 内文.替换('\n\r','\n')
传回 内文

取 文件 自 文件名:
写 修正行尾(文件)
ไหนๆ ลองเขียน ChinesePython บ้าง (ลอง print "Hello World" ดู)
> 写 "หนีเห่า..."

ไม่แน่...ต่อไปถ้าเกิดอยากให้เด็กไทยหัดเขียนโปรแกรมโดยไม่มีอุปสรรคทางภาษา อาจต้องแปล Python เป็น ThaiPython (ใครสนใจจะเขียนภาษานี้มั้ยครับ)

ลองนึกดูเล่นๆ (โปรแกรมคำนวณค่าเฉลี่ย)
ล = [3.0, 1.5, 2.0] #  ล ลำดับคะแนน
ร = 0.0 # ร ผลรวม
สำหรับ ค ใน ล:
ร += ค
ร /= ขนาด(ล)
พิมพ์ "ค่าเฉลี่ย ", ร


น่าสนใจมะ?

5 comments:

  1. แปลกดีอ่ะ นัทเทพ แต่ภาษาจีนเนี่ยไม่ไหว
    ว่างๆ ทำของภาษษไทยจิ ได้รางวัลแบ่ๆ

    ReplyDelete
  2. นิ่มรักภาษาจีน เย้ๆ

    ReplyDelete
  3. กรรม= ="
    ภาษาไทยนี่ยิ่งดูไม่รู้เรื่องไปใหญ่

    ReplyDelete
  4. มันจะไม่ดีตรงโน๊ตบุ๊คได้เปลี่ยนภาษากันสนุกเลยสิทีเนี้ย

    ReplyDelete