我感覺下面壹些領域比較適合於用vc: 操作系統編程,game,圖形設計,corba編程,com編程,網絡編程。
我談談我的體會。我現在在深圳的壹家公司從事IP電話網關的開發。通過這個項目,我 才真正體會到VC有多麽強大,上百個線程同時工作,數據庫並發訪問,而且全部軟件基 於COM構造,這樣高性能的大型軟件,只有VC方顯出其英雄本色!不過,在國內,有機會 接觸這樣的大型系統軟件的不多。而在做大型系統軟件時,對VC程序員的要求就不僅僅 是熟悉VC、MFC本身了,這只是基本的要求,最的挑戰是妳如何運用VC實現壹些高級的功能特性。
其實,VC做數據庫也不是不合適,關鍵在於妳要拋開所謂的例子程序,直接從底層(SQL)做起。那麽,妳會有壹種天高任鳥飛的感覺:爽。數據庫與界面全部在妳的控制之下 。
前壹段時間,做壹個很大的管理系統(每個綱要540多個表12000多個數據項,綱要數不定),並且還要通過CORBA實現跨平臺、通過ODBC跨數據庫。如果通過什麽PB、BCB、De lphi等等快速開發工具(並且做MIS是所謂強項)將會很難自由發揮的。我以為它比較適合壹些需要底層控制的場合,特別是壹些使用現有控件不太理想的情況下,VC的自由度就比較高。VC是把全能的瑞士軍刀,不過對於壹些較簡單的功能,比如開酒瓶之類的用個開瓶器就更方便壹些。
VC可以寫WEB上的控件。
VC可以開發優秀的基於通信的程序。
VC可以開發高效靈活的文件操作程序。
VC可以開發靈活高效的數據庫操作程序。等等等等
VC是編CAD軟件的唯壹選擇!!!包括AUTOCAD,UG的二次開發。
小到只是壹個Windows的標準界面 那象這樣的程序用VC++確實大才小用了,因為有比VC++ 開發界面更快的編譯系統,但如果這個界面極其復雜 復雜到要用很多的數學方法(例三維遊戲的)那也要用到VC++才能搞定
就我使用VC++的這幾年經驗來看,VC++非常適合於系統程序設計,正如C語言是Unix的標
準系統程序設計語言。
在多線程、網絡通信、分布應用方面,VC++有不可比擬的優勢。 當然隨著系統程序開發
的機會越來越少,VC++的應用領域的確會逐漸縮小。
如果說到Windows下的可視化開發工具現在大家接觸得最多的就是VC,VB,DELPHI,BCB
,壹些可視化開發的JAVA。其實我覺得VC並不能完全算是壹個可視化工具,這表現在VC
中編寫代碼還是占了開發工作的大部分時間。而其他的可視化工具中都在界面設計中耗
費了大量的開發時間。我壹直使用VC的原因就是因為我能夠壹直將註意力集中在軟件功
能開發上而不是界面設計上。我認為這樣能夠在開發的過程中更加自由和有更多的控制
權。而且這種情況下產生的代碼維護性更強。舉個簡單的例子,在維護VB代碼時如果沒
有壹份詳細的說明和流程就會使維護變得不可能,我想其他的基於界面開發的工具都會
或多或少的產生這樣的問題,因為在開發過程中開發工具將壹個完整的流程分離成為多
個部分,在開發完成後這些部分就很難統壹起來。
選擇什麽樣的工具的前提是妳的開發目標,如果妳希望開發壹個很大的系統妳就不應該
選擇面向基於界面開發的工具,但妳可能會選擇VB來開發前端的客戶軟件,而後臺使用
VC來實現。 對於壹些並不是很復雜的軟件來講,界面和操作方式可能是非常重要的,所
以選擇VB,CBC都可以縮短開發時間。這時候選擇VC就有些不智。 所以我認為使用VC開
發的朋友應該將更多的註意力集中在實現軟件功能的流程上,多從整體角度看問題。我
想這壹點來說其他的可視化開發工具是很難達到的,因為VB,CBC等開發的程序在很大程
度上都是用各種控件“堆”出來的,這會在後期的維護升級過程中帶來很多的不便,例
如要替換掉壹個控件就可能會對整個程序的結構產生非常大的影響。 最後我想說的是每
種開發工具都有它的價值,也各有優缺點,更重要的是如何根據具體的任務選擇合適的
工具並利用這些工具來完成工作
首先要搞清楚VC能幹什麽.很多人只是聽說VC是最好的開發語言,便去學習,就象大家聽
說辟邪劍譜厲害,便都去搶著學壹樣,都是很盲目的。其實語言並沒有好壞之分,我在
用C之前,壹直覺的BASIC 是最好用的語言。現在在WINDOWS平臺下編程,VB和DELPHI可
以滿足大多數的應用,而且速度不會很慢。使用VC主要是用來開發系統軟件和大型工具
軟件以及開發遊戲。
2 如何學好vc
2.1
先期條件:英語要好 看懂MSDN 要學好vc,先學好英語,再去codeguru.com之類的網站
d/l source code。學好vc=英文好+基本功好+勤奮+聰明。
1先學習C或C++,在windows的console環境下編寫不太深入涉及API的程序;尤其封裝,
繼承,多態壹定要精 不要讓vc的各種特性分散註意力。這壹階段,可以把重心放到研究
算法上
2在基本上掌握了語法之後,開始接觸簡單的系統API,學習 Windows的編程原理和機制
; 先了解Windows系統的消息機制(多任務,消息映射等)。壹開始用基本的SDK形式來
開發幾個程序作為入門(WinSDK編程就是直接調用Windows的API進行編程)(SDK全稱是S
oftware Developers Kit,意思是軟件開發工具箱)(API全稱是application program
interface,意思是應用程序編程接口)。開始進行WinSDK編程用C語言最好,可以撇開C
++的特性專心熟悉壹下Win32編程的思路以及了解windows的消息運行機制。可以編寫簡
單的菜單程序,可以簡單地在WM_PAINT下操作 GDI函數當妳可以熟練的使用C語言進行W
INDOWS程序設計了,妳可以嘗試面向對象的方法了。
3用MFC來開發程序(MFC全稱Microsoft Foundation Classes,是把WinAPI進行封裝的類
庫,它是壹個類的集合,通過覆蓋WinAPI,為編程提供了壹個面向對象的界面。它使wi
ndows程序員能夠利用C++面象對象的特性進行編程,類似BCB的OWL,Delphi的VCL組件。
它把那些進行SDK編程時最繁瑣的部分提供給程序員,使之專註於功能的實現。妳不妨把
它想象成類似TC提供的函數庫吧。)。開始學習MFC,可以從Step tourist學起,看MFC
的 源代碼,理解幾個關鍵的宏的定義與實現,特別是MESSAGE MAP。 在學習的過程中為
了給自己增加點挑戰,盡量不要使用resource edit,試著自己編碼實現控件的創建,消
息的響應。 再就是看自己的造化了,動手做壹些小工具,特別是自己平常需要的,對自
己的提高也應該是很有幫助。 並選擇發展的方向. 如果妳有壹個別人的好程序, 不妨
自己跟著他的思路,從小到大自己完成壹遍。
4到了壹定程度,壹定要學ATL,OLE/COM。需要實際項目的磨練研究OLE/COM技術。 COM
/ActiveX技術是MS的核心技術,只有徹底洞察其理論精髓才可以體會現在的操作系統的
技術趨勢,以不變應萬變。
從1998.3-1998.5,我基本上是每天攻讀八小時VC,包括看書和上機。那時正上大三,精
力充沛,受的起沒完沒了的失敗和痛苦,終於在五月某壹天的壹節“匯編語言”課上突
然想通了,立刻逃課去上機。就這樣我入門了。之後我也象大多數的人壹樣學習它的所
謂GUI,doc/view結構,打印之類。有壹天醒來我突然想:我學這些幹嘛嗎?朋友!驚醒呀
!人的精力是有限的,正所謂“術業有專攻”,VC說到底,它也是壹個工具,學會使用
這個工具並不是目的,而僅僅是開始!於是我開始尋找我的方向。綜合我的方向有:1.
網絡編程。主要是基於TCP/IP的Winsock編程,已完成壹個FTP的客戶端編寫,正在寫壹個
FTP服務器。2.通訊編程,主要是串行通訊。3.三維動畫,主要是用OpenGL API,壹般用
來寫界面。我的畢業設計就是以2和3為基礎。我的壹些意見:不要對VC控件抱太大希望
,除了基本控件,使用其他控件會使妳比用API還繁;盡量使用MFC而不是API;盡早定位
自己,尋找方向,不要什麽都學,人貴專攻;要了解消息機制,多線程和同步機制,更
有回叫(CallBack)機制等,這是VC程序員的基本知識
//WINDOWS 和 UNIX操作系統都是復雜的多任物系統,提供了壹大堆應用編程接口(API
,通常是C語言的函數)程序員使用c語言調用這些API便可以開發該系統下//的應用程序
了。這與dos時代的編程接口是不壹樣的,那時侯的函數庫是由開發環境提供的(如Tur
bo C) ,不具有很好的封裝性和設備無關性。每當新版的//WINDOWS操作系統發行,便會
提供壹個相應的plantform SDK(軟件開發包),開發者可以用SDK 編譯C程序。
//vc的核心就是MFC,MFC是個C++類庫,就象結構化程序設計時代的C語言函數庫壹樣 ,
給程序員提供了豐富的編程接口,簡化了程序的設計。 而MFC就是直接把//WINDOWS的C
語言編程接口API函數用C++的類封裝而成! 這樣既實現了面向對象的編程思想,又直接
使用了WINDOWS的原始編程接口,代碼的效率是 最高的
//1。Window是由個許多DLL搭起來的系統的總稱,開發Window程序就是如何調用這些DL
L,對於C程序員,它提供了.h/.lib,這些東西和壹些文檔就構成SDK,DDK。//。。他們在
任何支持DLL調用的開發環境中都可以使用(即函數指針)。2。通常SDK指與Window核心
調用有關的。。。但並不是專用名稱。也用於其他地方
//VC只是壹個編程工具,就如BC、BCB、Delphi壹樣,其實對於編程最根本的就是三個方
面,語言、開發包、操作系統API,他們三個方面應該說是相對比較獨立的//。VC是MS開
發的,所以針對的是windows api,妳可以不會C++,也可以在VC下用C寫出很優秀的程序
,當然如果妳比較熟練C++,並且熟悉開發包MFC的話,工作//可能要輕松不少。所以在
我看來,學習的過程可以是這樣的,1、先學習C或C++,在windows的console環境下編寫
不太深入涉及API的程序;2、在基本上掌握了//語法之後,開始接觸簡單的系統API,學
習Windows的編程原理和機制;3、在可以編寫簡單的菜單程序,可以簡單地在WM_PAINT
下操作GDI函數後,開始學習MFC//,可以從Step tourist學起,看MFC的源代碼,理解幾
個關鍵的宏的定義與實現,特別是MESSAGE MAP。在學習的過程中為了給自己增加點挑戰
,盡量不要使用//resourceedit,試著自己編碼實現控件的創建,消息的響應。再就是
看自己的造化了,動手做壹些小工具,特別是自己平常需要的,對自己的提高也應該是
很有//幫助。