五步讓你成為專家級程序員

摘要:Mark Lassoff是一位高級技術培訓師,從事培訓工作已有10余年。他培訓的客戶包括美國國防部、Lockheed Martin等。在多年的培訓生涯中,他總結了一些如何快速學習一門語言的技巧,這些技巧非常簡單,但是卻讓人受益匪淺。

我已經從事10年的技術培訓工作,一直教人如何編程。這些人包括學生、已經走上工作崗位的開發人員。在多年的工作生涯中,我注意到一些正確/錯誤學習編程語言的方式,下面我分享一些正確學習語言的5種技巧,雖然它們看起來都很淺顯,但只要你認真執行,絕對會有很大效果和提升。

1.了解語言背后的“哲學”

我在初次學習Java時,覺得它即冗長又存在不必要的復雜。那時,我還不是個經驗的程序員,并且習慣使用C來編碼。Java是一門偉大的語言,但我并不能體會其中的精華——甚至是它的用途,因為我無法理解Java的面向對象原理。

后來,我在德克薩斯大學奧斯汀分校的Browne博士課堂上理解了面向對象方法,并采用它進行計算機科學編程。這對我更好地理解Java的核心思想以及編程方法起了非常大作用。

如今已有成千上萬個編程語言,不同的編程語言解決和優化不同類型的編程問題,并且在計算機系統中處于不同的級別。而你需要做的是了解你所學語言是什么、目標。理解是至關重要的,然后運用它來解決實際問題。

2.親自輸入所有的代碼實例

話說,實踐是檢驗真理的唯一標準。學習一門語言,除了知道其中的原理外,最快的學習方法莫過于實踐,編寫代碼,遠遠大于讀書或看視頻所產生的效果。輸入代碼并且讓它們運行起來是學習一門語言至關重要的一步。即使你對該們語言是完全陌生的,在編寫的時候你也會發現它們的語法結構,漸漸明白其中的含義。

在編寫的過程中,你肯定會犯錯,發現錯誤并糾正它,這個過程也是不可忽視的,錯誤越多,你就會花更多的心思研究,這樣理解就會越加深刻。

3.更進一步

無論是做實驗還是練習,都嘗試著更進一步地了解與學習。經常這樣做將會給你帶來無窮的收獲,驅使你不斷查閱所學語言相關資料。這樣做有兩大優勢:第一,學習該語言的文檔結構并熟悉它;第二,加深概念,幫你解決一些細小問題。

例如,你正在聽一堂學習如何使用HTML5和JavaScript制作音頻的課,那么你應該進一步問問自己:“該如何控制音量呢?”解決這個問題后,你就可以更加深入的掌握代碼。

4.通過許多小例子學習——而不是大項目

在多年的培訓中,我一直把重點放在客戶端的網絡語言上,比如Java以及后來的移動開發。在課堂上,每節課都會有相應的課件,每個課件都會演示些例子,最后把這些例子組合成一個項目。在早期常會犯這樣的錯誤,沒有進行相互隔離。

其實,采用隔離的方式學習各種語言技能是很重要的。比起學習個人技能,集成是個更復雜的過程。在你對一門語言有了堅實的基礎后,集成確實是最好的學習方式,否則很有可能會混淆概念。

5.讓程序運行

一定要讓程序跑起來。即使出現多個bug,也要認真調試,直到能夠正確運行。想要打開一扇門,則必須要關閉一扇門。當你學習一門新的語言技能時,肯定希望以后能有較高的技能水平。有時,你很容易放棄或者跳過某個小缺陷,使該問題一直處于懸而未決的狀態——這樣做很危險。

除此之外,沒有比這個更興奮的事情了——第一次看到自己編寫的應用程序跑起來。

來自:udemy blog

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449735.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449735.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449735.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Ionic混合移動app框架學習

