2008年2月29日 星期五

周蟒(zhpy) 1.5 發佈, 重構

周蟒(zhpy) 1.5 發佈了 (代號 皇帝)。
請使用 「$ easy_install -U zhpy」 命令來下載或更新周蟒版本,或前往網站查看更多關於周蟒的內容 http://code.google.com/p/zhpy/

這版本主要是對現有功能的維護與重構版本,一般用戶應該不會察覺到改變:

1. 更新關聯的套件
2. 將 merge 跟 rev_merge 函式合併
3. 加強 zhimport.py 並改名成 import_hook.py

周蟒相關消息請至官方網站查看
http://zhpy.blogspot.com/


zhpy Changelog
====================

1.5 (2/29/2008)
--------------------
code name: Emperor

*Changes*

* rename zhimport.py to import_hook.py
* rewrite import_hook from magiccodec, thanks weijr
http://weijr-note.blogspot.com/2008/02/python-magiccodec-01.html
* use isinstance(target,dict) instead of type({}), thanks weijr
* refactor merger
* merge rev_merger to merger
* refactor ini_annotator, py_annotator,
pattern, val_matching, rev_ini_annotator,
rev_py_annotator, trace_annotator to private method
* refactor to distill baseWord
* add some variable docstrings

*Features*

* add keywords:
* "屬性":"property", "属性":"property",
* add set methods keyword:
* "定集合":"frozenset",
* "清除":"clear",
* "複製":"copy","拷贝":"copy",
* "加":"add",
* "丟棄":"discard","丢弃":"discard",
* "聯集":"union","联集":"union",
* "交集":"intersection",
* "差集":"difference",
* "對稱差集":"symmetric_difference", "对称差集":"symmetric_difference",

*Fixes*

*Project Updates*

* update to pyparsing 1.4.11
* update setuptools to 0.6.8
* update epydoc to 3.0.1

*Contributors*

Fred Lin, weijr

2008年2月12日 星期二

周蟒 1.5 之路

最近 weijr 寫了幾篇很有意思的文章:



weijr 提出了透過利用 python 會在程式檔開頭讀取編碼設定 (encoding) 的方法,來使用 python interpreter 直接執行如周蟒等程式,並且提出了基於周蟒 1.4 修改後的實做,其中許多修改很值得參考。

Python MagicCodec 0.1 裡有個大量修改過的周蟒 1.4 版本。

看到 weijr 願意修改 zhpy 並發佈一個自己的版本我還蠻開心的,這表示周蟒開始值得其他人花心力來修改了,也是種肯定。
但同時警覺到: 讓人寧願自己修改而不是發個 patch 給我們,也表示周蟒還有不足之處。

因為周蟒是採取測試驅動開發,而且目標是相容多個 python 版本與平台,
因此在周蟒實做中,我會避免使用 python 2.5 的語法或 python 2.6/3.0 時即將淘汰的語法,
而且代碼需要通過全部測試,從而保證釋出版本的質量,使用者才能放心地採用或自由修改。

周蟒本來就是一個採取測試驅動開發,集合大家創意的中文(python)程式語言,許許多多的功能都是由不同人貢獻出來(可以看 ChangeLog),才有今天的周蟒。

周蟒 1.5 將繼續重構,並同時加入一些更進階的關鍵字,也許會在這版本或下個版本加入透過 encoding 來使用 python 直接執行周蟒的方法。(如果 weijr 肯發個 patch 過來就更快啦 :D)

如果對周蟒原始碼有興趣,可以透過
svn co http://zhpy.googlecode.com/svn/trunk/
來取得原始碼

周蟒原始碼總是維持隨時都是可工作的。

2008年1月17日 星期四

周蟒(zhpy) 1.4 發佈, Windows 用戶友善

周蟒(zhpy) 1.4 發佈了 (代號 倒吊男)。
請使用 「$ easy_install -U zhpy」 命令來下載或更新周蟒版本,或前往網站查看更多關於周蟒的內容 http://code.google.com/p/zhpy/

這版本加強了許多實用的特性:

1. 修復困擾許多新手的 Windows Interpreter 編碼報錯問題。
2. 開啟 zhpy interpreter 時會判斷系統編碼,自動顯示繁簡中文提示 (ex: 周蟒 1.4 於 darwin 基於 Python 2.5.1)。
3. 中文 traceback 支持(目前僅支援一般執行模式,不支援直譯器,Windows 下預設非 utf8 編碼,因此還看不到中文的 traceback),目前只有少數的中文 traceback 字典,請幫忙補完中文 traceback 翻譯條目。
4. 支持測試, 可以用 測試_xxx() 這樣的函數編寫測試用例. 編成 .py 後使用 nosetests 命令測試。

