labview——Laboratory Virtual Instrument Engineering Workbench(實驗室虛擬儀器集成環境)應該包含兩種含義:其一,LabVIEW是一種圖形化的編程語言,所以LabVIEW也被稱為:G(graphical)語言;其二,LabVIEW也包含了支持圖形化編程語言進行應用軟件設計開發的開發環境(開發平臺)。
LabVIEW經過二十多年的發展已經充分證明:LabVIEW是極具威力的自動化測試、測量工程設計、開發、分析及仿真試驗的最佳軟件系統。現在已被廣泛應用在汽車、電子、化工、生物及生命科學、航空、航天等等許許多多的領域。
當前,隨著LabVIEW本地化進程的不斷深入,許多大學(大專)都相繼開始設置LabVIEW課程,越來越多的人們(學生)希望更多地了解和深入學習LabVIEW。同時,為什么要學習LabVIEW?誰應該學習LabVIEW?學習LabVIEW會給我們帶來什么好處?等等這些問題也會困擾著他們,我想根據幾年來的學習體會談談自己的認識與看法。
既然LabVIEW是一種編程語言,那么不妨就從編程語言的一些基本概念來開始討論。
語言:
語言是用來表達我們的思想及進行相互交流和溝通的一種手段。
程序語言:
程序語言是用來指揮計算機表達我們的想法(意念)并能夠被計算機執行的程序代碼。
程序語言(直接面對物理層的程序語言)我們稱之為:機器語言。
機器語言(Machine language):
機器語言,也就是機器碼是可被處理器(CPU)加載并執行的由0和1組成的序列。由于硬件處理器的不同,所以機器碼序列也會是不一樣的。可以講,機器碼是處理器(CPU)可識別的唯一語言,并且是執行速度最高的語言。它與計算機的硬件(CPU)有著最為直接的關系。
但是,當人們看到或使用由0和1組成的序列(程序),實在是感到毫無規律、枯燥無味,并且無法理解和記憶。特別是,當計算機處理器的性能不斷提高時(位數增加),機器語言可能被視為世界上最無法讀懂和記憶的語言。試想一下,由64位0和1組成代碼,如何記憶和理解它們。
為了解決這個問題,使更多地人能夠使用計算機,并提高編程效率充分發揮計算機的作用,人們對機器語言進行抽象處理,從而導致了匯編語言的誕生。
匯編語言(Assembly language):
匯編語言,是從機器語言中抽象出來的使用縮寫或助記符進行編程的低級編程語言,并且提供較少的控制指令和數據類型,其中的每一條語句都對應于一條相應的機器指令(代碼)。通過匯編程序開發環境可以將匯編語言翻譯成機器語言,匯編語言同樣與給定的處理器相關。
在早期,包括操作系統在內的許多系統軟件都是用匯編語言編寫的(比如:UNXI操作系統)。使用匯編語言的好處在于可以提高執行速度,并且程序員還可以直接訪問系統硬件。但是,匯編語言由于其開發環境和匯編程序都依賴于給定的處理器,并且其指令和數據類型很少,同時程序的可讀性和可移植性都很差無法廣泛使用。于是人們再次對匯編語言進行抽象處理,從而導致了高級語言的誕生。
高級語言:
高級語言,是從低級的機器語言抽象而來的計算機程序語言。高級語言通常使用和英文單詞類似的關鍵詞,這些關鍵詞可以被翻譯成多條機器指令。實際上,比匯編語言高級的計算機語言都是高級語言。
C語言是目前最為廣泛使用的高級語言。它既具有一般高級語言的特性,同時又具備了一些低級語言特性(某些匯編語言的特點)。
當然,高級語言還有很多種比如像我們所熟悉的:面向對象的C++、Java及具有可視化編程環境的VC、VB、Delphi等等。這些高級編程語言的存在和發展說明,除了各自的特點不相同,應用領域不同外,還有編程方式的不斷改進的推動。
比如:從Basic演變到Quick Basic然后又演變到Visual Basic。
從C演變到C++然后又演變到Java(號稱沒有指針和頭文件的C++)及后來的VC。
這些已不在我們討論的范圍內,有興趣者可以看相關的書籍自來了解。
從“機器語言”抽象到“匯編語言”,又從“匯編語言”抽象到“高級語言”。那么問題是:“高級語言”是否還可以進一步進行抽象出“某種超級編程語言”呢? 從計算機語言的發展規律來看,回答是肯定的。并且,二十年前這種語言就已經出現,那就是:LabVIEW——一種圖形化編程語言。
圖形化編程語言:
LabVIEW發展到今天,我認為:LabVIEW是從“高級語言”中抽象提煉出來的超級編程語言(到目前為止我還沒有從哪本中外LabVIEW書籍中看到這樣的提法或概念)。
這種將“高級語言”傳統的寫代碼的編程方式,抽象變為以“圖形、節點、連線”方式的編程語言,的確具有超級編程語言的特點。
用C和C++編寫的LabVIEW具有比C和C++更明顯得優點。
LabVIEW本身的易學易用、即學即用的特點也充分的證明了這個觀點。
問題在于:圖像化的編程方法是否真的就會比“高級語言”代碼編程方法更高級?我的回答應該是肯定的。下面通過兩個例子來進一步說明:
例1:
小時候,在我們剛剛開始會說話時,大人通常是用“看圖說話”的方式來教我們認識什么是蘋果?什么是梨?什么是香蕉?顯然,利用圖形或圖像的概念使我們很快認識了這些水果。試想如果用文字或拼音來教我們認識這些水果,效果決不會好的。換句話說,圖形或圖像由于簡潔明確,的確要比文字或拼音更適合初學者來認識和區分。事實上,編程語言也是具有相同的規律。
對于學習過某種高級語言的人來講,對復雜的語法規則、指針、內存、類庫等等的掌握根本談不到輕松易學。
LabVIEW做到了這一點,用LabVIEW編程根本無需考慮什么:語法規則、指針、內存、類庫等。LabVIEW這種圖形化語言將許多復雜的事情抽象的極為簡單明了。
例2:
時光倒退回二十多年前,那時人們對計算機的操作、控制還基于稱為DOS的磁盤操作系統(Diskette Operating System),即便是一個很簡單的操作人們也會噼噼啪啪的敲擊一陣鍵盤,對于復雜操作人難免還要認真仔細的查閱DOS手冊。那時的MicroSoft還是一個編寫DOS的小公司。后來,Mac(蘋果電腦)首先實現了計算機的圖形化操作,點擊鼠標、利用拖拽即可完成對計算機的一些操作控制。LabVIEW大概也是受到了圖形操作系統的啟發(不知是否真的如此),開始了LabVIEW的設計,并在Mac機上完成了LabVIEW1.0版的發布。直到MicroSoft也設計出圖形化操作系統時,LabVIEW才發布了Windows版。這大概是LabVIEW2.0,到LanVIEW3.0發布時它已經全面支持跨平臺使用了。
計算機操作系統的圖形化無疑加快了計算機使用的普及和使用的大眾化(當然也包含硬件發展的推動),使計算機由過去的專供專業人員操作使用,而真正變成了不分年齡、不分專業的大眾工具。其中,真正起核心作用的還是圖形化操作系統得簡潔、方便和易學。
編程語言的圖像化應該與操作系統圖形化一樣,給那些不善于使用代碼編程的人帶來了實現復雜程序設計的機會(我就是其中的一個受益者)。
其實許多學習過LabVIEW的人都回有這樣的體會:圖形化編程的確大大降低了程序設計的復雜度,LabVIEW的確是比那些“高級語言”更好的超級編程語言。
LabVIEW的跨平臺特點,以及在同一個平臺下對FPGA、DSP及嵌入式微處理器的開發提供圖形化編程的支持,難道不可以稱之為:超級編程語言嗎。
LabVIEW是從“高級語言”中利用圖形化的抽象方法抽象出來的超級編程語言。那么,還能對它繼續進行抽象處理,進一步提高它的簡潔性和方便性嗎?
責任編輯人:CC
-
LabVIEW
+關注
關注
1981文章
3664瀏覽量
327998
發布評論請先 登錄
相關推薦
對話資深專家:LabVIEW學習的技巧與誤區
如何學習單片機技術看了就知道
如何學習FPGA看了就知道
如何學好LabVIEW_LabVIEW的學習方法分享

評論