我曾经与一位朋友讨论有没有可能用中文编程。当然计算机语言毕竟不是自然语言,但是目前大多数计算机语言(包括内置函数和库函数)都是基于英语的。所以,你会写System.PrintScreen(“Hello”),而不是Sistemo.SkribuEkrane(“Saluton”)。
最流行的程序语言几乎是没有内置函数的,只要编译器支持UTF - 8的变量和函数名,理论上你就可以用另外一种语言重新编写所有的函数和变量名。今天,我的朋友告诉我有人在这方面已经有了更深入的研究。
中文Python即把Python完全翻译成中文。包括所有的文档,回溯和错误代码都使用中文。你可以用中文编写整个程序,所有的变量和函数以及所有的内置函数都用中文命名。所以,“if a=2”可以写成“如果 阿=2”,“如果”就是“if”的中文意思,“阿”就是用中文命名的变量名。
以下是一个程序例子:(来源于中文维基)
中文Python:
#!/usr/bin/env zhpy
# 文件名: while.py
数字 = 23
运行 = 真
当 运行:
猜测 = 整数(输入('输入一个数字: '))
# 文件名: while.py
数字 = 23
运行 = 真
当 运行:
猜测 = 整数(输入('输入一个数字: '))
如果 猜测 == 数字:
印出 '恭喜, 你猜对了.'
运行 = 假 # 这会让循环语句结束
假使 猜测 < 数字:
印出 '错了, 数字再大一点.'
否则:
印出 '错了, 数字再小一点.'
否则:
印出 '循环语句结束'
印出 '结束'
印出 '恭喜, 你猜对了.'
运行 = 假 # 这会让循环语句结束
假使 猜测 < 数字:
印出 '错了, 数字再大一点.'
否则:
印出 '错了, 数字再小一点.'
否则:
印出 '循环语句结束'
印出 '结束'
英文 Python:
#!/usr/bin/env python
# File name: while.twpy
number = 23
running = True
while running:
guess = int(raw_input('Enter an integer : '))
# File name: while.twpy
number = 23
running = True
while running:
guess = int(raw_input('Enter an integer : '))
if guess == number:
print 'Congratulations, you guessed it.'
running = False # this causes the while loop to stop
elif guess < number:
print 'No, it is higher than that.'
else:
print 'No, it is lower than that.'
else:
print 'The while loop is over'
print 'Done'
print 'Congratulations, you guessed it.'
running = False # this causes the while loop to stop
elif guess < number:
print 'No, it is higher than that.'
else:
print 'No, it is lower than that.'
else:
print 'The while loop is over'
print 'Done'
我想这会是一项伟大的工程。编程不再像我学习QBsics时那样,像一个很难进入的“围城”。现在,程序员使用大量的库, API插件等等,这些不可能全部都翻译成中文,这些没有翻译过来的内容会对我们的学习造成阻碍。但是在教孩子们基本编程原理的时候,将这些翻译过来可能是很有帮助的。Jim Cummins一直从事双语教学研究,他认为,那些在初等教育阶段主要通过母语学习,只学习少量英语的移民,比那些从一开始就在沉浸在英语环境下的移民表现得更好,更能够熟练的使用英语。
这是因为大多数初级教育都是学习先进的理念和思考方式。如果这个阶段的学习是通过母语完成的,学生会学得更好,也更容易将所学转化为英语。我想学习编程的过程也与之类似,学会了编程逻辑和编程思想的学生,理解“PRINT”和“GOTO”这样的命令不会有任何问题。毕竟计算机课并不是为了让你记住尽可能多的变量名称(我常常就不得不查询这些),而是学习算法和思维方式。
这会是一项伟大的工程,因为:
1.如果中国的孩子们学习的是中文Python,将会学得更快;
2.学习中文Pyhon的孩子可以在一定阶段转为英文Python学习,这样和从一开始就学习英文Python的人也会相差无几。
1.如果中国的孩子们学习的是中文Python,将会学得更快;
2.学习中文Pyhon的孩子可以在一定阶段转为英文Python学习,这样和从一开始就学习英文Python的人也会相差无几。
原文:Chinese Python: “Translating a programming language”