如何快速学习并掌握一门编程语言
前言
工欲善其事必先利其器,編程語言就是程序員手中的“器”,用來實現(xiàn)軟件編程的工具。學(xué)習和掌握編程語言的能力是基本功,也是技術(shù)進階的先決條件。
計算機現(xiàn)代編程語言基本從上世紀50年代就開始成型,起初的目的就是為了代替匯編,方便編寫和移植軟件程序,發(fā)展至今,已經(jīng)相當成熟,
C、C++、Java、C#、Python、JavaScript、PHP等語言常年霸占各類語言排行榜和職位招聘要求。即使這樣,隨著云計算、移動互聯(lián)網(wǎng)的興起,新的編程語言
同樣層出不窮,go、swift、kotlin等更是越來越流行。
因此語言是發(fā)展的,一是新的需求產(chǎn)生新的語言;二是傳統(tǒng)的語言不斷更新,增加新的特性。快速學(xué)習和掌握編程語言的能力是至關(guān)重要的。
學(xué)習方法
學(xué)習和掌握一門新的編程語言,基本有以下的步驟:
1.了解這門編程語言的簡介,至少了解它是什么樣的語言,到底是干什么,例如是編譯型語言還是解釋性腳本、是服務(wù)器端編程還是Web前端編程;
2.確定自己的學(xué)習的目的,是純粹的興趣了解,還是現(xiàn)在工作項目急需用;
3.尋找資料,建立學(xué)習內(nèi)容框架和計劃,資料肯定已官方網(wǎng)站的文檔為主,另外可以看看一些寫的好博客,這樣更快的了解和入門。一門語言,
有眾多的知識點,必須分清主次,有計劃的學(xué)習,因此確定學(xué)習框架很重要。
4.實踐編程,通過編寫一些小程序和例程,實現(xiàn)常用功能,這樣才能真正掌握該門編程語言。
5.優(yōu)秀的編程語言一定會不斷發(fā)展,請關(guān)注該語言相關(guān)的社區(qū)、論壇和博客等資源,不斷鞏固和更新自己的知識。
以Go語言學(xué)習為例
Go語言是什么
Go語言是谷歌出品的一門嶄新的編譯型、支持并發(fā)的偏服務(wù)器端的編程語言。Go語言目前在容器領(lǐng)域應(yīng)用廣泛,基本容器領(lǐng)域的頂級項目都是它
編寫的,例如Docker、K8s等,另外它是一門性能突出的編譯型后臺語言,適合微服務(wù)架構(gòu)的編程。
以上就是一些簡單的了解,學(xué)習它應(yīng)該知道它是什么,當然如果想了解的更多,可以去看看百科的介紹。基本上就完成了這一步學(xué)習。
當然介紹中會出現(xiàn)很多語言的特性,例如并發(fā)、編譯等,這些特性先了解,之后具體的學(xué)習中一一驗證。
自己學(xué)習的目的
例如我,現(xiàn)在很簡單,工作上會使用,而且十分看好,因為容器云平臺的發(fā)展,必然需要容器云開發(fā)工程師,而Go是容器領(lǐng)域的原生語言,支持
是最好的,此外容器技術(shù)很多源碼是Go編寫的,如果不學(xué)習,底層問題看源碼時,將無從下手。
當然你也可以有其他的學(xué)習目的,也許你只是想嘗一下新鮮感,但是這也沒關(guān)系,凡有所學(xué),必有所用。
資料、學(xué)習框架和計劃
這一步是有技術(shù)含量的了,我主要參照官方主頁的文檔和自己自身學(xué)習C語言、Java語言的經(jīng)驗制定,其實大家也可以根據(jù)自己的技術(shù)棧,制定
自己的學(xué)習框架和計劃,這樣學(xué)習的效率會更高。因為學(xué)習中,可以和自己的已有的知識比較學(xué)習,提煉共性的東西和不同的地方。
我認為,Go語言作為編程語言,其實基本語法方面很多還是和C語言類似的,建立如下框架,當然框架可以在學(xué)習的過程不斷完整和修改。
1.Hello World
Hello World是程序員入門新技術(shù)的第一個程序示例,這是很好的學(xué)習方法,因為第一次對該技術(shù)有了一個直觀的認識,用該技術(shù)實現(xiàn)從0到1的完整的編程。
當然,學(xué)習Hello World絕不是僅僅看到Hello world的輸出結(jié)果,就算結(jié)束了,應(yīng)該掌握以下知識點:
- go語言編程環(huán)境的安裝方法、常用IDE工具的安裝
- 編譯工具的命令使用,使用Go語言工具完成代碼的編譯、調(diào)試和執(zhí)行
- Go語言源代碼文件的基本結(jié)構(gòu)組成,例如Main函數(shù)寫法、包引入寫法等
2.基本語法
Go語言的基本語法主要包括以下:
- 代碼本身的語法規(guī)定:注釋寫法、標識符寫法、關(guān)鍵字、運算符和標點符號、字面量寫法(整數(shù)、浮點數(shù)、虛數(shù)、Unicode字符、字符串)
- 常量、變量語法
- 基本數(shù)據(jù)類型:布爾、整數(shù)、浮點數(shù)、虛數(shù)、Unicode字符、字符串
- 組合數(shù)據(jù)類型:數(shù)組,結(jié)構(gòu),指針,函數(shù),接口,切片,映射,通道
- 代碼塊{},變量聲明與范圍
- 表達式、語句
3.語言特性
- 內(nèi)置函數(shù):go語言內(nèi)置的函數(shù)語法
- 代碼包的組織:多個代碼包和庫如何組織和使用
- 初始化和運行:變量默認初始化、包的初始化、Main函數(shù)
- 錯誤處理、運行時錯誤
- 并發(fā)
4.常用庫學(xué)習
- net:網(wǎng)絡(luò)編程功能,包括TCP/IP,UDP,HTTP等;
- io:提供重要的程序I/O功能和函數(shù);
- database: 提供關(guān)系型數(shù)據(jù)程序接口和訪問驅(qū)動;
- encoding:提供json、xml等常用格式的編解碼處理;
- fmt:提供標準的格式化輸入輸出功能;
- hash:提供hash函數(shù)計算功能,支持多種算法;
- sort:提供集合和分片的排序功能;
- math:提供數(shù)據(jù)計算函數(shù);
- strconv:提供字符串與基本數(shù)據(jù)類型的轉(zhuǎn)換;
- strings:提供UTF-8編碼字符串的處理;
- text:提供UTF-8文本處理;
- sync:提供并發(fā)編程的同步原語操作;
- time:時間功能函數(shù)
…
5.實驗示例
- 實現(xiàn)一個簡單的TCP通信的簡單程序,熟悉網(wǎng)絡(luò)編程
- 實現(xiàn)一個簡單Web服務(wù)器,提供簡單的靜態(tài)html展示
…<可以結(jié)合工作實際,想一些簡單的例子,進行學(xué)習編程)
總結(jié)分享和繼續(xù)學(xué)習
學(xué)習不是一蹴而就的,應(yīng)該循序漸進,通過記錄筆記和學(xué)習過程的問題,進行總結(jié)和分享,同時繼續(xù)關(guān)注該語言領(lǐng)域的應(yīng)用發(fā)展,這樣才能真正掌握
一門編程語言。
以上轉(zhuǎn)自公眾號:碼農(nóng)指南,探索、分享和交流技術(shù)路線及人生經(jīng)驗,編程之技,唯熟練爾,唯勤學(xué)爾。如有侵權(quán),請聯(lián)系刪除。
總結(jié)
以上是生活随笔為你收集整理的如何快速学习并掌握一门编程语言的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 截图
- 下一篇: Java Ipv6格式化冒分十六进制 工