星期六, 7月 02, 2005

Windows Programming

Source: 程式設計新觀念 事件驅動以 VB 為例, 何宏發, 倚天雜誌, 1993 Nov, P51 ~ 55

Windows Programming 與傳統程式設計在三個地方有較大的差異:

1. Event-Driven 事件驅動

Windows 應用程式設計方法著眼於使用者介面與如何處理事件,在 Windows 系統協助下被動的獲得觸發訊息,執行對應的程序,不必自行撰寫程式碼主動控制程式流程

2. Windows 系統運作

可以參考 Ziff-Davis 出版的 How Windows Works,與 Microsoft 出版,Hellen 撰寫的 Inside Windows NT,深入瞭解系統內部運作

3. 物件導向

物件導向模型比較容易描述在視窗環境下應用程式各元件之間的互動方式

星期五, 7月 01, 2005

一樣的工具,不同的學習

Source: C 的可變個數引數, 機器人, 倚天雜誌, 1991 Nov, P74 ~ 75

文章深入介紹 printf 函數的運作方式,比較 Pascal 與 C 處理 stack 的不同,用 Turbo C 將 C 語言轉為 ASM 組合語言,
觀查內部運作方式,非常有意思

這讓我想起以前銘傳資訊管理的吳大鈞老師,在插班生的 C 語言課程會講解很多編譯器內部運作方式,讓我十分欽佩老師對工具的掌握,也感受到很多 C 語言之所以被稱為中階語言的迷人之處。

相對於在中興應數學習 C 語言,把他當作是演算法的 implement 工具,兩者是截然不同的學習過程呢~

星期四, 6月 30, 2005

雜誌走向變化

Source: Turbo C 技巧大公開, 鮑友仲, 倚天雜誌, 1991 Nov, P109 ~ 112

TSR 常駐程式現在恐怕已經沒有幾個人還記得了,在 DOS 單人單工時代,那可是很好用的功能呢~

筆 者混合 C 與 ASM 討論 TSR 程式設計技巧,比較兩者 jmp 的原理與用法。這類深入的主題在目前的中文雜誌上已經很少有專欄文章提及,也可由此看出讀者群的變化,大約是由 PCHome 雜誌出刊開始,一些專業雜誌紛紛結束營業或轉型。接著越來越多淺顯易懂、著墨不深、品管欠佳的雜誌紛紛出籠,電腦雜誌也逐漸變為廁所書架的常客。

近幾年開始出現企業架構(ITHome)、基礎建設(資安人)、與軟體工程(物件導向雜誌) 的出版品,深度與廣度兼有,但都偏重在較高的層次,底層設計的中文作品已經如鳳毛麟角,可遇不可求了~

星期三, 6月 29, 2005

滾石不生苔

Source: 如何設定印表機 INI 檔, 桂思強, 資訊傳真, 1993 December 27, P64 ~ 65

當 Windows 做的不好,可以刺激許多廠商發展各類 Utilities 取代原先系統內建的功能,因此,DOS 與 Windows 3.1 年代 PCTools, Norton Utilities 等等各式工具蓬勃發展,軟體市場可是非常熱鬧的呢~

即使向文章中所提的列印緩衝,也有多種方法處理,例如將緩衝區指向記憶體 RAMDisk,以 PCTools/Norton utilities 的 cache 工具提升快取效率,或直接用 SuperPrint 取代內建的列印管理員等等,百家爭鳴~

現在 Windows 已經可以滿足多數人需求,消費性軟體沒辦法讓使用者掏出腰包購買,久而久之大魚吃小魚,成為由少數幾家把持的一灘死水。難怪歐盟判決要求微軟將非作業系統必備軟體移除,刺激使用者比較、選擇,好讓其他廠商有機會生存,維持軟體圈的競爭力

星期二, 6月 28, 2005

往對的方向找資料

Source: INI 檔網路設定技巧, 桂思強, 資訊傳真, 1993 December 20, P56 ~ 59

雜誌都會集結一些小秘訣成為專欄或專題,其實有很多都可以在 Resource Kit 上找到,只是一般人並不會去翻閱這些書籍。因為內容多半是關於系統的官方定義,參數解說,主要是網路管理人員與程式設計師才需要參考的資料

當然,也有些是真的被秘而不宣,例如 Undocument Windows 一書所提到的許多資料,那就要靠經驗與交流了~

星期一, 6月 27, 2005

減少功能,補強介面

Source: 全新風貌的 Visual BASIC 2.0 粉墨登場, 郭安定 Andy Kuo, PC Magazine 中文版, 1993 February, P175 ~ 179

Visual BASIC 已經「簡單到越來越複雜」~沒想到才 2.0 就有人這麼說... 其實很多軟體都是如此,拼命加入功能生出新版本,鼓勵使用者消費購買,沒有考慮到功能越多越複雜,增加學習曲線。為何有了物件概念之後不是將軟體切割,由 廠商發展物件來擴充功能、彼此競爭,反而是縮短產品生命週期,越來越快推出新版本呢?沒有人可以在變動不穩定的基礎長期持續發展啊!

"視窗圖形介面的真諦在於「直接」... 趨向「表面藝術化」...如果我們的程式讓使用者有無從下手的無力感,那麼我們的使用者介面就失敗了..." 這點我也深表贊同,常常看到很多產品功能雖強,但不合理的使用者介面卻成了最大的敗筆...

星期日, 6月 26, 2005

如何學習程式語言

Source: 如何學好 Visual BASIC, 郭安定 Andy Kuo, 倚天雜誌, 1993 Nov, P47 ~ 50

動機影響學習,反映在對主題的熱情與持續。

和以前不同,現在資訊過多,以「翻書」的方式對內容留下印象,在面對問題時才有機會迅速回想起相關資料。除此之外,我同時並用 Blog 記錄閱讀心得,好固定淘汰過時與次要的文件資料,同時節省空間

那時候買軟體都附上一堆的原廠手冊,包含許多一般市面買不的到的進階主題。Andy 建議在翻書之前,先完整閱讀 User's Guide (Programmer's Guide 對進階幫助最大),以此為基礎,再開始默背其他書本目錄,才可收完整的「翻書」之效

Andy 認為 VB 的真正威力在整合 C 語言所建立的資源,重點在組合程式而不是寫程式,因此應該以範例導向,以 Debug 工具 Trace 小程式,學習效果最佳。

我個人著眼於友善的使用者介面與工作流程,因此也選擇能協助我快速「黏」出作品的工具。雖然進階深入的部分可以更清楚底層運作原理,但恐怕會消耗過多時間在開發元件,兩者之間必須作個取捨~