VB到底支不支持指針?
一、誰說VB過時了?
1、不更新VB6,不代表不更新VBA,也不代表不更新VBS,更不代表VB就過時。
2、不更新,不代表不支持。微軟說了不準VB6在Win上運行了么?Win10上面躺起的VBA和VBS算什么?VB6不一樣跑的歡!VB的虛擬機仍然是系統(tǒng)級支持,因為VB6早就是VBA了。難道微軟也不支持Office這顆搖錢樹了?
3、不更新,不代表沒有未來。VB一直都是微軟戰(zhàn)略級武器,從創(chuàng)業(yè)到稱霸,哪次缺了VB?《VB前傳,從教學到游戲,再到系統(tǒng),似乎每步都是精心設計 》了解下。VB緊隨微軟戰(zhàn)略升級,人家1995年VB4.0走向VBA,就做好了退居幕后的打算。到2008年才宣布不再更新VB6,請細品!VB能做到沉默的大多數(shù),除了絕大部分用戶為非職業(yè)開發(fā)人員的因素外,也恰恰說明VB在非職業(yè)開發(fā)領域,是經(jīng)得住時間考驗的。這和Office的戰(zhàn)略定位,是一致的,是匹配的。如果說VB是玩具、不夠?qū)I(yè)、沒有前途的,其實是在說Office是玩具、不夠?qū)I(yè)、沒有前途。VB在Office這塊,不是不進化,而是確實沒有什么好進化的了。
4、VBA也要被淘汰?開什么玩笑。VBA是IDE,那是人機交互,微軟迭代了幾十年的東西,是微軟的信仰。你說換掉就換掉?縱觀C/C++、C#、Python等,不封裝成二進制,你想源碼級動態(tài)交互式調(diào)試Office?VB6再差,不僅可封裝VBA,其IDE還可以源碼級動態(tài)交互式調(diào)試Office。
5、到今天,VB6是不再更新了,仿佛停留在了32位機時代,曾經(jīng)很多靠VB6吃飯的人,如今單憑VB6很難再找到工作。但這對于一項可實施的技術而言,并不妨礙它繼續(xù)工作。所以傳言的落敗,不是指技術,而是指就業(yè)機會的凋零。就VB而言,只要不用于糊口的工作,他們?nèi)匀皇亲烂鎽瞄_發(fā)的一把好手。
二、VB不是多用于教學,而是其本身就起源于教育早在1962年的DOPE時,該語言就明確針對教學,到后來的BASIC,更是有學生參與開發(fā)。噴高等院校VB計算機課的,顯然是不懂教育的,更不懂VB的簡單易用。歷史上,VB曾受專業(yè)人士親睞,只是一門語言發(fā)展過程中必然的意外而已。試想,哪個開發(fā)組,不希望自己的產(chǎn)品能夠位列主流?哪個項目,在實施過程中沒有慣性?除了開發(fā)組的私心,更有微軟戰(zhàn)略上維護生態(tài)的使命。
試想,微軟要是在VB4.0就卡斷,是不是在給競爭對手送分?所以在VB5.0,尤其在6.0(那時,早就啟動.NET項目了),進行了大量的完善工作。讓VB簡單易用的同時,也具有C那樣強大的能力。不僅與VC6共用一套編譯鏈接體系,VB里也處處都有C的影子。對數(shù)據(jù)庫、對網(wǎng)絡的支持自是不必說。最重要的,VB6在98年就能兼顧ANSI和Unicode內(nèi)核。吐槽VB A/U自動轉(zhuǎn)換的人,應該感謝這種前瞻性,否則NT2000時,VB就死了。
VB在人類計算機歷史上,尤其是在計算機普及上,是功不可沒的。正是VB,才有今天的計算機教育的廣度和深度。計算機=BASIC=Windows,然后才是Linux和其他。從VB這兒畢業(yè)的,好多都是業(yè)界爺爺輩的。現(xiàn)如今,卻有很多孫子們,嘲弄”老掉牙“來彰顯自己的活力,不知歷史會如何評判。就像今天很多人吐槽譚浩強的《C程序設計》,我只想說,你爽嘴的時候,看到年齡了嗎?
如今,VB退居Office背后,只不過回歸了其本來的屬性,她本就屬于廣大人民群眾。從入門學習而言,VB仍然是很好的選擇。入門非常容易,不僅有利于激發(fā)編程興趣,而且容易培養(yǎng)探索精神。其簡單背后的復雜絕不亞于C,要是靜心深入學習,她只會帶你走向更深的C和匯編。
三、指針并不稀奇,系統(tǒng)里處處都是指針哪一門開發(fā)語言沒有指針呢?有些可直接用(如C/C++),有些不能直接用(如VB),更有甚者不讓你用(如JAVA)。指針無非拿來操作虛擬內(nèi)存,操作虛擬內(nèi)存的途徑可多了。只不過明確指針的概念,有助于提高編碼的技巧性,當然也可提示代碼性能。
VB6是支持指針的,只不過為了安全起見,藏起來了。如果深入了解VB,就可以使用指針,不僅高效,還會很安全。這也足以證明,VB的伸縮性和包容性。
1、VarPtr(StrPtr,ObjPtr,VarPtrArray)變量指針
2、GetMem4/PutMem4/Copymemory指針操作
3、ByRef傳遞指針
4、Variant的智能指針
5、Object的COM指針
6、AddressOf的函數(shù)指針
...
閱讀《變量,還有這些秘密 》了解變量的本質(zhì),為VB深入學習指針打個基礎。
閱讀《VB的任性,從Variant開始 》,了解C/C++中的智能指針在VB中安排。揭開VB變量里的秘密,讓指針開始顯形,為更深入探討VB指針提供指引。
閱讀《VB的天地,橫看成嶺側成峰 》,了解VB數(shù)值類型常有的誤區(qū),以及正確的打開姿勢。拋出8字節(jié)整數(shù)以及字符串、對象和數(shù)組等相關問題,有助于VB指針的實戰(zhàn)化。
點頭像加關注,更多VB指針技術,等你來看。