從這裡開始,如果你想成為一個程式設計師
嗨,我是一個程式設計師。我是那種整天坐在電腦前,讓它執行「事情」的酷人之一。
我們的生活相當不錯。天氣不好也沒問題,我們在室內工作。世界上任何地方都有很多工作機會。而且我們可以遠程工作,因為程式設計是在電腦上進行的。
我能理解你想成為一個程式設計師的原因,而且我想幫助你。
首先,你應該弄清楚你將要工作的領域。或者你想要工作的領域。
這取決於你的目標、傾向,以及在該領域找到好工作的可能性。
因為不只有「程式設計」或「軟體開發」這樣的概念。有不同種類的程式設計。你可能想學程式設計來:
- 創建一個網站
- 為你的智能手機創建一個移動應用程式
- 創建一個遊戲
- 使用 Arduino 自動化家庭
或者你可能想深入研究複雜的領域,如數據科學、機器學習、人工智能等等。
這些領域彼此之間非常不同。每個領域都有一種不同的程式語言作為它們的「主要語言」。
我們有無數不同的程式語言。有些語言比其他語言更複雜。有些語言對初學者更友好。有些語言非常專業化,有些是通用程式語言。有些非常流行,有些則是冷門和專業語言。有些是老語言,有些則是比較新的。
通常,你選擇的語言取決於你想要從事的領域:
- 想要創建實用工具並自動化工作任務嗎?學習 Python
- 想要從事網頁開發嗎?學習 HTML、CSS 和 JavaScript
- 想要使用 Arduino 和嵌入式設備嗎?學習 C/C++
- 想要創建下一個 Linux 或者性能優越的命令行應用程式嗎?學習 Rust
- 想要創建遊戲嗎?學習 C# 和/或 C++
- 想要從事機器學習和數據科學,或者一般的「數字處理」工作嗎?學習 Python、R、Julia
你可以用任何語言開始學習程式設計。只是要知道一些特殊化的專業領域只屬於一個語言。例如,iOS開發只能使用 Swift,而不是C#。而Android使用 Kotlin 或 Java,而不是 Python 或 PHP。前端 Web 開發主要是 JavaScript 的範疇。
每個專業領域都有它適合的程式語言。
學習程式設計的主要問題是動機。如果你有一個有抱負的目標,例如創建你想要的程式或遊戲,你為了實現夢想而努力學習,這對你的學習會大有幫助。
這種方式比一個普通的「學習程式設計」的目標更容易,後者可能太過一般化,缺乏動力。
動機不僅僅是建立自己的軟體和遊戲的夢想-也可能是在工作中變得更好,當然。
學習程式設計需要大量練習、嘗試與錯誤、耐心和堅持。
如果你不知道從哪一種語言開始,除非你的領域被一種特定的程式語言所支配,而且每個人都在使用該語言執行你想要的任務。
如果你想成為一個 Web 程式設計師,從 JavaScript 開始吧,因為你將在整天使用它。
否則,如果你想要開始並希望有人告訴你應該選擇哪種語言,我認為每個人都應該學習 Python。
Python 是一種通用的程式設計語言,容易學習且非常靈活。一旦你知道如何創建 Python 程式,你將可以將這些知識應用於任何地方。
下面是如何開始:
如果你的選擇是 Python 或 JavaScript,今天就從 freeCodeCamp 開始。這個以實踐為基礎的課程將幫助你快速入門。
然後選擇一些書籍。書籍非常有用,因為你可以隨時使用它們,它們一直在看著你說「閱讀我」。
選擇實體書籍,這樣你可以註解筆記並劃線。好書可以使用多年。
首先從一本入門書籍開始,然後是一本中級書籍。學校用的書非常好。例如「Python 簡介:適用於計算機科學和數據科學」。
如果你選擇 JavaScript,你可以從我的「JavaScript 開發入門手冊」開始,但也要找到更多資料。
程式語言只是一個工具。這是一個非常重要的工具,你應該全面了解它,就像木匠熟悉他的工具一樣。
開發人員的工作是解決問題。分析領域,選擇合適的解決方案,找出最佳的工具、服務和其他軟體,並將其實現為程式碼。
這正是為什麼在學習程式語言的同時,或者說在學習過程中,你應該學習如何解決問題。
起初,要從高層次的角度學習。如何思考問題,如何像程式設計師一樣思考。
然後你會更深入一些,開始用程式碼解決問題。
這樣你會更好地學習你選擇的程式語言,並學會如何用它來解決問題。
這是事情變得有點模糊的地方。為了提供更多指導,每年我會推出一個以實踐為基礎的 JavaScript 訓練營,全部都是關於如何用程式碼解決問題。
然後,如果你計劃在公司找工作,你需要為求職面試做準備。我建議你先學習資料結構和演算法,然後開始在專門處理面試問題的網站/書籍上進行實際練習。
這個行業專門從事這個部分。
由於某種原因,為求職面試做準備與實際的工作中的程式設計非常不同,但在大多數情況下是必要的。
當然,如果你想學習程式設計,以在工作中或個人項目中變得更好,你可以跳過所有這些部分。
這是一個介紹。
現在就去 The Valley of Code 下載你感興趣的書籍,記住:這將會有困難,但會是值得的。