大約10年前,我剛上軍校時候,混跡於學院機電實驗室,開始作一些PS的美工,可我天生沒有審美能力,短暫的美工和前端工做以後,江鵬程教員教給了我第一行C#代碼,而後一發不可收拾,在一個沒有互聯網的地方開始學習IT技術。每月僅有的一次外出機會基本泡在杜家坎環島旁邊的那個網吧查資料。前端
一晃10年過去了,用C#作了無數的項目,其中測控和虛擬儀器的項目居多。做爲一個機械男,我很願意把先進的IT技術引入到傳統的機械行業,目前我博士在讀,實驗室的不少儀器設備都用C#開發,功能豐富且運行穩定,C#目前已經從實驗室走向生產線,扮演的角色更加豐富。一路走來,踩坑無數,總想找個機會把本身的經驗和教訓寫出來,和虛擬儀器屆的大佬們屢次交流中也有此想法,供你們參考,做爲一個浮躁的90後,靜下心來寫書真的很不容易,但願這本書可以按時付梓。程序員
一提起虛擬儀器,不少人都會想到 Labview 。的確,Labview已經成爲虛擬儀器行業的軟件事實標準,幾乎全部的板卡廠商都推出了自家的Labview 工具和庫。加之Labview的簡單快捷,容易上手以及NI的市場戰略和高校計劃,我身邊的不少人都在用Labview,不少朋友也在NI工做。本書爲了讀者更好的理解C#虛擬儀器開發,不可避免地會將C#和Labview作比較,但僅限於學術和技術層次的討論,全部觀點僅表明我的意見,我只是個在讀博士,沒有任何商業企圖。編程
不少人問我爲什麼堅持用C#而不用Labview,不得不說,個人Labview水平也不差,曾經有一段時間也用Labview開發過很多項目。但到了後期就會發現,對於咱們這種面向對象慣壞的程序員來說,沒有真正意義的封裝、繼承和多態的框圖真的很難受;大型項目捉襟見肘,顧此失彼;框圖對於程序員不能更好得理解業務需求和程序結構;程序維護改形成本大;版本控制和協同開發困難。後來我用Measurement Studio操做NI的硬件,儘管NI對Measurement Studio支持不夠給力,但仍是解決了個人痛點,遂決定用C#開發測控程序至今。不得不說,使用C#是成本和收益妥協的結果,我身邊也有C++大神,但C++對大部分機電類工程師比較難,指針和內存處理很差,結果拔苗助長。編程語言
C#語言從2000年開始,通過漫長的發展,現在已成爲跨平臺,多系列,生態豐富的編程語言,每次更新總有些使人眼鏡發亮的新特性,擁抱開源爲其發展注入了新的活力。本書指定的.NetFramework版本爲4.5.1,語言支持C# 6。本書是寫給有必定C#開發知識的虛擬儀器和工控自動化行業的軟件工程師,故再也不介紹C#的基本用法。若是你不會C#,也沒有關係,買本書讀一週就能上手,也能夠看個人視頻教程。考慮到本書的受衆,本書不會像寫SCI論文同樣拋出不少專業術語,我儘可能用樸實的語言表達,用通俗的事例解釋。因爲水平有限,重點內容會展開篇幅,簡述內容通常會有擴展閱讀連接,讀者能夠自行學習。工具