注意周蟒目前不支援 unicode string (u'哈囉') 的表示方式,會在之後版本修正。

周蟒相關消息請至官方網站查看
http://zhpy.blogspot.com/


zhpy Changelog
====================

1.4 (1/18/2008):
--------------------
code name: Hang Man

*Changes*

* change keyword:
* "元組" instead of "組合":"tuple",
* "元组" instead of "组合":"tuple",
* update example n_tabl.twpy

*Features*

* Introdure real chinese traceback support, currently works in compiler mode

*Fixes*

* Fix interpreter unicode issue mainly occured on Windows, thanks renhbo

*Project Updates*

* use setup.cfg to generate docs

*Contributors*

Fred Lin, renhbo

2007年12月5日 星期三

周蟒特點 -- 一段與 Ping 的對話

P: PingYeh, G: gasolin

P: 你的周蟒會唸詩嗎?不然來首小曲也不錯

G: 不會,周蟒比較宅。
周蟒會排紫微斗數盤;
周蟒會網頁開發 karringell;
周蟒會畫圖
周蟒可以寫 AVG 腳本...

P: 周蟒重點是教學?周蟒的獨特之處是什麼?

G: 目前教學是最強的特點吧。
可以用中文來 modeling 生活中的事件,將物件導向映射到生活中。
周蟒生成 python code 後執行速度也很不賴,而且可以寫中文系統腳本 @@
還有與 python 的無縫轉換。

P: 轉過去還轉得回來嗎?
G: 可以!!! 雙向轉換!!
當然,會有點不一樣,不過可以無限地互轉而且都能動

G: 話說回來....實用性也算是教學考量之一, 果然我是搞教育推廣的 Orz

生活化編程一起來 -- 用周蟒建立宅男模塊

由身邊事物開始學習物件導向,
有了周蟒,編程可以更生活化。

生活化編程這個 idea 的源起來自於一則學了 python 後就會飛起來的漫畫
http://xkcd.com/353/

在某地的討論過程中充滿了玩笑與歡樂,
發現學習 python 編程應該可以更有樂趣。


為了讓更模組更容易被理解, 所以使用周蟒.
當然也歡迎用 python 擴展:

我先丟一個基本範例,歡迎大家盡量擴展 XD


類別 宅男(男):
"""
http://zh.wikipedia.org/wiki/宅男 (通俗用法)
"""
定義 __初始化__(我):
我.知識=[keroro]

定義 把妹(我):
引發 尚未實作


聚合後完整的模塊會放在 zhpy.blogspot.com 上.

2007年12月2日 星期日

周蟒(zhpy) 1.4 Beta1 發佈, 加強本地化

周蟒(zhpy) 1.4 Beta1 發佈了 (代號 黃色節制)。
請使用 「$ easy_install -U zhpy」 命令來下載或更新周蟒版本,或前往網站查看更多關於周蟒的內容 http://code.google.com/p/zhpy/

這版本加強了許多在地化的設定

1. 試驗中的中文 traceback 支持(目前僅支援一般執行模式,不支援直譯器)
2. 初步支持測試, 可以用 測試_xxx() 這樣的函數編寫測試用例. 編成 .py 後使用 nosetests 命令測試.
3. 次要關鍵詞的修正
4. 開啟 zhpy interpreter 時判斷系統編碼自動顯示繁簡中文 banner (ex: 周蟒 1.4b1 於 darwin 基於 Python 2.5.1)。


zhpy Changelog
====================

1.4b1 (12/3/2007):
--------------------
code name: Yellow Temperance

*Changes*
* change keyword:
* '操作系统错误' instead of '作业系统错误':"OSError"
* '申明' instead of "宣告":"assert"
* "申明錯誤" instead of "宣告錯誤":"AssertionError"
* "申明错误" instead of "宣告错误":"AssertionError"
* add traceback term plugins (not functional yet)

*Features*

* while open interpreter, autodetect and show the localized banner
* experimental chinese traceback support in convertor (not support in interpreter)
* add keyword:
* "全域":"global"
* "全域變量":"globals","全域变量":"globals"
* "測試":"test", "测试":"test"
* "物件":"object", "对象":"object"
* able to test though generated python file ($ nosetests n_xxx.py)

*Fixes*

* fix triple quote bug, thanks renhbo
* allow cascading 2 identifiers (cascade 3 or more identifiers is not support)

*Project Updates*

*Contributors*

Fred Lin, renhbo