這裡是Jimmy的實驗室用來發表Jimmy的Scratch程式作品,還有LEGO WEDO & NXT機器人設計 & Android, (本部落格引用圖文為教育教學目的合理使用) 想與我(Jimmy的爸爸 )聯絡 jimmyscratchlab@gmail.com
2013年2月28日 星期四
2013年2月21日 星期四
詩經是甲骨金文程式碼?!孔子是編程祖師爺?!
Jimmy's papa最近一直注意某個宗教國學網,它提到古代經文書寫在竹簡上,如同現代程式設計師使用程式碼編輯器一般,可以很便利的執行Insert/Replace/Paste等編輯動作
甚至詩經裡某些看似單純描寫景物的詩句,經過象形化為甲骨金文,其實是變數宣告或引用(include)其他竹簡的段落的關鍵字(keyword)
初看這些論點會覺得超級話唬爛,小時候看一些國學大師在話玄學的書中,常常提到河圖洛書八卦是古代先秦文化裡多了不起的科技成就,但除了拿來算命外我卻看不到有何實際應用
不過,自從Jimmy's papa學過符式(Forth)程式語言一段時間後,深信只要有張桌面大的紙,邊邊畫上兩個堆疊陣列(大小應該不會超過20格),其餘的空白處規劃為字典表格,符式程式高手不需借助電腦便能人工紙筆演算起程式
所以,詩經是甲骨金文程式碼,我覺得不無可能,那麼,將周朝的三千多首詩,刪除整理為碼書詩三百還附上Package name,帶領儒團周遊列國的孔夫子是編程祖師爺,我也不覺得訝異
現在,Jimmy's papa每看到易經的六爻的變化順序,就越看越像符式的堆疊(Stack),呵呵!!!
甚至詩經裡某些看似單純描寫景物的詩句,經過象形化為甲骨金文,其實是變數宣告或引用(include)其他竹簡的段落的關鍵字(keyword)
初看這些論點會覺得超級話唬爛,小時候看一些國學大師在話玄學的書中,常常提到河圖洛書八卦是古代先秦文化裡多了不起的科技成就,但除了拿來算命外我卻看不到有何實際應用
不過,自從Jimmy's papa學過符式(Forth)程式語言一段時間後,深信只要有張桌面大的紙,邊邊畫上兩個堆疊陣列(大小應該不會超過20格),其餘的空白處規劃為字典表格,符式程式高手不需借助電腦便能人工紙筆演算起程式
所以,詩經是甲骨金文程式碼,我覺得不無可能,那麼,將周朝的三千多首詩,刪除整理為碼書詩三百還附上Package name,帶領儒團周遊列國的孔夫子是編程祖師爺,我也不覺得訝異
現在,Jimmy's papa每看到易經的六爻的變化順序,就越看越像符式的堆疊(Stack),呵呵!!!
2013年2月18日 星期一
Smalltalk是個好東西,可惜它不說中文
Jimmy's papa好久沒碰Smalltalk or Pharo,換句目前比較流行的清宮劇說法,就是許久沒翻它們的牌子了,已打入冷宮久矣
回想當初放棄的理由之一,應該是Smalltalk or Pharo這些洋妞打從DNA裡不支持Unicode,凡是寫入程式的中文字串或中文註解,編譯後一律成亂碼, 想要叫它們秀幾個漢字,總要用上間接迂迴的手段,曠日費時,雖然生命應該浪費在美好的事物上(我指的是Smalltalk的物件導向觀念及開發環境),但是說不了中文,有文化上的代溝,在漢字流行的地區終究不能天長地久
不過,或許情況有變,改天回頭研究看看
回想當初放棄的理由之一,應該是Smalltalk or Pharo這些洋妞打從DNA裡不支持Unicode,凡是寫入程式的中文字串或中文註解,編譯後一律成亂碼, 想要叫它們秀幾個漢字,總要用上間接迂迴的手段,曠日費時,雖然生命應該浪費在美好的事物上(我指的是Smalltalk的物件導向觀念及開發環境),但是說不了中文,有文化上的代溝,在漢字流行的地區終究不能天長地久
不過,或許情況有變,改天回頭研究看看
2013年2月8日 星期五
Javascript如何做中文排序
用javascript寫中文排序時,使用localeCompare()是無意義的,因為每個漢字Unicode是由8個字元組成,而單一字元並無可供排序的資訊
解決之道,便是到Unihan統漢字資料庫(http://www.unicode.org/charts/unihan.html),下載整個資料庫轉入自家的資料庫,然後寫Server端程式查詢筆劃數欄位資料,供Client端AJAX取用
或是直接用善心網友提供測試的Chinese Character Web API(http://ccdb.hemiola.com/)
底下是Jimmy's papa做的小實驗
解決之道,便是到Unihan統漢字資料庫(http://www.unicode.org/charts/unihan.html),下載整個資料庫轉入自家的資料庫,然後寫Server端程式查詢筆劃數欄位資料,供Client端AJAX取用
或是直接用善心網友提供測試的Chinese Character Web API(http://ccdb.hemiola.com/)
底下是Jimmy's papa做的小實驗
2013年2月6日 星期三
[Forth.js]浮泡排序中文程式碼
Bubble-sort是學資料結構或演算法時,授課老師常會給的家庭作業之一,拿來練習寫符式中文程式碼
這是Jimmy's papa參考的Javascript程式碼
可將底下的符式程式碼貼到forthjs.appspot.com測測看
寄件者 圖片 |
寄件者 圖片 |
function bubbleSort(arr){
var i=arr.length, j;
var exchangVal;
while(i>0){
for(j=0;j<i-1;j++){
if(arr[j]>arr[j+1]){
exchangVal = arr[j];
arr[j]=arr[j+1];
arr[j+1]=exchangVal;
}
}
i--;
}
return arr;
}
可將底下的符式程式碼貼到forthjs.appspot.com測測看
封 貢冊 993 , 566 , 885 , 333 , 788 , 111 ,
造詞 示列 { 陣列 陣列長 }
陣列長 0
週而
陣列 i 加 汲 .
復始
矣
造詞 浮泡排序 { 陣列 陣列長 }
籌 目前位置 陣列長 給 目前位置
起
目前位置
若然
目前位置 0
週而
陣列 i 加 汲 陣列 i 加一 加 汲 雙複 大於
若真
換 陣列 i 加一 加 滯 陣列 i 加 滯
然後
復始
目前位置 減一 給 目前位置
陣列 陣列長 示列
跳行
重蹈
矣
.( 原順序--> ) 貢冊 6 示列 跳行 跳行 .( 排序... ) 跳行
貢冊 6 浮泡排序
訂閱:
文章 (Atom)