我們學一樣技能,光是努力是不夠的,還要避免一些誤區,學習編程更是如此。如果你在學編程的過程中存在一些誤區,你的學編程之路就會事倍功半,甚至會從「入門」學到「放棄」。
了解並避免一些學習編程中的誤區,有助於你更好的學習編程。
忽視基礎 急功近利
學習編程的基礎知識和基礎路線非常重要,就拿學習Java舉例,現在的Java應用框架實在是太多了,迭代的速度也非常快。
假如Java SE的基礎不牢固、網絡協議和作業系統不熟,基本的設計模式不了解,一味地追求學習新框架反而會讓自己陷入迷茫與困頓。
編程的基礎主要包括:程式語言本身、數據結構和算法、計算機網絡協議、作業系統知識、資料庫、常見的設計模式等。
所以初學編程的同學,一定要老老實實的把這些基礎知識先弄懂了。
糾結要學最好的語言
世界上並沒有所謂「最好的程式語言」。所以初學編程的朋友,不要在「糾結要學最好的語言」這件事上浪費太多精力。
語言其實不分好壞,只有適合的應用場景。想學什麼也得結合自己的興趣和目標崗位來定。後者才是應該首先花時間來探尋和澄清的東西。
而且光掌握一門程式語言也是遠遠不夠的,你也許會在工作中碰到新的業務,需要去學習一門新的程式語言。
不過不用害怕,因為所有程式語言,在邏輯語法上都是相通的。只要你精通了一門程式語言,你再學習其他程式語言,其實都是很輕鬆的。
如果你學編程是為了找一份軟體開發的工作,那麼建議你Java。
Java語言的優點是非常的成熟,有大量的文檔和穩固的社區,許多行業的網站、軟體都是使用JAVA開發,所以就業機會也會比較多。
數學不好學不會編程
很多人並不清楚數學與編程之間的關係,認為數學不好就學不會編程,將數學與編程直接畫上等號。
實際上,作為程式設計師,你會花很多時間在寫代碼上,而不是寫數學公式。況且你的數學知識不會直接構成你的編程技術。
編程需要基本的數學知識,企業級開發中可以使用庫與插件等,幫助開發人員解決數學與算法問題。不過從研究算法角度考慮,需要算法研究人員具有高深的數學知識。
看了大量教程,卻很少動手寫代碼
很多人在學習編程時,非常積極,到處搜集資源,花大量的時間看了大量教程,但卻很少親自動手寫代碼。這樣學習的最終結果是:雖然學了很久,好像也懂了很多,但卻寫不出什麼東西!
這個問題在初學和自學編程的同學中非常常見,解決辦法也很簡單。
親手編寫代碼的時間一定要多於看書或是看視頻的時間,如果不知道寫什麼,就把書籍或是視頻中的案例全部實現出來,即使感覺自己會了,也要親手寫出來。
我寫不了那麼多代碼
「天哪!這麼多密密麻麻的代碼,我可寫不了!」這是很多初學者在看到一些程序原始碼成千上萬行時的感嘆。
其實,這些看起來密密麻麻的代碼,絕大多數都是重複的語句、結構、循環、方法。代碼就是由各類流程控制語句堆疊起來的。
程式設計師大多時候會使用在初級和中級編程課程裡學到的相同的東西來解決簡單的和複雜的方案。一旦你習慣了,你便會覺得10000行代碼都是「小兒科」了。
我記不住那麼多代碼
「編程時記不住代碼」,不僅僅是初學者面臨的問題,也是程式設計師日常工作中的常態,這不應該成為你學不會編程的理由。
任何流行的程式語言、框架、庫都有配備齊全的文檔,文檔就像是漢語字典一樣,我們不必把字典背下來就可以寫作了。
所以你不必糾結於能否記住這些代碼,你需要掌握的是知道哪些功能需要哪些代碼來實現,在需要用到的時候再找出來,用多了自然就記住了,根本不需要刻意去死記硬背。
以為自己會了
新手編寫案例的時候,有一種恐懼報錯的思想,看到自己編寫的代碼沒有報錯,就會很開心,並且精心保護好自己的代碼,很怕一不小心動了什麼他就會報錯,然後就很難修改正確了。
這樣的學習方法是危險的,代碼不報錯,並不代表你已經掌握了這個案例的知識點,只要你抱有上面的心理狀態,不去修改那些看著好像沒什麼問題的代碼,也就喪失了完全掌握這個案例的機會。
你不應該懼怕報錯,因為真正的程式設計師每天都在處理各種報錯信息。你應該感謝報錯,它讓你見識到了更多程序異常的狀態,同樣,也接觸到了更多解決問題的方法。
你不應該害怕修改代碼導致的新問題,你應該不斷的優化自己的代碼,更多地嘗試新的寫法,然後多問幾個為什麼,這樣你才能真正理解這個案例。
孤軍奮戰 閉門造車
在學習編程的道路上,你一定要給自己營造一個學習氛圍,你需要同伴或是老師與你一同成長。反之,如果脫離交流,往往會讓學習問題越積越多,最終導致失去興趣。
孤軍奮戰容易讓新手變成井底之蛙,你以為網絡是廣泛的,是互通的,但是你的閱讀習慣、瀏覽習慣、搜索習慣會把你局限到某一個場景中。
這個時候,一個老師或是一個同伴的一個的某一句話,偶爾會讓你產生「原來還有這種操作」的感覺。他的這一句話可能包含一個開發工具,一種學習方法,或是一個你沒有訪問過的網站,它可能讓你的學習效率和工作效率提升10倍以上。
所以,初學編程的同學,千萬不要孤軍奮戰,閉門造車。要敢於總結、敢於分享,敢於把所學所做的東西亮出去和大家一起交流,即使收到的是批評,換一個角度來想,反映的就是自己的缺陷與不足,改進後就是成長。
沒有整理自己的知識體系
當你有了一定的編程基礎之後,開始嘗試做一些小項目。每一個自己不了解的知識點都去翻越博客或是github找源碼,這個時候你的能力已經有所提升,可能已經找到了一份程式設計師的工作。
自己大量的時間都是在上網查資料,感覺工作效率相對較低,這個時候,我想你應該構建一份相對完整的知識體系了。
沒有一個完整的知識體系,知識點是零散地存放在自己大腦中的,雖然你已經掌握了很多知識點,但是他們並沒有串成線,當遇到一個你以前沒有觸碰過的問題,雖然你可以通過搜尋引擎很快地解決,但是搜索的過程仍然耗時。
這時你需要用一張思維導圖,把自己已經掌握的知識分類展示出來。隨著能力的提升,這張圖的內容會越來越多,可能很快一張圖已經無法展現你的知識量,這個時候可以拆解成多張思維導圖,然後繼續完善。
你可以每周或每個月抽出一些時間做這件事。它能讓你不斷完善自己的知識體系,找出知識點之間的關聯,隨之而來的是,解決問題時源源不斷的靈感。
我是女生不適合學編程
現在IT圈程式設計師男多女少是事實,但女生不適合編程這個認識卻是錯誤的。
很多人不知道,其實世界上第一個程式設計師就是一位女生。而且在很多領域,女程式設計師反而處理領先地位。
讓我們看看下面這份名單就會知道女程式設計師有多厲害:
阿達愛絲(Ada Lovelace) 世界上第一個程式設計師,還是位美女,電腦程式的祖先,建立了循環和子程序概念。
格蕾絲·穆雷·赫柏(Grace Murray Hopper) 計算機軟體工程第一夫人,開發了第一個程式語言的編譯器,可以使程式設計師更輕鬆地編寫代碼。
瑪格麗特·漢密爾頓(Margaret Hamilton) 開創了「軟體工程師」一詞,用代碼把人類送上了月球,公認的代碼女皇。
張綺霞 我國第一代程式設計師,我國第一顆人造衛星的地面跟蹤,主要程序就是出自她的手筆。
餘國荔 香港知名遊戲程式設計師,獲得遊戲開發者大會年度遊戲女性獎,微軟Direct3D顧問委員會的創始人之一。
語希範 「手機baidu」團隊研製工程師之一,由於超高的顏值,被稱為新一代「度娘」。
結語
如果你對編程感興趣,那麼就從這篇文章開始,避免這些誤區,走上正確的學習道路吧!加油!
本文源自寶比萬像it培訓,圖片來自公開網絡,轉載請註明出處。