<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 【知識精講】編程與軟件工程 ## Part1 既然同學們選擇了學習這門課程,那么接下來的一段時間里,大家就都需要跟命令行界面(Command Line Interface,縮寫為 CLI)打交道。面對黑乎乎的界面,很多同學就會有這樣的困惑: 為什么我們自己寫的程序只能用鍵盤輸入,而且輸出結果也只能在一個黑屏上顯示是一些字符?為什么我見到的軟件,都是用鼠標輸入,而且輸出一個圖形界面(Graphic User Interface,縮寫為 GUI),上邊有可用鼠標此操作的按鈕? ## Part2 這個問題歸根結底可以總結成一句話,我們學習到的編程,怎么才能與現實中的應用軟件(比如 QQ、Word 等)聯系起來?有些不是計算機相關專業的同學還會因此而感到絕望——我付出了如此多的努力,可是寫出來的程序卻看起來那么單薄而簡陋,這豈不是說明,軟件開發實在是太難了,我根本就不適合學習編程? 這些同學們的疑惑甚至絕望,都是很有代表性的——不過這并不是因為編程,或者說軟件開發,真的就那么高大上。同學們會有這樣的疑惑,其實是因為大家對軟件開發,存在著一些誤解。這篇閱讀課,將會破除這些誤解,讓大家理解大家現在學習的編程課程,到底是為了什么。 ## Part3 雖然名字里都帶著“工程”兩個字,但是“軟件工程”,跟“建筑工程”,存在著本質上的差異——因為代碼是可復制的,而現實中存在的物質則不是。 我們都知道,要蓋一棟高樓,必須要從零開始打地基,一點一點地先把樓房的主框架結構建好,然后再逐漸完善最后變成成品樓房。而軟件工程,則存在著一個決定性的不同…… ## Part4 對于使用 Windows 的同學,在學完這門課程的第一章之后,可以在你的文本編輯器界面中,輸入以下代碼: ``` #include <windows.h> int main() { MessageBoxA(NULL, "Hello, world!", "Message", MB_ICONINFORMATION); return 0; } ``` 然后使用任何一種 Win32 環境下的 C++ 編譯器,例如 Visual C++ 或者 MinGW(注意必須是 Win32 環境下的編譯器,不能使用 Ubuntu Subsystem 提供的 g++)編譯這段代碼,然后你就可以看到一個圖形界面的對話框了: ![](https://box.kancloud.cn/b0f379b5c2c07e44570d1dfd7691baaf_586x388.png) # Part5 同學們這個時候可能會覺得驚訝:為什么看起來高大上的,圖形界面的對話框,只用了一句代碼就顯示出來了? 這,就是軟件工程,跟建筑工程等其他現實世界中的工程活動,所存在的決定性的不同——代碼是可以被復用的,前人已經造好的“輪子”(即代碼庫),你不需要再從頭寫一遍,你只要直接拿來用就可以了。 我們上面那段代碼,使用了 Windows 提供的 API(應用程序接口)——你根本就不需要從零開始在屏幕上畫一個對話框出來,你只需要告訴 Windows 系統,“我需要一個對話框,內容是XXX”就可以了,然后系統就會為你生成一個對話框,并且顯示出來。 #Part6 這,就是我們目前的編程學習活動,所具有的意義——對于任何軟件來說,外在的圖形界面都只是表皮,內在的邏輯才是核心。對于大部分開發者來說,看似“高大上”的圖形界面,實際上只要用很簡單的幾句代碼調用現成的 GUI 庫和框架就可以了…… ![](https://res.jisuanke.com/img/upload/20170116/00d43c06e4d7de011b443fbb44912276a5e31306.png) 一個基于 C# 語言開發的桌面應用程序,界面部分直接使用了 WPF (Windows Presentation Foundation,一種基于 .Net 平臺的 GUI 框架)進行繪制。 #Part7 實際上,有些同學如果繼續在 C++ 學習的道路上前進的話,還可能會從事服務器端開發工作——這樣的工作甚至是根本就不需要跟 GUI 打交道的。 ![](https://res.jisuanke.com/img/upload/20170116/31437337ab57adb9eaaed34eefcdd555355f0663.png) 一個基于 C 和 C++ 語言開發的簡易 Web 服務器,使用了 Linux 系統提供的網絡相關系統調用。 #Part8 如果把現實中的軟件開發,類比成武俠小說中的武學的話,那么我們現在學習的編程基礎,就是基本的刀槍劍戟與拳腳功夫;接下來要學習的數據結構與算法,則是一些諸如“黑虎掏心”之類的招式;更高一層的軟件設計模式,以及某種流行技術棧(例如使用 JAVA 開發 Android APP,或者使用 C# 開發移動游戲)的使用方法,則是一些武功套路,例如蛤蟆功和葵花寶典之類的;最頂層的軟件工程,則是諸如少林武學之類的,一系列成體系的思想與方法。 正所謂“根基不牢,地動山搖”,如果大家想要在未來的軟件工程師的職業生涯中,站的更高,走的更遠,那么現在的初學階段,大家就一定要勤學多練,把自己的編程基礎打好。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看