我最喜愛的十大開發工具

我最喜愛的十大開發工具


1、 VisualAgeJava。它與其它JAVA開發工具相比有很多獨特的地方,VAJ用自己的二進制格式文件(資源庫)作爲基本的存儲模型。內置的版本控制、增量編譯和高效的debug工具。
2、 VC。如果說到Windows下的可視化開發工具現在大家接觸得最多的就是VC,VB,DELPHI,BCB。其實我覺得VC並不能完全算是一個可視化工具,這表現在VC中編寫代碼還是佔了開發工作的大部分時間。而其他的可視化工具中都在界面設計中耗費了大量的開發時間。我一直使用VC的原因就是因爲我能夠一直將注意力集中在軟件功能開發上而不是界面設計上。我認爲這樣能夠在開發的過程中更加自由和有更多的控制權。而且這種情況下產生的代碼維護性更強。 
3、 delphi。數據庫支持是delphi的強項。這主要體現在delphi與bde的無縫集成,以及delphi提供的那一大堆現成的數據庫操作控件。這是vc望塵莫及的。目前delphi支持bde、ado、interbase三種數據庫訪問方式。所有的方式都能拖拉到應用程序中實現可視化操作。正是因爲delphi對數據庫類的包裝,使得用戶操作數據庫不像在visual c++中必須從開始到最後都要干預。明顯地提高了開發速度。在delphi中使用webbroker控件還能很方便地構造出基於數據庫的web頁面,通過html管理web數據庫。
4、 perl。我喜歡perl的理由是與我從事的工作有關,我想使用SNMP網管工具查出每天的帶寬使用情況。當然可以寫一個C程序直接同路由器交談取得所需信息。但我並不喜歡C的malloc()和free(),它讓我着實不安。好在perl有一個SNMP接口——一個大約20行代碼的perl腳本可以同路由器對話,並且能將精力放在功能實現上,而不是編程的細節上。
5、 python。大家可能對這個名詞比較陌生,它是一種面向像的腳本語言。它具有動態類型,支持多繼承,用戶定義類型,高級動態類型和類。爲什麼我這麼喜歡python?有幾個原因。首選,它的語法清晰而簡單,我的python程序比其它的語言更易讀懂。其次,我發現自己更傾向於面向對像方式編程,而向對像的編程比舊的傳統方式似乎更貼切一些,再加上python是從頭至腳面向對像的,長的程序易於開發和維護。
6、 Tomcat。之所以要選擇它,主要是因爲原因是因爲它是免費的,不像MS的軟件動則幾千RMB,像我們這樣的學習者哪裏承受得了! 免費並不代表質量低下,據測試表明,Tomcat在JSP服務器方面的穩定性優於websphere。它的開發非常方便,集成了很多優秀的性能,它的源碼公開,你可以仔細地研究它運行機制。
7、 ASP。簡單易學。Basic有誰不會?很少會有人舉手,所以有人在說這個開發基礎是最廣的。而且MS有一向做的非常好的聯機手冊,本地化語言的幫助,同時非常快的出現教學書籍,這樣會大大方便開發人員的學習和對技術的深入研究。安裝使用方便。裝好一個Windows 2000,只要你安裝了IIS哪麼ASP就可以使用了,從沒有什麼需要你花心思去配置的。
8、 PHP。PHP是一個什麼原因出現的呢?它是一個技術人員希望能用一個快速的方面來完成他自己的個人主頁中的一個小應用。而在他一發不可收時出現了php,它使一個人能在多種操作系統下迅速的完成一個輕型的Web應用。所以在短短的幾年裏,php迅速的升級了它的版本,同時在GNU的世界裏找到了一個青梅竹馬的夥伴----Apache。個人認爲php是自由軟件在web應用平臺上一個決勝的工具,如果沒有php的出現,還會有許多人認爲自由軟件就代表了對開發人員的高技術要求、難記的代碼、複雜的工具.....php使一個會使用basic的人員在極短的時間裏快迅學習並完成用戶需要的應用。
9、 PB。現在究竟是什麼阻礙了Web應用和3-tier的大批出現呢?仍然是工具。一般說來,完成這些任務需要使用多種工具,在開發時需要在多個工具之間切換,由此造成了開發效率的低下和開發難度的提高。而PB8/PJ4很好地解決了這些問題。所有這些任務,都可以在同一個開發環境中完成,開發人員能非常快速地編寫基於數據庫的業務邏輯Component以及調用這些Component的Web-Client或PB-Client。尤其是Sybase把2-tier中的王牌Datawindow擴展到了HTML領域,使得數據庫驅動的動態頁面實現起來非常容易。
10、.NET。.NET框架和C#擴展了Windows的功能,C#和Visual Studio .NET的結合使得創建和配置Web服務幾乎可以自動進行。並且,和傳統的ASP應用程序相比,ASP.NET應用程在性能、穩定性以及可擴展性方面都有了實質性的提高。

