前兩天偶遇程式設計貓推介(
為什麼沒有中文的程式設計?), 第一眼感覺像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改成了"函數", 是個改進)
總體感覺, 開發者的改進是頗費了一番心思, 并且對缺失的關鍵功能做了突破. 個人比較期待的一個功能是, 函數釋出/共享, 以及官方維護一個比較常用的"标準庫", 比如更複雜的動作(轉圈, 加速等等), 更複雜的運算等等. 這樣就離一個實用的遊戲/動畫引擎和開發環境更近了一步. 而且利用他人開發的函數庫還可以促進團隊開發理念和開源互助的推廣, 也是少兒教育的一個重要部分.
矚目!