自學編程最大困難是什麼?

如果你已經通過自學,入門編程,找到開發相關的工作,還可以回答這個問題:有多少童鞋是真正「自學」入門編程/程序員的?

++++++++++++++

如果你正在自學編程,我希望聽到你的反饋:你覺得自學過程中,最大的困難是什麼?


本科應用化學,現在是開發DBA。隨便談談自己學習編程中遇到的幾個坎

第一個困難是開始時選擇學什麼,選擇不學什麼。比如有人告訴你要學Java,有人說Python發展潛力大;有人說要看設計模式,有人說要看數據結構,有人說邊學編程邊刷leetcode。要有分辨能力,由易到難的去學習,要有定力先不看那些龐雜的東西。

第二個困難是搭建環境,熟悉編輯器。很多人會卡在搭建環境這一步,挫失信心

第三個困難是建立知識體系的困難,可能會為個別生僻的名詞困惑不已。推薦幾本速讀小書,&<計算機是怎樣跑起來的&>,&<網路是怎樣連接的&>,&<程序是怎樣跑起來的&> 有個大概的了解即可。

第四個困難是建立工程化的思維,怎樣分析問題,怎樣將複雜的問題分解為多個可以解決的簡單問題。

第五個困難是持之以恆的學習,很多人在工作中會進入舒適區而生懈怠之情。能堅持探索的人佔比是很低的


其實沒啥困難,主要還是英文要OK,不然看起來很累,費時間,很多Java web開發相關的東西,中文根本就找不到,要麼就是些過時的玩意,spring文檔又都是英文。打基礎的經典書籍一般都還好,大多都有中文翻譯,如果要看文檔,最終還是得看英文的。

補充一下: 編程本身的困難在於難以寫出正確的代碼,這個正確有兩種概念,一個是是否符合需求,一個是在符合需求的條件下,代碼是否能夠覆蓋所有邊界條件,並能給出正確的結果。

從工程上的角度來講,就是難以維護概念的完整性跟正確性,即使是一個十幾人的小團隊 花50個人月 開發的小系統,後來加入的新成員也很難在短時間內理解系統的所有部分,因為軟體系統它的根本屬性就是複雜,一輛車 它即使製造精度不達標,大體上還是能跑起來的,但是一個軟體 有些地方少寫或者多寫一個if 就完全是兩回事了


怕沒興趣。


有一幅圖描述的很形象:


沒有橫向的對比,不知道自己的學習程度到了那一步了,不知道下一步是繼續深入研究這個內容,還是點到為止,開始一個新的內容。


分心——比如看十分鐘的書就開始刷知乎,微博,豆瓣


無法認清自我,經常自以為是,隨時慘遭打臉。

學c和c++時一直以為系統就是那個命令行,自以為了不起,被老師一通罵又被老師耐心帶了一段時間,才逐步了解到b/s和c/s。

學web form的時候天真地以為做網站就是拖拉控制項,然後在事件里寫清楚程序要做的動作。同學做的都沒我好,於是又自以為了不起,直到接觸到mvc,又被壓著狠虐。

現在用django做畢設,運行成功特別開心,覺得自己很了不起,拿給導師看。導師說數據哪來的,我答弄了個小爬蟲可是總被封ip。。。導師告訴我哪哪平台可以做爬蟲,於是我花了12個小時在那個平台上鋪爬蟲,抓了2萬條記錄吧,又是自以為了不起,存好以後運系統,結果cpu和內存佔用100%,電腦配置渣,系統崩了。。。到現在沒敢跟老師談這事。

也曾拿著自己的作業和項目去找工作,面試官一臉鄙視地對我說:「你做的項目完全無法體現你的能力」。。。感覺特別傷心,但是理智知道人家是實話實說。

前幾天看了個文,才知道自己其實一直是應用型,而人家單位要的是研髮型,準備開始認真刷數據結構和演算法再想投簡歷的事情。

有時候想,如果有一個人能在自己迷茫的時候點一點,也許走得沒這麼艱難吧。


最根本的問題就是,學了一段時間,卻發現自己還是什麼都不會!還有就是就業!有的人適合自學,有的人就需要有來時帶一帶!因人而異吧!


走錯路線,誤入歧途


最大的困難就是沒有交流,也沒有可以提問的機會了。所以不知道自己這樣做是不是合適。會走很多彎路。

比如我在做一個操作網頁的程序,發現如果網頁彈出來js的confirm的時候,實際上DOM是凍結了,我想點擊對話框就點擊不了。最後實在找不到資料,就只能通過AutoIt來點擊。


沒頭緒,不知道下一步該學些什麼,找資料麻煩,不會了也沒人可以教。


自己。


以為看書就好,忽略實踐。其實要多寫代碼,編譯器是最好的老師。


走錯方向最可怕


驅動力

編程並不是個困難活,和學一門外語相比要容易得多

都是輸出,同樣花費一個月的時間,正常人都可以寫個小程序,但是,一般不能用外語寫篇日記

花費四個月時間,學編程可以找到工作,學外語,很抱歉我也不知道會是什麼水平,但肯定到不了找工作的水平。

如果你自學不好,那肯定是沒有來自內在的驅動力,所以,我不反對培訓班,畢竟每個人都很懶


在deadline前遇到解決不了的bug不摔電腦的情緒控制力。


我是個純小白,在自學php,覺得最累的就是前期反饋建立的很漫長,還有獨自一個人學很累!


推薦閱讀:

openfoam需要多少linux知識?
如何列印出所有的漢字?
如何區分一串字元是亂碼還是英文或是拼音?
新手剛接觸編程怎樣去學習比較好?
作為一個什麼都不懂的初學者,應當從哪裡開始學習編程?

TAG:編程 | 自學 | 困難 | 編程入門 | 親身經歷 |