看到這篇文章,才知道VFP為什麼"沒落"?
90年代上大學以前,有人就傳言VF要沒落,於是乎對於VF簡直就是不學一股。
我至今還清楚的記得,我和同班的同學嘲過我們大學提倡用 VF做軟件的老師。因為那時的我們流行學習SQL Server。
工作後,部門多數人都使用VF,同時看了一些介紹VF的書,也學習了一點VF.
於是在心裡對VF 有了新的認識,其實VF在技術上還是很牛的。讓我們來認識真的VF吧。
--------------------------------------------------------------------------------
VFP為什麼?
2000-12-12 1:37:00 fbilo
“VFP還有前途嗎?”、“VFP落時了,趕快放棄VFP吧!”
在各種VFP的論壇、BBS上常常見到這樣的問答。即使是大名鼎鼎的《電腦報》,也堂而皇之的在一篇論述編程語言的文章中說道“微軟不再發行VFP的下一個版本了”。
真的是那樣嗎?
事實恰恰相反。
關於微軟不再發行VFP的謠言並非是今日才出現的。早在VFP5的時候,就已經出現了不會再有下一個VFP版本的謠言,然後,VFP6發行了。
現在又有了VFP6不會再有下一個版本的謠言。
這種謠言廣泛的傳播於非VFP程序員中,並且深信不疑。
可是,讓他們失望的是,今年10月,在VB7 Demo發行前兩天,VFP7 Demo先發行了。
來自VFP DEVCOM 2000的消息指出,VFP7正式版將在明年春季發行,目前主要的工作是使VFP7適合於 Microsoft .Net 框架。
所謂的VFP6不再有下一版的謠言,大概又會變成VFP7不再有下一個版本了吧?
為什麼會有這種謠言而且流傳的這麼廣呢?
不妨讓我們先來看一下VFP中的“天字第一號”問題:
“為什麼我的程序編譯完成以後,運行時卻一閃而過?”
這個問題已經被提出了N千次了!幾乎每個初學者都要在網上問一遍這個問題,老鳥們回答這個問題都答厭了。其實這個問題並不難,只要讀過任何一本教科書,都會告訴你:要做一個主程序,在其中建立Read Events...Clear Events的事件循環。解決問題很簡單,但為什麼幾乎所有人都視而不見呢?
我想這就是問題的關鍵:
絕大多數人,他們喜歡的是一個不用學習、看書,拿起來就可以用的語言;他們需要的,只是一個“可視化”(Visual)的較好的、不用寫代碼或只要寫很少代碼的開發工具,如VB、PB。
大多數人使用一個新的開發工具的時候,跟使用一個工具軟件差不多:拿起來先用,碰到難題時才去看書、看幫助,當然,最好不用看書、看幫助,現在不是有Internet了嘛,干脆,上網去問別人。
這樣,他們評價一個語言的好壞的標准,就主要的集中於這個語言的可視化水平的高低,也就是說——只用圖形界面、不用代碼編程的水平的高低。如果C/C++是一門今天才出現的新語言,那麼肯定也會被打入“已經過時了”的冷宮....
一個廣泛的誤解是:許多人甚至認為可視化的程度越高,這個語言的面對對象程度就越高。很少有人搞清楚:到底VB和VFP哪個才是面對對象的編程語言。
所謂的面對對象編程,主要是指語言的四個特征:抽象、封裝、繼承和多態性。具體的講,要判斷一門語言是否視面對對象的,只要看看它是否能夠建立自己的類、能否派生子類、建立自定義屬性、方法就可以知道了。
過去,我們宣傳一個面對對象編程語言的好處是:使用圖形界面的向導、生成器,可以不用代碼、或只用很少的代碼就可以快速開發應用程序;提供了大量的控件,可以使用戶直接在自己的程序中使用它而不用去管它的內部細節。
這些優點並沒錯,但它們只是面對對象編程思想的外在表現,而前面的四個特征才是面對對象編程的本質。打個比方:如果我們把這些優點比作金子,那麼這四個特征就是點金術。
這些點金術VB中都沒有。而VFP幾乎從它誕生起就實現了。其實,在這方面,一直是VB在慢慢的向VFP靠攏。這就是為什麼VFP用戶總是在驚訝:人人都說VB好,可為什麼許多讓VB用戶們大聲贊譽的VB5、VB6的“新特性”聽起來好像都是VFP3裡就有的東東?
據說,VB7才會真正支持面對對象。有些人開始擔心,一旦VB開始實現面對對象了,VB的用戶將會大大減少....
這是一個重要的原因:大多數用戶,他們只需要別人提供給他們現成的ActiveX控件,很少或者根本不願意去自己建立一個控件。他們只想用現成的ActiveX控件來拼裝自己的程序,而不想用面對對象編程原理、編程思想來設計自己的控件。雖說人人都知道,點金術比金子好,可大多數人總是怕點金術掌握起來太麻煩,寧願用別人點出來的金子....
遺憾的是:對於VFP來說,面對對象編程原理是至關重要的。