1 中蟒发展讨论 (本页不可随意更新,意见请至发表区发表)
有兩個中蠎版本令人不安. 可否將之合併? 如核心相同, 僅用import 來達成環境的轉變?
-- ???
和其他语言版互译的做法我曾想过,但做起来不容易。
1。 保留字的互译不容易。现在中蟒只有一个语法分析器,然後设了一些“同义词”(‘IF’和‘如’是同义的,分析器看到‘IF’还是‘如’都会做同一个动作 -- 准备构建 IF_STMT。)。当语言越来越多,同义的保留字也会越来越多,结果会拖慢翻译机的速度。但主要考虑点不在这里,因为速度慢只是出现在翻译 .py 档时,变成了 .pyc 档後的执行速度不受影响。主要问题是各国文字的编码间不协调,某一种文字下的常规变数名可能变成了另一个的保留字。这样分析器会很不高兴的。我想到的办法是有多个分析器,然後按语言切换。该怎样做我只有个大概的脉络,而目前我只想做好中文,所以暂时不花时间研究这方面的细节。
2。 字符常量的gettext不容易。我想你所指的是中蟒系统中的静态变量。这些在即译器初始化或载入模组时完成赋值。这时候做gettext还不算什么,问题在於程式运行当中要改变这些常量的名字做gettext非常辛苦。但如不这样做便无法完成跨语言的兼容:现在中蟒为了和英文python兼容,所以什么都做两份,既有‘sys.stdin’,也有‘系统.标准输入’。试想有5种语言,就要弄5份不同名字但同样值的变量(用指针可以省内存,但眼睛污染却难免。) 如果用gettext的话,一开始是无法知道某字符是否系统常量,只好每个变数都gettext看是不是该语言下的字符常量,好像太慢了。
3。 字符常量的翻译不容易。首先我自己就翻译不来 :) 。但对用自己的母语来写电脑程式,大部分人都很保留。基本上这不是中国人才有的问题。而这样的工作又不是说随便找个人就能做得出来的。
4。 与python的主流合并不容易。 我留意过python开发者的看法,一般觉得中蟒是异数。就是说他们觉得只有一小群人会想有这样的功能,而加入这些功能亳无疑问会降低速度,想来不化算。
5。 执行用其他语言版本的程序不容易。 要做线上翻译乎?很难的!而且即时切换语言对执行中的程序来说很痛苦,因为以前已登录的变量名称,函数名等都要译过去。
另外,不必不安,中蟒其实只有一个版本。简化字版和和繁体字版其实都是那一个执行档。分别只在於调出时用的选项:
cpython -g [GB 码]
cpython -b [BIG5 码]
-- glace
我是Red,有几个问题
(1)这种方式的讨论区,比之传统BBS有何优势呢?说实话,我觉得不方便。
(2)WiKi的产业价值又是怎样的呢?它能怎样切实的改变我们在中国的内容管理模式?有利于实现怎样的理想模式?
(3)安装WiKi的条件如何?我有支持perl、php、mysql的虚拟空间,可以么?
谢谢!
-- Red
不客氣啦.
print 写 說 曰 印出 請講
delete 删除 去掉 抺去 忘記
lambda 定义/函数 林達 冧 林達成 作用 套用
pass 忽略 過 哈哈哈
break 中断 跳出
continue 下一个 再來 重來 回去 返歸
return 传回 交貨 終
raise 示警
import 载入 ... 加入 ... 抄入 ... 參見 ... 使用 ... 錄入
名 ...
from ... import 从 ... 载入 ... 自 ... (載入, 加入, ...)
global 共用
exec 执行
assert 断言
if then else 如 .. 不然 .. 否则 ..
while 只要 .. 否则 ..
for in 取 .. 自 ...
for x in xs 對 xs 中之每一 x
then 然后 ..
try except else finally 试 .. 失败 .. 否则 .. 然后 .. 做 如有/遇 不然 最後/最終
class 概念/类别
来自/不来自
is 是/不是 屬於
in
and 和 同 與
or 或
-- ???
对於你上面的意见我的看法如下:
* 最好少用文言。
* 用语不用太客气。“请讲”和“讲”没分别,不必多用一个字,因为写程序是要打字的,能省的就省。尤其是现在很多人都认为中文程式的录入是大问题,他们觉得打中文太慢了。这种环境下还是精简为是。
* 用词精确。print 就是写或者是印。“讲”和“说”有可能指别的意思。特别现在电脑多媒体普及,“讲”也许是指把句子读出来。
* 其他的我再仔细看看,“使用”就好像比“载入”要好些。
* 中蟒没有“then”这个保留字。另外 pass = “哈哈哈” 是什么意思?
很谢谢你的留言。我就是想要些有关中文编程的具体讨论。如应该用哪些字词才最好,句法怎样才比较通,有没有新的做法会比英文更好...等等。
你所提的是保留字的翻译。我有一件事一直想不通:到底要不要“容错”(就是说“如”,“若”,“如果”都是一样的)? 暂时的倾向是不容错。每个结构字只取一种形式。学起来好像不方便,但是在真的写程序时就比较一致。而且保留字太多,真写程序时能用的变量名就会减少。
但是这只是中蟒的问题。假如是真正的中文编程语言又如何呢?谁有想过的?听到“真正的中文编程”,大家脑子里具体出现的是什么样的画面呢?
-- glace
輸入類--
聽讀
輸出類--
講寫
流程類--
如(驗){做}
迴取(變量)(串列){做}
迴圈(始值)(條件)(遞增){做}
選(變量){(選一){做}(選二){做}}
處理類--
再分各類處理等等
中文編程語言:以中文思考整個流程、結構、發展等等。
但是,在這之前要先捨棄蒹容,然後再回來包容。
-- 佳 十一月三日