JAVA開發工具大比拼


VisualAge for Java。對於現代的程序員,開發工具起着越來越重要的作用。尤其在java領域,各種工具和廠商之間的關係十分複雜,用戶之間對開發工具的爭論是一個永恆的話題。
在新聞組和BBS上常常看到有人問什麼開發工具最好,經常就會有人對新手說,就用 JDK 和notepad (ultraedit,editplus,...);也有許多有C,C++經驗的人上來就找Visual J++;還有許多人對Borland JBuilder情有獨鍾,加上一些通用的集成開發環境比如Visual Slick Edit,一些基於java的比較小的開發環境,比如Kawa,JCreator,IntelliJ...更不用提UNIX環境下那些狂熱的EMACS,VI的愛好者了...
然而我最喜歡的還是VisualAgeJava,有的人喜歡用JDK和文本編輯器,是因爲喜歡感覺到真正的代碼,知道“背後發生的事情”,對他們而言,可視化編程工具生成的代碼絕對是垃圾,不利於自己的修改和維護。但是他們並不是排斥工具,要不然,也不會把notepad換成ultraedit,editplus,乃至更強大的工具,遠遠不是一個文本編輯器那麼簡單。
至於使用Visual J++,Borland JBuilder,也很明顯,界面和習慣都很熟悉,很快就知道怎麼回事,可以上手。但是其實Java世界有它自己的特點。
最初的Java IDE大概是Symantec公司的Visual Cafe,由於其編譯器速度很快,尤其出現的最早,很快佔領了大部分的市場份額,現在雖然已經大不如前,但還是有其特點的,尤其是國際化支持方面比較突出。
此後就是IDE領域的老牌公司Borland的JBuilder,早期的還比較粗糙,但是隨着版本的不斷更新,集成了許多類庫和組件,以及Borland一向的良好聲譽,成爲當前最普遍的IDE之一。
Microsoft的VisualStudio在C++領域是絕對的老大,在Java領域卻不能有同樣的風光,其實從微軟公司的戰略角度,這點是很明顯的。從較早的Visual J++ 1.0到比較穩定的1.1,以及號稱專門從Borland挖來的Delphi總設計師親自設計的Visual J++ 6.0,它始終處於一個尷尬的位置。後來更因爲被Sun起訴,被迫最終修改。
不可能從Microsoft得到Java的開發工具,這是很明顯的。
有的人第一次用VisualAgeJava,可能會不太習慣:怎麼界面這麼土?(VisualAgeJava的版本更新很少帶來界面上的變化,沒有其他軟件花哨,其實可以說是優點。不過,Eclipse or WSWB的界面可就完全不同了,不僅很漂亮,而且有很精心的設計,而不是照搬習慣的方式)怎麼沒有我熟悉的菜單結構?...
VisualAgeJava有很多獨特的地方,需要一個熟悉和適應過程。
VAJ用自己的二進制格式文件(資源庫)作爲基本的存儲模型。
對於開發者而言,完全不用考慮文件和路徑的所有問題。所面對的直接就是package,class,method......,同時在顯示上也是以類、方法等單元作爲對象,只顯示選中的元素(直到近期的版本纔出現了full class view),這非常符合面向對象的概念,幫助開發者用面向對象的概念和模型來考慮問題。
當然,有人可以說,不接觸文件,不搞清楚文件,路徑,包的關係,就沒有了解Java中這部分真正的內部機制。但是,即使是已經充分了解的有經驗的程序員,也難免在這個問題上犯錯誤或者耗費不少時間和精力(因爲牽涉的因素很多),對於初學者,這一點就更重要了。
內置的版本控制。正是因爲使用了資源庫,在VAJ裏面版本控制的功能十分強大。每一次存盤的狀態都被保存,可以很容易地回溯和比較。任何時候想凍結代碼的狀態時,可以將一個版本版本化。這樣將使特定版本成爲只讀的,並可以命名。編程時完全可以放心保存和修改,對於開發週期內的一些特殊點可以方便地留下快照。
增量編譯。在VisualAgeJava中沒有顯式的編譯過程,每次存盤的同時就進行了增量編譯,有問題立刻標出。這不僅節省了編譯的時間,省去了一個步驟,也強迫開發者每一階段都要保證正確,這種step by step,在正確代碼基礎上繼續工作的增量式開發是一個很好的習慣,比上來就寫很長一段程序,編譯運行,然後再慢慢地調試和尋找錯誤,要高效得多。最好的調試方法就是避免錯誤。
調試器。VisualAgeJava用的是IBM的Java虛擬機,使它具有獨特的hot-link功能,可以把修改後的代碼編譯後連接到正在運行的程序中。甚至有人說,他就在debugger裏面編寫程序,程序一直在運行,而不用像有的人那樣,必須寫大段大段的System.out.println來觀測程序運行狀態。

windows開發工具大比拼


