August 2006


受Joel on Software這篇文章
微軟如何輸掉API戰爭
的啟發
覺得好像可以開始學一點有記憶體管理的程式語言了
引述一下

我時常會寫相同的程式,用C++呼叫Windows API寫一次,用Visual Basic也寫一次,C++通常要花三到四倍的工作時間。為什麼呢?答案是記憶體管理。要瞭解原因最簡單的方法,就是去看任何會傳回字串的Windows API函數文件。仔細看看有多少篇幅在討論該字串的記憶體由誰配置,或是如何協商需要的記憶體數量。

I buy it.

所以,Java 還是 .Net ?
我的 Java 程度大概只停在讀過 Java in a Nutshell 的程度
正準備要把 eclispe 裝起來的地步
C# 則似乎是個迷人的玩意兒
雖然我和很多人一樣對 MS 的印象很差

有點難以取捨
如果眼光放長遠一點
.NET 應該才是選擇
我想微軟應該還是會贏 :-P

不過我還是先玩 Java 好了
畢竟我只負責玩 不負責用 XD

因為某些邪惡的因素有在跟某 news group 的文章
所以把舊的不能動的 nntp2rss 修了一下 (php5 incompatible, 懶得丟 patch :p)
可以動了
不過該 news group 是 Big5 or GBK 的編碼
還得順手轉一下

之前有看過 irssi 的 recode plugin, 似乎是好方法
不過和 imap 的 extension 衝到 php 一開就爆炸
我原本是像找比較像 libhz 的 library …

最後發現比較方便的是 mb_string (花了一堆時間 orz 爛 recode)
用法如下
mb_detect_order(”UTF-8,BIG5,GBK”); // 應該是 GBK 沒錯 orz 對匪區不太了解
$enc = mb_detect_encoding($str);
return mb_convert_encoding($str, “UTF-8″, $enc);
這樣就可以同時轉 Big5 又可以轉 GBK