Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 久久亚洲高清观看,91成人免费观看在线观看,国产特黄特色a级在线视频

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          「原創」用Htmlhelp Workshop制作Windows 幫助文件


          (本?文?作?于?2013年?并?發?表?在?其?它?平臺,因?時?間太久?個?別?配?圖?已?不?能加?載?)對于經常開發應用軟件的人來說,都希望創建一個幫助系統,幫助使用者了解自己軟件的功能與應用方法。如何創建自己軟件的幫助系統呢?本文就這方面的問題談談自己的應用方法,也希望通過自己的實際應用經驗能對朋友們有所幫助。

          Windows 98及以上版本的幫助文件與Windows 95的有比較大的改變,它使用一種基于HTML文件特征的幫助文件,用Internet Explorer顯示幫助內容,支持HTML、ActiveX、Java、腳本(Java腳本和VB腳本)以及HTML圖像格式(.JPEG、GIF、PNG),它的圖標也變了,后綴名為chm,Windows 98稱之為Compiled HTML Help File。為了敘述方便,下面就稱之為chm文件。典型的Windows 98規范的幫助文件(.chm文件)的窗口和Windows 98資源管理器差不多,左側是目錄、索引和搜索這三個功能項,通過選項卡切換;右側是HTML文件的顯示部分,改變了原來幫助文件目錄窗口和主題窗口分離的情況。由于HTML文件具有多媒體表現力,因此chm文件的內容不再局限于文字和靜態圖像,在其中可以插入GIF動畫,也可以利用瀏覽器的插件在文檔中播放聲音文件、動畫影片、或其它格式的多媒體內容。加入URL地址可與因特網聯系在一起,這樣chm文件就不局限于包裝好的內容了,它是微軟公司的下一代聯機幫助系統。同時,chm文件的核心是充分利用HTML文件的表現能力,對分散的HTML文件作整體的包裝,這也是目前在Web網頁以外利用HTML文件的一個趨勢。如果你用這個方式制作學習教程、電子圖書和雜志,或為用戶提供產品目錄和宣傳材料,比已經流行的PDF文件更簡潔和方便。

            chm文件從結構上來看可分為兩個部分:運行器和文檔內容。運行器是操作系統的一部分,而文檔內容隨其所附的應用程序而變化。這與以前的Winhelp的結構沒有多少差別。不過運行器部分有了較大的改進,運行器很小巧并且不直接運行HTML文件,而是操作一個ActiveX 的組件,控制支持ActiveX 組件的網頁瀏覽器,如微軟的Explorer 3.0以上版本的瀏覽器。它的一個好處是能跨平臺運行,只要有不同平臺上的運行器和瀏覽器,chm文件不再需要重新編制。  制作chm文件的工具是微軟公司的Htmlhelp Workshop工具包,目前,最新的HTML Help Workshop版本是4.74。這是中文版的,安裝Htmlhelp Workshop很方便,只要按照提示進行即可。它的使用也很方便,沒有編程和寫語言的要求,只要你會制作HTML文件就行了。

            制作chm文件很方便,也很簡單。大量的工作是以編寫HTML文件為主,它的每個主題就是一個HTML文件,這些主題應該事先編輯好,并用Internet Explorer檢查確認無誤。主題文件可以用任何一個HTML編輯器編輯,也可用Htmlhelp Workshop編輯。如果不熟悉HTML文件的編輯,還可用Word,因為Word 97以上版本可以把Word文檔(.doc文件)另存為HTML文件,還可以將Word文檔批量轉換成HTML文件。這樣就可以完全按照編輯Word文檔的習慣編輯成Word文檔,再轉換成HTML文件。

            運行Htmlhelp Workshop時,它的工作窗口很簡單,菜單欄上有五個命令,分別是“文件”、“視圖”、“測試”、“工具”、“幫助”。下面的工具欄有五個按鈕,分別是“新建”、“打開”、“編譯HTML文件”、“校驗編譯文件”、“聯機幫助”。下面介紹具體步驟:

          一、創建幫助文本

          創建幫助文本是創建幫助系統的第一步。所謂幫助文本,就是針對自己開發的應用軟件的功能、使用方法的介紹和說明。這里,以我開發的《通信工程(概)預算系統》為例,談談其幫助系統的創建過程。用WORD2000創建《通信工程(概)預算系統幫助》文本。

          通信工程(概)預算系統主界面

          通信工程(概)預算系統幫助文本

          二、創建分頁網頁文件

          根據幫助系統框架結構,將每一段需要分頁顯示的幫助文本用WORD2000轉換成網頁文件。下圖是通信工程(概)預算系統幫助需要的分頁網頁文件。

          分頁網頁文件  

          三、創建項目文件 

           啟動Htmlhelp Workshop系統,打開主界面。







          新建一個方案

          單擊Htmlhelp Workshop菜單或工具欄中的“新建”命令,這時出現“選擇新建內容”的對話框。這里有五個選項:“方案”、“文本”、“HTML文件”、“目錄”、“索引”。選擇“方案”,接著出現“方案”向導,告訴你這個向導可以轉換的文件格式,一般情況下我們是要創建方案(.hhp)文件,不需要轉換。直接進入“下一步”指定放置的目錄和輸入文件名就可以了,單擊“下一步”,進入了“現有文件”對話框,如果你想將已經存在的文件包含進“方案”里,在下面列表中選擇。這里一般空著,這些文件(包括已經編輯好的主題文件)以后可以添加。進入“下一步”后再“確定”就進入了Htmlhelp Workshop工作窗口。在窗口的上方是3個選項卡,分別是“方案”、“目錄”、“索引”。在“方案”窗口的左側是7個按鈕,它們的功能名稱自上而下分別是:“改變項目選項”、“添加/刪除主題文件”、“添加/修改窗口定義”、“HHTML幫助API信息”、“校驗HTML源文件”、“保存項目、目錄和索引文件”、“保存全部文件并編譯”。

            單擊“改變項目選項”按鈕,出現“選項”對話框,光標在“常規”選項卡的“標題”文本框內閃爍,在這里加入標題,編譯后這個標題將出現在chm文件窗口的標題欄中。其它的內容暫時用系統的默認值。然后單擊“添加/刪除主題文件”按鈕,再選擇“添加”按鈕,把作為封面頁的HTML文件添上。封面頁的文件一定要有,否則編譯的幫助文件運行后,系統會報錯。好了,簡單的“方案”編輯就完成了。  

          四、創建目錄文件 

           單擊“目錄”選項卡,這時系統彈出一個對話框,提示你“方案”還沒有關聯目錄文件(.hhc),你可以創建一個新的目錄文件,或者指定一個現有的。這里選擇“創建一個新目錄文件”,進入下一步請你選定一個新目錄文件的名稱和存放路徑,指定后出現目錄編輯窗口。在目錄窗口的左側有11個按鈕,前5個分別是:“目錄工具”、“插入標題”、“插入頁面”、“編輯選擇”、“刪除選擇”,中間4個箭頭用來調整指定標題或頁面的位置,最后兩個已在項目編輯窗口中出現過。根據需要插入標題或頁面目錄,按下“插入標題”或“插入頁面”按鈕,都會彈出“目錄條目”對話框,在“條目標題”文本框中輸入條目的標題,并根據情況選定對應的主題(HTML文件),單擊“條目標題”下的“添加”按鈕,在彈出的對話框的下面“文件或URL地址”文本框中輸入文件名或URL地址并確定;單擊“高級”選項卡,在“圖像索引”欄中為條目指定圖標,比如包含其它條目的條目可以用書形圖標,而頁面條目的可以用問號圖標。如果在單擊“插入頁面”按鈕之前所選擇的條目不包含別的條目,也不被別的條目所包含,那么會詢問“是否要創建一個起始條目”,選擇了“是”會增加起始條目(一級條目),選擇了“否”會增加一個子條目。標題可以不添加主題文件或URL地址,也可放置需要的主題文件,作為標題的說明內容。標題可以分為多級,要按照制作的內容統一考慮。如果覺得不滿意,可以用左側的箭頭進行調整,也可以選定該條目,單擊鼠標右鍵,不但可以調整,還可以插入標題、主題或目錄文件。編輯目錄文件是制作chm文件最關鍵的工作,目錄文件應該包含一個chm文件所有目錄(主題),而每個目錄又包含條目標題(名稱)和該條目的主題文件,要避免條目標題與對應的主題不一致的情況出現。等所有目錄都添加好后目錄就算完成了。

          創建目錄

          已生成的幫助文件 

           完成目錄編制后,一個chm文件已具備了雛形,索引的內容暫時空著。保存項目文件和目錄文件后就可以編譯,編譯就是把所有用到的HTML文件統統壓縮后包裝在一起,形成一個后綴名是.chm的文件。在主工具欄按鈕中可以找到編譯按鈕和試運行按鈕,也可直接按項目窗口左下方的“保存全部文件并編譯”按鈕進行編譯。編譯后再運行就可以看到作品的面貌了。目錄的內容在編譯后顯示在chm文件窗口的左側,可以展開標題后顯示以下的目錄,單擊目錄可以打開相應的主題文件,顯示相應的內容。如果發現問題,還可以進行修改調整。

            五、創建索引文件 

           在Htmlhelp Workshop的工作窗口上單擊“索引”選項卡,和創建目錄文件一樣,也會彈出一個對話框,操作也是一樣的。進入索引編輯窗口,左側也有11個按鈕,有8個是已經熟悉的,還有3個分別是:“索引工具”、“插入關鍵字”、“排序關鍵字”。所謂關鍵字是用戶可能用到的并與一個或多個幫助主題文件關聯在一起的字、詞或短語,索引文件(.hhk)也是一個HTML文件,它包含若干個關鍵字,當用戶打開chm文件后,單擊索引標簽并輸入一個關鍵字后,chm文件將顯示與這個關鍵字有關的主題的列表,非常方便地找到相關主題。單擊“插入關鍵字”按鈕,出現一個“索引項”對話框,在“常規”選項卡的“關鍵字”文本框中輸入關鍵字,單擊“添加”按鈕指定與該關鍵字相關聯的主題文件。如果想跳轉到另一個關鍵字,在“索引項”對話框中按“高級”選項卡,選中下面的“目的地是另一個關鍵字”,單擊“常規”選項卡,單擊“添加”按鈕,在“文件或URL地址”框中輸入要跳轉的關鍵字,單擊“確定”。

          創建索引

          六、創建搜索 

           chm文件的“搜索”選項卡允許用戶在所有主題文件中搜索字、詞或短語,將它們的標題顯示出來,而且在主題中用醒目的方式來顯示。打開一個方案文件,單擊“方案”選項卡的“改變方案選項”,在“選項”對話框的“編譯”選項卡中選中“編譯全文搜索信息”即可。  上述介紹的是編制HTML幫助文件的基本步驟,上手很容易。但它的功能遠非這些,如在窗口定義中可以設計你所喜愛的形式,幾乎所有的窗口要素都可以改變。向HTML文件中插入快捷方式、相關主題、關鍵字鏈接、聯想鏈接、HTML Help ActiveX控件、Java腳本、彈出式窗口等等,詳細的內容請參考Htmlhelp Workshop的幫助文件,或微軟的相應網頁。相信你試過以后一定會喜歡它。

          azor 同時支持 C# (C sharp) 和 VB (Visual Basic)。


          主要的 Razor C# 語法規則

          • Razor 代碼塊包含在 @{ ... } 中

          • 內聯表達式(變量和函數)以 @ 開頭

          • 代碼語句用分號結束

          • 變量使用 var 關鍵字聲明

          • 字符串用引號括起來

          • C# 代碼區分大小寫

          • C# 文件的擴展名是 .cshtml

          C# 實例

          <!-- Single statement block -->

          @{ var myMessage ="Hello World"; }

          <!-- Inline expression or variable -->

          <p>The value of myMessage is: @myMessage</p>

          <!--Multi-statement block -->

          @{

          var greeting = "Welcome to our site!";

          var weekDay = DateTime.Now.DayOfWeek;

          var greetingMessage = greeting + " Here in Huston it is: " + weekDay;

          }

          <p>The greeting is: @greetingMessage</p>

          運行實例 ?


          主要的 Razor VB 語法規則

          • Razor 代碼塊包含在 @Code ... End Code 中

          • 內聯表達式(變量和函數)以 @ 開頭

          • 變量使用 Dim 關鍵字聲明

          • 字符串用引號括起來

          • VB 代碼不區分大小寫

          • VB 文件的擴展名是 .vbhtml

          實例

          <!-- Single statement block -->

          @Code dim myMessage = "Hello World" End Code

          <!-- Inline expression or variable -->

          <p>The value of myMessage is: @myMessage</p>

          <!-- Multi-statement block -->

          @Code

          dim greeting = "Welcome to our site!"

          dim weekDay = DateTime.Now.DayOfWeek

          dim greetingMessage = greeting & " Here in Huston it is: " & weekDay

          End Code

          <p>The greeting is: @greetingMessage</p>

          運行實例 ?


          它是如何工作的?

          Razor 是一種將服務器代碼嵌入在網頁中的簡單的編程語法。

          Razor 語法是基于 ASP.NET 框架,專門用于創建 Web 應用程序的部分 Microsoft.NET 框架。

          Razor 語法支持所有 ASP.NET 的功能,但是使用的是一種簡化語法,對初學者而言更容易學習,對專家而言更有效率的。

          Razor 網頁可以被描述成帶以下兩種類型內容的 HTML 網頁: HTML 內容和 Razor 代碼。

          當服務器讀取頁面時,它首先運行 Razor 代碼,然后再發送 HTML 頁面到瀏覽器。在服務器上執行的代碼能夠執行一些在瀏覽器上不能完成的任務,比如,訪問服務器數據庫。服務器代碼能創建動態的 HTML 內容,然后發送到瀏覽器。從瀏覽器上看,服務器代碼生成的 HTML 與靜態的 HTML 內容沒有什么不同。

          帶 Razor 語法的 ASP.NET 網頁有特殊的文件擴展名 cshtml(Razor C#)或者 vbhtml(Razor VB)。


          使用對象

          服務器編碼往往涉及到對象。

          "Date" 對象是一個典型的內置的 ASP.NET 對象,但對象也可以是自定義的,一個網頁,一個文本框,一個文件,一個數據庫記錄,等等。

          對象有用于執行的方法。一個數據庫記錄可能有一個 "Save" 方法,一個圖像對象可能有一個 "Rotate" 方法,一個電子郵件對象可能有一個 "Send" 方法,等等。

          對象也有用于描述各自特點的屬性。一個數據庫記錄可能有 FirstName 和 LastName 屬性。

          ASP.NET Date 對象有一個 Now 屬性(寫成 Date.Now),Now 屬性有一個 Day 屬性(寫成 Date.Now.Day)。下面實例演示了如何訪問 Data 對象的一些屬性:

          實例

          <table border="1">

          <tr>

          <th width="100px">Name</th>

          <td width="100px">Value</td>

          </tr>

          <tr>

          <td>Day</td><td>@DateTime.Now.Day</td>

          </tr>

          <tr>

          <td>Hour</td><td>@DateTime.Now.Hour</td>

          </tr>

          <tr>

          <td>Minute</td><td>@DateTime.Now.Minute</td>

          </tr>

          <tr>

          <td>Second</td><td>@DateTime.Now.Second</td>

          </tr>

          </td>

          </table>

          運行實例 ?


          If 和 Else條件

          動態網頁的一個重要特點是,您可以根據條件決定做什么。

          做到這一點的常用方法是使用 if ... else 語句:

          實例

          @{

          var txt = "";

          if(DateTime.Now.Hour > 12)

          {txt = "Good Evening";}

          else

          {txt = "Good Morning";}

          }

          <html>

          <body>

          <p>The message is @txt</p>

          </body>

          </html>

          是一篇暴露年齡的文章。為什么這么說?因為現在年輕的程序員可能沒有接觸過當年紅極一時的 Visual Basic。28 年前的 1991 年 4 月,Microsoft 發布了 Visual Basic 1.0 for Windows,次年 9 月,發布了 Visual Basic 1.0 for DOS。

          這在當時引起了很大的轟動,許多專家把 VB 的出現當做是軟件開發史上的一個具有劃時代意義的事件。以現在的眼光來看,VB1.0 版的功能其實非常弱,但它在推出時可是第一個 “可視” 的編程軟件。

          這使得程序員欣喜之極,都嘗試在 VB 的平臺上進行軟件創作。到了 1998 年夏天,Microsoft 發布了 VB 6,這是 VB.NET 至今仍然無法完全取代的版本。但隨著.NET 的興起,VB 開始走上下坡路。它是如何興起的,又是如何衰落的?讓我們跟著 Matthew MacDonald 的腳步笑看 VB 的風起云落吧!

          作者介紹:Matthew MacDonald,技術作家、教師、程序員。著有幾十本圖書,現在教育孩子學習編程和科學。

          28 年過去了,我們終于要目睹世界上最流行的語言之一,Visual Basic ,開始衰落了嗎?

          我要坦白一件事,在我成為一名受人尊敬的開發者,使用像 C# 和 Java(以及我們稱之為 JavaScript 的熱門平臺)這樣的現代大括號編程語言之前,我曾經是廣受歡迎,又有些不合時宜的 Visual Basic 的忠實粉絲。

          坦白說,我對 Visual Basic 的迷戀是這樣開始的:當我還是個十幾歲的孩童時,我就學會了使用 BASIC 語言編程,但不僅僅是任何 BASIC 語言。我是從 Microsoft 那個古董級的 DOS 操作系統上開創性的 QuickBASIC 環境開始的。至今我仍然記得在藍色背景下用白色文本來編寫代碼的場景。


          對于 1998 年的編程來說,QuickBASIC 是不可思議的編程語言。你可以編寫不帶笨拙行號的代碼,在鍵入代碼時能夠實時捕獲語法錯誤,并直接從開發環境中啟動程序,而不需要用命令行的方式來啟動。當你完成代碼編寫后,你還可以用這些軟盤來跟你的朋友分享你的程序:


          如今,QuickBASIC 只是對遙遠過去的另一種好奇心。真的是這樣嗎?一個叫做 QB64 的創新項目創造了現代的 QuickBASIC 復刻版。它無需模擬器就可以運行在 Windows、MacOS 和 Linux 上。當你用 QB64 運行一個程序時,它會運用一個很巧妙的手法:首先將你的 BASIC 代碼翻譯成 C++,然后再進行編譯。

          經典 VB 和可視化時代

          對于古老的,基于文本的計算機系統來說,QuickBASIC 是一項令人印象深刻的壯舉。但當 Microsoft 發布 Windows,將 PC 用戶帶到了一個由按鍵和點擊組成的圖形世界時,游戲規則發生了變化。在 Microsoft 發布第一個真正成功的 Windows 3.0 的同時,他們也發布了 Visual Basic 1.0。

          這是個全新的事物。你可以通過在窗口的表面上繪制按鈕來為程序創建按鈕,就像它是某種藝術畫布一樣。要讓按鈕執行某些操作,你所要做的事就是在設計環境中,雙擊這個按鈕并編寫一段代碼即可。

          而且,你沒有使用神秘的 C++ 代碼,也沒有使用成堆的類、復雜的內存管理以及對 Windows API 的晦澀的調用。相反,你就像一個文明人一樣編寫了友好的 VB 代碼。


          所有圖形化的魅力讓人印象深刻,但 VB 成功的真正秘訣在于它的實用性。開發人員根本就沒有其他工具可以像 VB 那樣繪制出一個完整的用戶界面并快速編寫代碼。盡管歷史學家喜歡談論 Visual Basic 的可視化部分,但它的“招牌”能力卻與圖形化的小部件無關。

          相反,VB 是因一個傳奇性的特性而出名,這個特性叫做“編輯并繼續”(edit-and-continue),允許開發人員運行他們的程序,發現并解決問題,然后繼續使用新的代碼。這與人們已知的幾乎所有其他編程環境截然不同,這些環境迫使開發人員重新編譯他們的工作,并在每次更改之后重新開始。

          最初的 Visual Basic 蓬勃發展了大約十年。一開始是一個對初學者友好的開發環境,后來發展成了一個足以讓嚴肅的程序員使用的工具。通過 VB 6 的發布,這是經典 Visual Basic 的最后一個版本,據估計,用 VB 編寫的代碼量是很難用的 C++ 編寫的代碼量的十倍。而且,它們并不僅僅是在模仿玩具應用程序。

          Visual Basic 通過 ASP(Active Server Pages,動態服務器網頁)進入了公司的辦公室,甚至連到網絡,這是另一種非常流行的技術。現在,你可以創建于 VB 組件交互的 Web 頁面,稱為數據庫,并動態編寫 HTML。所有這些幾乎都是在沒有結構的情況下發生的,除非你自己選擇創建一個結構。這是 Visual Basic 的一個不成文主題,它給了你現在的自由,以后你會后悔的。

          經典 VB 的問題

          經典 VB 在很多圈子里聲名狼藉。面向對象的狂熱分子經常抱怨 VB 缺乏對繼承的支持。(其實這是一個奇怪的批評,因為對于不太熟練的開發者來說,繼承常常是搬起石頭砸自己的腳的好方法,而這正是 VB 不需要的那種功能。)事實上,經典的 VB 并非面向對象的“懶漢”。在它的生命周期結束時,它已經支持接口、多態性和類庫,而所有這些都是從 COM 借鑒來的,COM 是組件技術的核心部分,它硬鏈接到 Windows 的每個版本中。

          經典 VB 的真正問題在于它太過成功。它極為有效地降低了新程序員的學習障礙,使得幾乎任何人都可以使用 VB 進行編程。粗心大意的新手、無聊的公司員工和暑期學生都紛紛涌進來,解決了在任何其他平臺上更為困難的挑戰,到處都是意大利面條式的代碼。

          換句話說,因為 VB 很容易使用,即使你不是一名訓練有素的程序員,VB 也很容易使用,所以很多沒有受過專業訓練的程序員都在使用 VB。而 VB 卻從來沒有采取任何措施來鼓勵他們糾正自己的壞習慣。

          VB.Fred 與 .NET 解決方案

          快進到 2002 年,Microsoft 正在做它最擅長的事情,通過引入一種全新的做事方式,顛覆了自己的開發生態系統。

          這一次,這個項目是對 COM 的大規模重構,而組件技術是支撐 Windows (以及間接的經典 VB)的基礎。對于一家已經下過幾次這樣的賭注的軟件巨頭來說,這是一個孤注一擲的時刻。


          Microsoft 之所以將這次重新啟動命名為 .NET,是因為一些可疑的原因,包括互聯網技術仍然是嶄新的、令人興奮的事實,以及因為 .NET 包含了 Microsoft 一心要推廣的 Web 服務功能。它深受 Java 的影響,并且包含了許多工具,用于與數據庫通信、構建網站、編寫多線程程序、通過套接字建立連接的工具,這些幾乎是所有業務開發人員能想象到的用例。

          唯一的問題是,為了獲得這些新特性,Microsoft 不得不放棄幾乎所有的經典 VB。


          如果你仔細看的話,就會發覺,新版本 VB.NET 看起來還是個老樣子。但它還是有許多大大小小的突破性變化。從大的方面來說,舊的 VB 程序將受困于老舊的編程世界中,而一個極其糟糕的遷移向導幾乎沒有改變這一點。從小的方面來說,經典 VB 的程序員必須改變他們計算數組元素的方式。他們再也不能像普通人那樣從 1 開始了。現在他們必須從 0 開始,就像正式的程序員一樣。

          還有一個大的方面:開發人員是眾所周知的抱怨者,而 VB 開發人員尤甚。不久,一群有影響力的 VB 開發人員將 Microsoft 的新編程環境命名為 VB.Fred,并強調無論它是什么,這種新語言都不是 Visual Basic。

          是什么宣判了 Visual Basic 的命運

          你可能會認為,是 .NET 的變化毀壞了 VB 的基礎,并讓 VB 不可避免地走向衰落。但事實并非如此。事實上,盡管 VB.NET 朝著一個新的方向發展,并作出了一些突破性的改變,這些改變使優秀的經典 VB 代碼成為無人能識的代碼,但它卻變得非常受歡迎。那是因為 VB.NET 提供了 VB 開發人員以前從未有過的東西:尊重。

          在 .NET 世界中,VB 和 C# 處于平等的地位。每一行 VB 代碼都可以轉換成等效的 C# 代碼行,反之亦然。兩種語言都具有相同的功能,使用相同的組件,并編譯為完全相同的形式,我們稱其為中間語言(intermediate language)。VB 終于擺脫了“丑小鴨綜合癥”。

          但是,作為另一種受人尊敬的編程語言,它也存在一個問題。人們對 VB 的熱情消失了,不再是許多人的首選語言了。這不是因為 VB 變了,而是因為 C# 變了。

          正如 VB 獲得了與 C# 相同的功能一樣,C# 也獲得了與 Visual Basic 相同的便利。例如,.NET 的類型安全和內存管理功能意味著 C# 開發人員永遠無須擔心內存泄漏問題,就像 VB 開發人員一樣。

          換句話說,C# 現在有了保護業余愛好者、學生和新程序員的“護欄”,而又不放棄它的力量。突然之間,VB 不再是什么特別的東西了,它只不過是一個有能力的程序員工具包中的另一個工具罷了。


          Visual Basic 當前的現狀

          今天,Visual Basic 正處于一個奇怪的位置。在專業開發人員中,幾乎沒有人使用 Visual Basic,它甚至都沒有出現在專業開發人員調查中的清單,也沒有出現在 GitHub 存儲庫中。

          然而,Visual Basic 仍然在那兒,將 Office 的宏連接在一起,為舊的 Access 數據庫和古老的 ASP 網頁提供支持,并吸引 .NET 新手。TIOBE 索引 試圖通過查看搜索引擎的結果來衡量語言的流行程度,它仍然將 VB 排在最受關注的五大編程語言之列。

          但這種勢頭似乎已經發生了最后一次變化。2017 年,Microsoft 宣布,它將開始為 C# 添加新的語言功能,而這些功能可能永遠不會出現在 Visual Basic 中。這一變化并沒有使 VB 回到丑小鴨狀態,但它確實消除了 VB 的一些 .NET 狀態。

          事實上,將 VB 邊緣化的趨勢已經存在多年了。嚴肅的開發人員都知道,.NET 的關鍵部分是用 C# 編寫的。他們知道 C# 是演示文稿、書籍、課程和開發者研討會的首選語言。如果你想使用 VB,它并不會影響你構建的應用程序,但它可能會妨礙你和其他開發人員交流的能力。


          Visual Basic 本應在教育市場有一個天然的契合點。但即便如此,它仍然是個“敗家子”,像 C# 和 Python 這樣的現代語言現在已經足夠簡單、安全,完全可以作為他們的第一門語言來學習。

          如果你需要教給小孩更簡單的東西,市場上充斥著像 Scratch 等圖形化編程工具。像 C#、C、JavaScript 這樣的大括號編程語言也有另一種吸引力,因為它們都有自己的語法。因此,學過一種編程語言的人很快就能熟練掌握另一種語言。

          隨著 Web 開發的發展,Microsoft 正眼睜睜地看著機會流失。誰不會被和 VB6 一樣容易使用,還可以編譯成 JavaScript,并與 HTML 表單設計器配對的 VB 版本所吸引呢?

          是的,它并不是構建下一個 Google Maps 的適合工具,但它可以重新喚起 Visual Basic 的吸引力,讓商業開發人員、學生和愛好者創建簡單的在線應用程序,而不必像 JavaScript 那樣笨拙。相反,Microsoft 創造了一個基于 VB 的產品,叫做 LightSwitch,但它隨著 Silverlight 瀏覽器插件的消失而消失。

          如果 Microsoft 開發出另一款面向大眾的編碼產品,它更有可能是一種低代碼模板驅動的工具,比如 PowerApps。

          Visual Basic 以前也不是沒受到過威脅,但這一次感覺不一樣了。作為世界上曾經最流行的編程語言之一的太陽,似乎終于要落下了。即使這是真的,Visual Basic 在幾十年內也不會消失。相反,它將會成為另一種遺留產品,一個被忽視的工具,沒有激情,也沒有未來。不管我們失去了什么特別的東西,或者,最終讓一條老狗擺脫痛苦,這一切,都由你來決定。

          原文鏈接:The Rise and Fall of Visual Basic

          拓展閱讀

          《構建大型 React 應用程序的最佳實踐》

          查看文章,歡迎點擊了解更多


          主站蜘蛛池模板: www一区二区www免费| 亚洲日本一区二区一本一道 | 国产自产V一区二区三区C | 日本不卡一区二区视频a| 国产成人精品一区二区三区免费| 男人的天堂av亚洲一区2区| 久久亚洲日韩精品一区二区三区| 精品免费AV一区二区三区| 无码国产精品久久一区免费| 无码视频一区二区三区在线观看 | 日韩精品一区在线| 精品无码一区二区三区爱欲九九| 亚洲人成网站18禁止一区| 成人毛片无码一区二区| 日韩一区二区三区射精| 无码少妇丰满熟妇一区二区| 波多野结衣一区二区| 国产免费播放一区二区| 日韩在线视频一区| 波多野结衣在线观看一区| 日本在线视频一区二区三区| 韩国精品福利一区二区三区| 国产成人一区二区动漫精品| 日本免费一区尤物| 亚洲国产成人久久综合一区77| 日韩精品一区二区三区影院| 国产成人久久精品麻豆一区| 中文字幕一区在线播放| www一区二区三区| 国产女人乱人伦精品一区二区 | 国产成人一区二区三区视频免费| 一区二区三区免费视频播放器 | 日本精品一区二区久久久| 日本韩国一区二区三区| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 综合久久久久久中文字幕亚洲国产国产综合一区首 | 免费一区二区三区在线视频| 中文字幕无码不卡一区二区三区| 消息称老熟妇乱视频一区二区| 无码一区二区三区免费| 久久国产精品免费一区二区三区 |