技術的進步在很多時候是此消彼長的。當初borland的turbo c和borland c++幾乎是c/c++程序員唯一的選擇。微軟的quick c(現在還有人知道這個產品嗎?)和microsoft c/c++從來也沒有成爲過主流。但borland c++又流行了多少年呢?不久就被新崛起的microsoft visual c/c++壓下去了。於是inprise(原borland)揀起了當年turbo pascal和borland pascal的輝煌(事實上borland的成名作就是第一個pascal編譯器),全力推出了delphi。delphi當初推出時被稱爲vb殺手,但vb現在仍然活得挺好。畢竟微軟是靠basic起家的嘛,vb不是那麼容易被打敗的。inprise想了想不和vb爭了,使用delphi的ide和vcl配上c++語言,推出了c++builder,又向visual c++的市場發起了夾攻。c++builder似乎是個不錯的折衷選擇了?再仔細想想!c++builder的優點delphi都有,但delphi的優點c++builder未必有。比如c++builder的編譯速度比vc還慢,哪能和delphi比?而且因爲vcl是object pascal寫的,c++語言和vcl磨合得並不好。c++builder的bug比delphi還多,甚至sample代碼中還有錯。vcl的部分功能不能使用,要靠嵌入pascal代碼訪問。c++builder可用的第三方控件遠沒有delphi多。

  唉,真是金無足赤。microsoft和inprise,誰會笑在最後呢?
1)哪門語言更容易入門? 

  學習一種語言需要投入大量的時間和精力。開發程序的開發成本是值得考慮的現實。一個熟練的delphi程序員和一個熟練的vc程序員工作效率是一樣的。但是,成爲熟練的程序員必須很快掌握一門語言的技巧。不幸的是,目前熟練的visual c++程序員是十里挑一。相對而言,delphi更適合初學者。 

  2)哪門語言有更多可繼承的代碼?

  語言代碼的可重用性是加快開發效率明顯方面,從早期的過程、函數到現在的組件技術都是朝這個目標在奮鬥。這兩種語言對代碼重用的理解是不一樣的,delphi主要通過vcl控件來實現代碼重用,visual c++實現起來就比較複雜。 

  3)語言自身的本性。

  就技術(主要指應用框架)來說,delphi目前領先於visual c++。但穩定性和健壯性的不足又讓我對inprise“想說愛你不容易”。而vc儘管發展到今日已十分完善,但mfc框架已是明日黃花了。如果不使用mfc,目前又沒有合適的替代品。

  根據你的需要和實際情況做選擇吧。實際上visual c++和delphi也不是單單競爭關係。它們在許多領域並不重疊,甚至是互補的。到底怎樣取捨,要根據你的項目特性決定。如果你開發系統底層的東西,需要極好的兼容性和穩定性,選visual c++吧。你可以只調用windows的各種api,不用mfc。如果你寫傳統的windows桌面應用程序,visual c++的mfc框架是“正統”的選擇;如果界面部分佔這個應用程序代碼比例較大的話,或者delphi中有相關功能的控件的話,delphi是事半功倍的選擇。如果你爲企業開發數據庫、信息管理系統等高層應用(“高層”是相對於“低層/底層”而言的,不是說技術高級或低級。)而且有比較緊的期限限制,選delphi比較好。如果你熟悉的語言是object pascal,又不打算學複雜的c++,那麼delphi幾乎是唯一的選擇。傳統的觀點是:delphi適合編寫internet/intranet、表格製圖、數據庫操作、高級用戶界面等等。visual c++適合編寫設備驅動、com服務程序、科學計算、控制檯(console)程序、wince的應用和一些小的工具等等。應用範圍的不同要求好的程序員精通這兩門語言。

  4)語言的前景和可擴充性。

  delphi是inprise的旗艦產品之一,前景應當還是比較樂觀的,而且inprise已經在向linux進軍了,而微軟還遲遲沒有動作。遺憾的是,inprise公司delphi的創始人已經跳槽到微軟去主持visual j++項目了。但願對inprise衝擊不會太大。

  微軟的visual c++的前景又怎樣呢?visual studio 7.0就要推出了。這一版本將加強網絡開發的特性。看來微軟雖然被判解體,開發實力可是一點沒打折扣。

  另外,雖說mfc已稍顯落後,但不是說它不值得學。事實上,不學mfc就等於沒學vc。利用mfc框架開發程序仍然是目前開發桌面應用的主流模式,而且還會保持相當長的時間。微軟公司ceo史蒂夫·巴爾默(steve ballmer)曾說,.net流行還得等2~3年。那麼,mfc至少還有2~3年的生命空間。在技術日新月異的it界,2~3年實在是很長一段時間了。好好把握吧。即使你不使用mfc框架,花點時間看一下mfc的封裝機制對你熟悉c++的oop機制和windows底層功能也是很有好處的。而vcl的源代碼是object pascal的,對c/c++程序員就沒有這個“額外”的作用了。
發佈了13 篇原創文章 · 獲贊 2 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章