Archive for the 'Programming' Category

Psychotic

今年有一個跟 python 相關的 joke,好像沒看到有人在提…雖然晚了一點,還是簡單介紹一下 Read more »

C++0x 的新東西

在 PLNews 上看到有人整理了最近一次委員會討論的內容: Read more »

加入水銀黨

前陣子一直覺得 cvs 和 svn 並不是真的那麼好用,因此在看了許多人的介紹後,我也決定加入水銀黨了 (誤… Read more »

Using Vim as a syntax-highlight pager

最近在 Debug 程式時總覺得之前弄出來的 output highlighter 不太夠用,雖然可以很方便標出一些關鍵字,但規則一多就得串一大堆,效率不彰。不曉得腦筋怎麼轉的,突然想到 Vim 應該可以好好利用一下… Read more »

程式語言與リリカル

看到這個,我開始懷疑神秘的古代魔法其實也只是某種神奇的程式語言,記載在魔法書中;魔法師的修業,其實只是把自己的腦鍛鍊成 compiler 或 interpreter,在口念咒語的同時丟給人腦即時編譯,施展出神奇的魔法。

回到現實,看著眼前的螢幕笑了笑,編程員多半只會是宅宅的麻瓜,但我還是忍不住在我的 vim 裡輸入

リリカル‧マジカル….

列印程式本身代碼的 quine.py

以前曾經在 language 信區看到有一篇文章在分析這類程式的寫法。剛剛一時興起自己亂兜了一下,沒想到就兜出來了

s = ‘”print \’s =\’, `s`, \’;\’, eval(s)”‘ ; print ’s =’, `s`, ‘;’, eval(s)

不過 python 的話應該可以再簡化,有空再來玩玩看。

Hello World!

這個網頁除了程式語言外,還加入了 human language

Forth 的相關資源

我在 blog 上新增了一個獨立的頁面來放以前收集的 forth 資源 (也可以從 banner 下方找到連結)。不過都是從 bookmark 挖出來的,所以暫時只有連結,還沒有加入任何介紹或評論 (我會再找時間 review 並補上一些文字介紹)。有考慮過是不是要丟到 HEMiDEMi,不過感覺會變得太分散了,所以還是先手動整理一份清單吧。

之前因為一時興起翻譯了一篇forth教學文件,今天不小心在 HEMiDEMi 看到有人收藏了。第一個感想是:原來寫 blog 真的有人會看耶XD 事實上關於這篇譯文,我並沒有刻意要打廣告,因此只在自己的 BBS 個人板和 Blog 上發佈了簡短的消息。雖然無心做推廣的工作,但如果有人因為這篇譯文而認識 forth,而且也覺得這是個有趣的東西的話,那我也會很高興的。

就在翻譯完這篇教學的隔天,我在 SayYa BBS 的 Forth 板爬文,發現原來在幾年前 cnoize 前輩就翻譯過這篇文章了,而且完成度很高,同時也翻譯了其他文件,可惜網址已經連不上了。向 cnoize 前輩詢問了一下狀況後,原來是機器有問題所以關機中,目前中譯文件已經重新上線,包括 DPANS’94pForth 文件,有興趣的話也可以參考這邊,相信會有更多收獲。

pForth Tutorial 中譯

前幾天不曉得吃錯什麼藥,卯起來把 pForth 作者寫的教學文件翻譯了一下,努力了兩個晚上,已經把主要的部份譯完了,剩下問題的部份就隨緣吧。取得原作者同意後,我把中譯版放在 這裡,翻譯的語句也許不夠流暢,請大家多多指教。

pForth 是 Forth 的實作之一。Forth 這個語言的與眾不同,第一印象大概就是少見的後置式語法 (Reverse Polish Notation) 吧,另外就是大量依賴 stack 的運算。我很喜歡接觸新的工具,但我到目前為止也只知道 Forth 的近親 PostScript 有相同的語法和以 stack 為主的核心,在其他語言的確是很少見。而以 forth 開發的產品也不多,我知道的大概就是 Open FirmwareFreeBSDboot loader、以及過去在 DOS/Win3.1 時代很有名的中文軟體 CView

會接觸 Forth,是大學時代在學 x86/51 asm 的時候看了一些介紹文章,才開始陸續接觸這個程式語言。一開始只是因為它看起來比 asm 簡單,再加上奇特的語法很吸引人,就找了工具和書來練習。也許是對這種東西沒天份吧,再加上中文資料又少,一開始碰了不少壁又找不到人可以討論,久而久之就擺到一旁去了。不過 Forth 的神話讓我對它一直念念不忘,所以有事沒事還是會找出來玩一下,只是功力一直沒進步就是了。

為什麼我為挑這篇來翻譯呢?事實上 Forth 的中文文章不能說是沒有,甚至也有一些中文書 (12) 開放下載,但是這些文件雖然內容完整,卻不太適合初學者或只是單純想試試 Forth 的使用者,恐怕還沒被 Forth 的內涵吸引就先被嚇跑了。而 Phil Burk 寫的這篇教學雖然簡短,甚至連 return stack 都沒提到,但編排內容與提供的幾個範例很適合作為 quick tutorial 使用。只要照著做一次,就能快速體驗 Forth 程式的撰寫,因此我很推薦這篇作為入門文章。至於要深入探討 Forth 的歷史背景、完整特性、甚至是精神層次的思維,這已經超出我的能力範圍了,事實上我也未曾把 Forth 作為我的主要工具,只是希望透過學習 Forth 的過程中,獲得一點不一樣的東西;至於未來會不會使用 Forth 來工作,我並不是很在意,也不是我學 Forth 的目的了。

雖然我這篇文章的本意只是在廣告我翻譯的文章,但看起來卻像是在介紹 Forth 這個東西。如果有人因此對 Forth 感興趣,在此推薦幾篇介紹性的文章:

Python challenge

Python challenge

這遊戲以前就開始玩了,可是一直卡關
上禮拜又找出來試試,果然連續幾關都過的很順利
不過目前繼續卡死在 level 13

據說網路上有解答?我是一直忍著不去找啦
上禮拜卡在 level 12 的時候跑去 irc 問了一下
結果不小心被我找到解法 所以找解答的事又擺一邊了
想想還是自己解比較有樂趣 (不過 level 13 已經卡兩天了@@)

其實以前太執著用 python 解
除了某幾題非得用 python 不可 其他的題目其實隨意
所以有兩題我是先用 perl 解出來了 再回頭想 python 的解法

這遊戲最妙的是找問題本身就是一個樂趣
有時候只給一張圖 根本不曉得問題在哪….
不然就是有一堆害死人的提示 搞半天才發現解法 trivial

題庫好像一直有在增加,目前是 33 題
看來我還有好長一段路要走@@

Next Page »