程式設計入門

這篇文章是一個完整的程式設計入門課程。 一般的程式設計。 在開始學習特定的程式語言之前,有一些基本概念你需要熟悉。這些概念並不依賴於特定的程式語言,但對每個開發者來說都是必要的。 如果你是程式設計的新手,這篇文章的目標是幫助你準備並提供基本的概念。 具體來說,你將學習以下內容: 什麼是電腦 什麼是程式 什麼是程式語言 作為一個程式設計師的工作 作為一個程式設計師不需要做的事情 不同的程式設計範式 可以使用的不同程式設計語言,以及應該選擇哪一個 什麼是錯誤 以及更多! 為什麼你應該成為一個程式設計師? 我教學程式設計,每天收到很多電子郵件。我和很多程式設計師和想成為程式設計師的人都有很好的交流。 我對於如何讓人們學習程式設計有一個很好的理解。 人們想要建立自己夢寐以求的應用程式。他們想要將這個項目變成現實,想要實現他們的夢想。在您的電腦或手機上運行的應用程式,創建您和朋友夢想中的遊戲! 人們想以興趣的形式學習這個技能。我與70和80歲的人交談過,他們正在學習編程。出於娛樂。享受新的挑戰。為他們的朋友創建一個應用程式。 人們想在技術方面開始一個新職業。這並不奇怪 - 程式設計作為一份工作非常有吸引力:需求量很大,工作在室內,平均工資也不錯。當然,這取決於地點和水平。你也可以遠程工作,這是我認為的一個巨大的優勢。 當然,這只是其中的3個例子。你可能有不同的需求,但無論需求是什麼,學習程式設計絕對是一個你將來希望擁有的技能。 成為一個程式設計師所需要的 你不需要成為一個計算機科學家或學習工程學,也不需要成為數學天才才能學習程式設計。 這是一個你可以隨時學習的技能,無論年齡如何,而且 - 讓我說 - 它是一個非常棒的技能。 從零開始成為一個程式設計師只需要四件事: 耐心 專注力 時間 一致性 這就是你所需要的一切。 耐心,因為每次學到一些新知識時,你需要耐心,一步一步地學習,直到能夠把知識點連接起來。 專注力,因為它絕對不是一個容易掌握的技能。 時間,因為學習需要時間。在編程方面,你有時候會卡在某些問題上,需要一些時間進行研究。一個優秀的程式設計師在思考問題的時間和編程的時間上花費的時間是相等的。 一致性,因為如果你每天都能花一點時間,比如1或2小時,學習編程,你將在短時間內成為一個優秀的程式設計師。 哦,你可能也需要一台電腦。任何適度新的電腦都足夠好,你並不需要一台高級的MacBook Pro。別把這個當作藉口:) 一台電腦如何工作?概覽 當我說電腦時,我指的是每一個可以編程的電子設備:筆記本電腦和桌上型電腦,智能手機,智能手錶,您的汽車,洗碗機,相機,甚至像狗的GPS裝置這樣的小東西。許多事物,對吧?我們周圍都是電腦。 計算機是由程序驅動的電子設備。從20世紀中葉以來,程序員一直在努力使計算機速度更快,並且更容易和更可靠地編程。 機器是愚蠢的。它們只能遵循您的指示。它們真的無法思考或做決定。它們只能遵循您的指示,所以作為一個程式設計師,您就成為了一個非常強大的人。 我們稱計算機的電子部分為硬體,程序部分稱為軟體。 當您編寫一個程式給計算機時,您提供的指令會被轉換成位元,這是電子設備可以理解的唯一內容。位元只能具有兩個值:0和1。 當您查看電腦或智能手機時,您會看到一個漂亮的界面。這是多年演變的結果。在其後,每秒執行數百萬次指令,為您提供附近最佳餐廳列表。它通過與網絡溝通實現,這是我們人類建造的最大的人工生態系統。 涵蓋計算機如何工作(以及計算機網絡)將需要很多時間。在這個簡要的概述之後,我將重點放在軟體部分上。 關於程式 現在讓我們來看看什麼是程式。你的瀏覽器(Chrome,Firefox或你使用的那個)就是一個程式。 這個網站是應用程式生成的一個程式使它成為可能。我提供內容,程式生成HTML頁面。 你的手機由一個名為iOS或Android的大型程式控制。這是一個巨大的程式,當然將其稱為程式是不公平的–它是一個集合,一個程式生態系統。我們給它取了一個名字。 你電腦上的應用程式就是程式。您手機上的應用程式也是如此。 你的汽車是由程式控制的。 程式是一組指令,程式設計師組合這些指令以使機器執行特定的操作。 通常,在執行程式之前,程式將由程式設計師進行編譯。有時候程序會由另外一個程序解譯。 比如JavaScript,它在瀏覽器中運行。在此准確的時刻,您使用的瀏覽器正在執行我撰寫的某些JavaScript代碼。 所以,這是程式的第一個主要區分:編譯和解譯。不同的程式語言將允許其中之一。 最終,程式是您用來執行特定操作的東西。它可能是幫助簡化企業管理的方式,或者通過創建最終玩家遊戲來解決的問題,比如無聊的問題。 現在我們已經定義了程式是什麼,讓我們深入了解什麼是程式設計。 什麼是程式設計 通常情況下,我們通常使用程式語言中的編碼結構指示來創建一個工作的程式。 然而,我想向這個概念引入更深的內容。 對我而言,程式設計是解決問題。因此,程式設計比您拿起鍵盤並在計算機上鍵入指令的時間要早得多。 程式設計從思考問題開始。或者這個應用程式。 當您收集需求時,與涉及到的所有人,客戶,分析所需做的所有不同事物進行對話時,程式設計開始。 程式設計是定義應用程式不需要做的事情。 在開始工作之前,程式設計是確定您的應用程式是否不可能或代價過高的地方。...