前兩天偶遇編程貓推介(為什么沒有中文的編程?), 第一眼感覺像Scratch, 求證之下確實, 並且據說有改良. 今天非常粗淺地嘗試一下, 限於水平沒有做出很炫的效果, 不過頗有些發現.
首先上最終效果圖:
選擇了無趣的斐波那契函數, 在這個主打動畫和互動效果的開發環境里應該屬於非常邊緣的用戶.
從頭開始說. 到官網上之后, 第一感覺是內容比較雜, 因為是沖着這個中文編程開發環境去的, 試了幾個鏈接才從"創作"進到一個類似的但是英文的界面. 因為只有這里像帖子中的截圖, 於是試了"多語言"選項, 還好有"簡體中文". 也許因為筆者瀏覽器是英文界面, 因此默認英文環境?
"編程貓MOD編程器"好像是與MineCraft的集成, 但好像生成的代碼需要到"Box"(代碼島)運行, 時間有限就沒有體驗, 但希望網站的入口能夠調整一下, 或者把各個功能的關系介紹清楚一點.
(補記: 經官方論壇指出 "mod編輯器做的mod是放進多玩魔盒的手機版《我的世界》中體驗的,《代碼島》是一個3D圖形化編程平台哈,和mod編輯器沒關系")
進入環境后, 比較了一下Scratch界面, 發現中間的控件欄作了修改, 采用了頂層菜單, 點擊向右展開:
與原版的布局(下)相比, 猜測是出於最大化編輯框的考慮, 也許會對移動設備更加友好, 但副效應是展開時容易遮住編輯框.
嘗試過程中, 發現一些控件(如比較/邏輯運算)整合到了一個控件, 是個不錯的改進:
相比原版:
通過類似整合, 減少了控件數量, 另外增加了不少輔助功能的控件, 如"是整/質/正/負數", 等等. 不過, 在控件排序上, 還有改進空間, 比如運算部分:
頭尾兩部分都是邏輯運算, 但中間插了一塊數值運算.
在定義函數的過程中, 發現參數好像是自動識別類型, 輸入是文本的話, 比如"測試", +1操作就返回"測試1", 輸入2就返回3. 原版貌似是聲明參數類型.
體驗中最意外的是, 編程貓支持了函數返回值功能, 而即使還未發布的Scratch 3.0(Scratch 3.0 - Scratch Wiki)好像也沒有這個功能. 經斐波那契測試, 感覺對於絕大多數這個環境中的用途應該足夠了(函數內的局部變量沒有深入測試, 不確定是否支持).
在漢化方面, 還有改進的空間, 比如控件的演示字符串不少還是Hi, Hello, abc之類; 顯示(2/0)的結果是"Infinity", 仍然在某些地方把block翻譯成"積木"(原版的漢化版如此. 編程貓已經把新建block改成了"函數", 是個改進)
總體感覺, 開發者的改進是頗費了一番心思, 並且對缺失的關鍵功能做了突破. 個人比較期待的一個功能是, 函數發布/共享, 以及官方維護一個比較常用的"標准庫", 比如更復雜的動作(轉圈, 加速等等), 更復雜的運算等等. 這樣就離一個實用的游戲/動畫引擎和開發環境更近了一步. 而且利用他人開發的函數庫還可以促進團隊開發理念和開源互助的推廣, 也是少兒教育的一個重要部分.
矚目!