身為機械工程師,我從未想過自己會進入程式設計世界。然而,在我上一篇文章討論各種程式語言的潛力之後,我意識到 JavaScript (JS) 正在呼喚我的名字。今天,我想分享我的旅程、我選擇背後的原因、我面臨的挑戰以及我一路走來學到的東西。
那麼,為什麼是 JavaScript?以下是一些令我印象深刻的原因:
在深入研究 JavaScript 之前,我從 C 基礎知識開始,這幫助我理解基本的程式設計概念。我學習了列印模式、解決陣列問題以及 Java 中物件導向程式設計 (OOP) 的基礎知識。然而,我仍然發現一些 OOP 概念有點難以捉摸。這些基礎知識為我過渡到 JavaScript 奠定了堅實的基礎。
了解 JavaScript 的歷史確實幫助我了解了它今天的功能:
建立:JavaScript 是由 Brendan Eich 於 1995 年在 Netscape 工作時僅用 10 天就創建的。最初稱為 Mocha,後來成為 LiveScript,最後成為 JavaScript,以利用當時 Java 的流行。
標準化:1997 年,JavaScript 在 ECMAScript 規範 (ES) 下實現了標準化。這為不同瀏覽器的一致實作鋪平了道路。
進化:多年來,JavaScript 發生了顯著的發展,出現了 ES6 (2015) 等重大里程碑,它引入了 let/const、箭頭函數、類別和 Promise 等功能。
JavaScript 的用途非常廣泛,具有廣泛的應用範圍,包括:
前端網頁開發
後端開發
行動應用程式開發
React Native 和 Ionic 等框架允許開發人員使用 JavaScript 建立跨平台行動應用程式。
遊戲開發
Three.js 和 Babylon.js 等引擎有助於創建 2D 和 3D 遊戲,而 PixiJS 則廣泛用於渲染互動式圖形。
桌面應用程式
Electron 等工具可讓開發人員使用 JavaScript、HTML 和 CSS 建立桌面應用程式。 Slack、Discord 和 Visual Studio Code 等熱門應用程式都是使用 Electron 建構的。
網路為基礎的機器學習
TensorFlow.js 等程式庫使開發人員能夠在瀏覽器或 Node.js 上建置和部署機器學習模型。
物聯網與硬體控制
像 Johnny-Five 這樣的框架將 JavaScript 帶入物聯網 (IoT) 世界,讓開發人員能夠與硬體設備互動。
無伺服器架構
JavaScript 在 AWS Lambda、Google Cloud Functions 和 Azure Functions 等無伺服器運算平台中發揮著至關重要的作用。
當然,旅程並非一帆風順:
動態類型:來自機械工程背景,動態類型的概念最初令人困惑。與在編譯時定義變數類型的靜態類型語言不同,JS 提供了更大的靈活性,但也導致了難以追蹤的意外錯誤。
非同步編程:JavaScript 的事件驅動特性讓我接觸到了非同步編程,這是一個陡峭的學習曲線。理解回調、promise 和 async/await 需要時間,但一旦掌握了這些概念,我就感到很有意義。
框架過載:有這麼多可用的庫和框架,我經常感到不知所措。我該學習 React 還是 Vue.js?我應該使用 Express 作為後端嗎?我花了一些時間來了解生態系統並為我的專案找到合適的工具。
調試:最初,調試感覺就像大海撈針。 JavaScript 的錯誤訊息有時很神秘,但我學會了將偵錯過程作為開發的重要組成部分。
JavaScript 的未來充滿希望,驅動力是:
現在,我想聽聽你的消息!您對 JavaScript 有何看法?你喜歡或不喜歡它什麼?如果您要為非 IT 背景的初學者推薦程式語言,您會選擇哪一種?為什麼?我很想在下面的評論中聽到您的觀點!此外,您認為學習 JavaScript 時哪些資源最有幫助?
JavaScript 改變了我對科技的理解,開啟了一個充滿可能性的世界。當我繼續我的旅程時,我很高興看到我的新技能將帶我去哪裡。我真的很喜歡學習和使用每種程式語言,因為我相信每一種語言本身都有同樣的需求和重要性。讓我們繼續對話吧!
這篇文章中的內容完全是從我作為機械工程師進入程式設計世界的角度出發的。重要的是要注意,我的經驗和觀點不會削弱他人觀點的價值。我鼓勵讀者分享他們自己的見解和經驗,因為技術社群在多元化的觀點和協作學習中蓬勃發展。在 Dev 這樣的平台上撰寫這些技術貼文使我們能夠相互聯繫和學習,從而促進對主題更豐富的理解。
以上是暢遊 JavaScript 世界:機械工程師對學習與挑戰的看法的詳細內容。更多資訊請關注PHP中文網其他相關文章!