第一章 緒論創建移動app有三種安卓原生App,使用java語言,目前推薦kotlin語言,開發工具Android studioIOS原生App,使用Objective-C或者Swift語言,開發工具Xcode混合移動App,使用web通用語言(HTML…

IPC 中 LPC、RPC 的區別和聯系

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 進程間通信(IPC,Inter-Process Communication),指至少兩個進程或線程間傳送數據或信號的…

Laravel 使用 Aliyun OSS 云存儲

對象存儲 ( Object Storage Service, 簡稱 OSS ) OSS 相信大家都聽過, 它是阿里云對外提供的海量, 安全和高可靠的云存儲服務. 大家可以把自己網站的資源存上面加快自己網站速度, aliyun 官網也有文檔不過對于新手來說有點難, 那么這里我給大家推薦一個組件和組件的使用. johnl…

python多級索引修改

創建多級索引 cols pd.MultiIndex.from_tuples([("a","b"), ("a","c")]) pd.DataFrame([[1,2], [3,4]], columnscols) abc012134 df.columns df.columns.droplevel() df bc012134

在線學習新編程 技巧全攻略

摘要:有句俗語叫:“技多不壓身”,如果你有時間和興趣,不妨多了解和掌握編程技能,或許隨時可能有用。本文為你收集了一些編程技巧,讓你輕松學編程。 有句俗語叫:“技多不壓身”,如果你…

第 3 章 鏡像 - 018 - 鏡像命名的最佳實踐

為鏡像命名 創建鏡像時 docker build 命令時已經為鏡像取了個名字,例如: docker build -t ubuntu-with-vi 這里的 ubuntu-with-vi 就是鏡像的名字。通過 dock images 可以查看鏡像的信息。 1 rootubuntu:~# docker images ubuntu-with-vi 2 REPOSITORY …

Jmeter邏輯控制器-ForEach Controller

ForEach Controller 介紹 ForEach Contoller 即循環控制器,顧名思義是定義一個規則。主要有以下一個參數:名稱:隨便填寫注釋:隨便填寫輸入變量前綴:可以在“用戶自定義變量”中定義一組變量。循環控制器可以從中獲取到…

微服務實戰(三):深入微服務架構的進程間通信

見:http://www.dockone.io/article/549簡介 在單體式應用中,各個模塊之間的調用是通過編程語言級別的方法或者函數來實現的。但是一個基于微服務的分布式應用是運行在多臺機器上的。一般來說,每個服務實例都是一個進程。因此,如下…

python輸出與刪除某行或某列

python輸出字符,主要為結合變量形成新的變量名 year 2016 event Referendum fResults of the {year} {event}Results of the 2016 Referendum yes_votes 42_572_654 no_votes 43_132_495 percentage yes_votes / (yes_votes no_votes) {:-9} YES votes {:2…

為什么應該用模塊取代C/C++中的頭文件?

摘要:本文整理自Apple C工程師Doug Gregor的演講Slide,他表示希望使用模塊(Module)這一概念替代C/C中的頭文件,現已被C標準化委員會任命為Module研究組的主席,研究該提議的可能性。考慮到Apple的開源項目LL…

北向資金進行股票、期貨指數、基金策略

#%%導入包 import tushare as ts import datetime import pandas as pd import numpy as np import akshare as ak import warnings warnings.filterwarnings("ignore")#獲取北向資金數據 df_data2 ak.stock_em_hsgt_north_acc_flow_in(indicator"北上") d…

Kong Api 初體驗、Kong安裝教程

見:https://blog.csdn.net/forezp/article/details/79383631Kong是一個可擴展的開源API層(也稱為API網關或API中間件)。 Kong運行在任何RESTful API的前面,并通過插件擴展,它們提供超出核心平臺的額外功能和服務。 Kon…

Spring Boot2.0+中,自定義配置類擴展springMVC的功能

在spring boot1.0,我們可以使用WebMvcConfigurerAdapter來擴展springMVC的功能,其中自定義的攔截器并不會攔截靜態資源(js、css等)。 Configuration public class MyMvcConfig extends WebMvcConfigurerAdapter {Overridepublic v…

從谷歌宕機事件認識互聯網工作原理

摘要:谷歌服務器經歷了短暫的宕機事件,持續大概27分鐘,對部分地區的互聯網用戶造成了影響。此次事件的原因深究起來需要進入互聯網絡那深邃的、黑暗的角落。 譯者注:本文中提到CloudFlare是一家總部位于美國舊金山的內容分發網絡(…

聊聊技術寫作的個人體會

有群友問過,是什么原因使我開始寫技術公眾號,又是什么動力讓我堅持寫的。 在我看來,寫作是一件不能敷衍的事,通過寫作來學習,反而要比單純地學習的效果要好。為了寫成一篇“拿得出手”的文章,我要反復查找資…

「2019冬令營提高組」全連

傳送門 顯然的 $dp$ 設 $f[i]$ 表示點擊第 $i$ 個音符時的最大價值,$t[i]$ 表示音符 $i$ 的準備時間 那么可以枚舉 $1$ 到 $i-t[i]$ 的所有音符,如果 $j$ ,如果 $jt[j]$ 小于等于 $i$ ,那么 $f[i]max(f[i],f[j]t[i]*val[i])$ 考慮…

Docker常用命令、超實用、講解清晰明了(rm、stop、start、kill、logs、diff、top、cp、restart ...)

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 查看docker信息(version、info) # 查看docker版本 $docker version # 顯示docker系統的信息 $docker i…

推薦給開發人員的實用命令行工具

摘要:優秀的工具對于定位問題出在何處有著無可估量的價值,而且能在一開始就幫助我們阻止問題的出現,總的來說能使我們的工作更有效率。本文介紹了6個非常強大且靈活的工具,熟練使用這些工具能使你的生活變得更輕松一些。 作為一名…

雷軍:啟動手機+AIoT雙引擎戰略 5G春天到來前打持久戰

雷帝網 樂天 1月11日報道 小米CEO雷軍今日在小米年會上宣布,2019年,小米將正式啟動“手機AIoT”雙引擎戰略,這將是小米未來五年的核心戰略。未來5年,小米將在AIoT領域持續投入超過100億元。從2019年起,AIoT&#xff0c…

Jenkins自定義主題

x下載自定義樣式 http://afonsof.com/jenkins-material-theme/ 打開連接 最后點擊:DOWNLOAD TOUR THEME! 得到樣式文件:jenkins-material-theme.css 上傳樣式文件到jenkins 將jenkins-material-theme.css 上傳到: /var/jenkins_home/userCont…