把程式設計作為一種思考方式,這是一個python程式的生存指南!
阿新 • • 發佈:2018-11-10
程式設計已經改變了。在像FORTRAN和C這樣的第一代語言中,程式設計師的程式設計壓力是將高階概念轉換為程式碼。在現代程式語言中 - 我將使用Python作為示例 - 我們使用函式,物件,模組和庫來擴充套件語言,這不僅使程式更好,而且改變了程式設計。
Python 的計算機語言,報紙文章文字
程式設計過去常常是關於轉換的:用自然語言表達思想,同時使用一些數學符號,然後編寫流程圖和虛擬碼,最後編寫程式。轉換是必要的,因為每種語言提供了不同的潛在能力。自然語言具有表現力和可讀性,虛擬碼更精確,數學符號簡潔,程式碼可執行。
但翻譯的代價是,我們被限制在能用每種語言有效表達的觀點的子集裡。有些很容易用數學符號表達的思想很難用數學符號表達,而我們在數學中所做的符號操作在大多數程式語言中都是不可能的。
現代程式語言的強大之處在於它們具有表達性、可讀性、簡潔性、精確性和可執行性。這意味著我們可以排除中介語言,使用一種語言來探索、學習、教學和思考。
作為一個例子,圖1顯示了廣度優先搜尋(BFS)演算法,該演算法用流行教科書中使用的偽程式碼表示。作者將這種語言設計得比當時大多數程式語言(1989年)更簡潔、更易讀。
圖2顯示了Python中的相同演算法。它比虛擬碼短几行,而且因為它使用的單詞比符號多,所以我認為它更易於閱讀。此外,與虛擬碼不同,我們可以執行它、顯示結果並除錯它。
程式設計的重要目的當然就是為了能跑通程式碼,但它還有更多的意義。那就是通過執行程式碼的能力使程式設計成為思考和探索的工具。當我們以程式的形式表達想法時,我們使它們成為可測試驗證的;當我們除錯程式時,我們也在除錯我們的大腦。