精華區beta PLT 關於我們 聯絡資訊
(好高興hinet終於停止發生問題,這篇文章po了n次(n>=5)還是沒po成功... 這次該可以了吧....) 大家好,Delphi是一個新世代的軟體發展工具,也是市場上一股不可忽視的 力量,希望能透過此版跟大家討論Delphi程式設計的經驗。 下面是我在資訊系系刊上寫過對Delphi的一點評論: Delphi與視覺化設計 ================================================================ 前言 ================================================================ 在Microsoft公司的強大市場佔有率之下,大多數的視窗程式開發者紛紛 使用Microsoft的開發工具,然而Borland在1995年推出Delphi之後,使 許多程式開發者如獲至寶,驚嘆之餘,許多大型專案紛紛選用或改用 Delphi來作為開發工具,全球銷售量已突破一百萬套了。Delphi從1.0 到3.0版,短短兩年多的時間,已經獲得26個國際獎項,去年更榮膺1997 年MIS經理人票選為最佳的軟體開發工具。 筆者使用Delphi已經有三年多的時間,深深感覺到它功能的強大。因此在 此做一些簡單的介紹,讓大家知道Delphi的優點以及對這個程式開發工具 有初步的認識。 ================================================================ 縮短開發時間:RAD ================================================================ RAD是『Rapid Application Development』的縮寫,意思就是可以有系統 化的縮短程式開發時間。 這是跟從前寫程式的方式作一個相對的比較:從前寫Windows程式的時候 (或者是任何的繪圖介面程式),都必須把座標寫死在程式碼中,由於在 寫程式碼的時候,無法確知顯示出來的效果,因此可能常常需要編譯、執 行、審核、修改,再編譯、執行…,在這之中,往往浪費了很多的時間。 使用滑鼠操縱控制項的位置,用簡單的方法修改其屬性值,就可以達到多 種炫麗的效果,而這些效果用從前SDK的方式撰寫的話,可能需要四倍或五 倍的時間跟精神來完成。後來大家認為Delphi跟Visual Basic這樣的設計 方式跟傳統的程式設計相差頗大,就稱這種用滑鼠拉拉就可以寫出程式的 方法為『RAD』, ================================================================ Pascal語言、物件導向技術、超人的編譯速度以及產生純執行碼 ================================================================ Delphi採用Object Pascal作為基本語言,Object Pascal是Pascal改良後 的版本,增加了許多物件化的功能,除了支援繼承、多型等一般物件化語 言的基本要求之外,還有完整的執行時期型態資訊,因此可以達成在執行 時期判斷類別、依照類別名稱創造物件、將物件『序列化』(serialize或 )後存入檔案或將檔案中的物件實體化。 Delphi 3.0之後,增加了對COM(Component Object Model)的支援,撰 寫ActiveX元件毫不費力,主要是因為加入了interface的概念到基礎語言 架構之中,更增加了語言的彈性。 物件化之後的Pascal語言,功能跟以往相差甚巨,在此將其特點列舉如下: 一、 對編譯最佳化的改良,使得執行速度比從前更快。 二、 物件屬性(properties)的觀念,使得物件對外的介面簡單化,也讓 封裝更為容易。 三、 語言對於字串(string)的處理完全自動化,讓處理字串的繁瑣工作 變得方便且有效率。 四、 Meta classes的存在,讓物件執行時期的資訊變得很容易取得。 五、 由於Pascal是專門為編譯器設計的語言,因此其編譯速度遠遠超越了 市面上常見的開發工具。 六、 對於Win32的message dispatching以及OLE Automation語言上的支援。 七、 編譯後產生的純執行碼(native code),可經過特定的最佳化,使其 在Pentum或486上能達到最高效能。 Delphi 3.0後的版本,在語言上又新增package的功能,使得元件以及其相關 連的檔案能夠一併包成一封包,管理更為方便。 ================================================================ 支援雄厚的類別庫以及視覺化程式設計 ================================================================ 不同於市面上大多數的程式發展環境,Delphi本身提供了很多有用的類別庫 ,超過十萬行的視覺化類別庫提供了一般視窗程式設計所需要的基本元件, 包括圖片及多媒體處理、Windows基本控制項、Windows 95擴充控制項、網 際網路、Client/Server資料庫Front-End軟體設計元件、系統功能元件、 ActiveX支援元件等等。除了這些之外,尚有眾多third party的元件可供使 用, 視覺化的程式設計,使得從前SDK般的Windows programming變得容易許多, 設計完善的Visual Component Library是Delphi最豐富的資源,配合上 Delphi IDE的設計,使得設計Windows的使用者介面變得容易許多,程式的 速度、美觀以及品質等方面也大幅提昇了。 ================================================================ 主從式架構程式開發、Intranet和Internet開發以及目前多層式資料庫程 式設計的支援 ================================================================ 除了語言結構的強悍,Delphi在應用層面也相當的佔優勢。開發資料方面 ,有Borland Database Engine支援各種不同的資料庫平台,以及目前最流 行的多層式資料庫程式的支援,使得開發企業規模的應用程式也變得容易許 多。 在Internet以及Intranet方面,Delphi Client/Server版本中提供了很多 有關的元件及類別,使其在TCP/IP的Socket programming以及Web方面也可 寫出非常專業的程式。 ================================================================ 後記 ================================================================ 筆者使用Delphi程式語言已經有超過兩年的經驗,之前學的是C++,那時接 觸Delphi完全是因為好奇,想不到它是一個如此powerful的工具。學C++的 人應該都能深深感受到C++給程式設計師的發展空間非常廣大、自由度很高 。然而使用Delphi的感覺是不同的,它不像C++如此龐大具有歷史背景,而 是一個由Pascal改良的語言,感覺起來非常輕薄短小卻有擁有如此的能力。 之後用Delphi寫了無數的程式。不管是一般好玩的程式、模擬程式、數學 程式、網路程式、資料庫程式等等,都還未感覺到因為語言、環境的關係 受到限制,因此深深佩服Delphi的設計理念。 在此建議Windows programming的初學者,可以先使用Delphi,可使學習曲 線不致太過陡峭,並兼顧未來的發展空間。 -- Chaos is the best description of the constant state of human society. Therefore, dynamic balance is required for us to to survive when vital fault occurrs. So in the society, we don't chase for peace and order, but existence and survival, instead. -- ※ 發信站: 批踢踢實業坊(ptt.twbbs.org) ◆ From: h123.s79.ts30.h