回覆列表
  • 1 # 鬱悒輪換

    我是學電氣自動化的,程式設計對我來說只是很小的一部分內容,我學過很多,JAVA、C、C++、C#、VB、彙編等,對於簡單程式設計也沒什麼太難,只要學通一種,其他基本差不多,但是還得看個人邏輯思維能力。記住一點就好:在應用中學,不要為了學而學,這樣才能更好的學會它[靈光一閃][機智]

  • 2 # IT人劉俊明

    作為一名從業多年的程式設計師,同時也出版過程式設計書籍,所以我來回答一下這個問題。

    學習程式設計確實是一個相對比較枯燥的過程,而且學習程式設計的過程中往往還需要學習一系列關聯知識,包括計算機網路、資料庫、雲計算平臺等,所以學習程式設計一定要有一個系統的規劃。

    通常對於初學者來說,學習程式設計會有三個相對比較迷茫的階段,首先是學習程式設計的初期,此時需要記憶並理解大量的程式設計概念,要想突破這個迷茫期,一個比較有效的辦法就是透過大量的實驗來建立抽象概念的畫面感。對於目前比較流行的面向物件程式語言來說,“抽象”是比較重要的特點,理解各種“抽象”的應用是非常重要的。

    學習程式設計的第二個迷茫期是實踐的初期,在掌握了大量的基礎概念之後,如何把這些概念組合起來並形成一個完整的程式,這個過程往往也是不少初學者的困惑所在。要想順利度過這個迷茫期,應該從三個方面入手,首先是學習經典的程式設計模式;其次是閱讀完整的專案案例;其三是向有經驗的程式設計師請教,一定要重視多交流。

    學習程式設計的第三個迷茫期是如何參與到實際專案的開發中,這個過程涉及到大量的行業知識,包括需求的採集、方案的設計(技術選型)、框架的設計、功能的實現等等,不同角色要完成不同的任務,對於初學者來說,要想渡過這個迷茫期,最好的辦法之一就是參加崗位實習。崗位實習不僅能夠積累大量的實踐經驗,同時也不會有太大的工作壓力。實際上,有不少程式設計師都是透過實習崗位進入開發領域的。

  • 3 # 小宋的歡樂日常

    . 選擇一門好的程式語言,一門你自認為可以用它快速地做出一些有用東西的語言。建議你學習一種動態語言。選擇一種你覺得語法(文件)讓你使用起來更舒服的程式設計。為此,你可能需要花費一些時間來在幾種不同的語言之間進行比較。這麼做目的不是為了讓你感覺更好或者讓程式設計更容易。更快地完成自己的作品並且能夠看到成果,才是激勵你程式設計的源動力。不要選擇一門需要某種重量級的IDE(IDE是一種能夠幫助你編寫並執行程式碼的工具)才能輕鬆程式設計的語言。你所需要的僅僅是一個文字編輯器。(注:原文並沒有標號,是我們加上的,請大家別忘記了哦,我們是從零開始數數的。)2. 選擇一個好的編輯器。編輯器對程式設計師而言,就是像是弓對弓箭手一樣重要。這裡有一些推薦的編輯器:SublimeText 2 – 如果你剛開始程式設計,推薦使用SublimeText 2Emacs – 學習曲線陡峭,快捷鍵複雜。如果你想定製自己的使用習慣,需要學習Emacs Lisp.Vim – 不僅操作簡潔而且它預設包含在linux的發行版中,所以深受大家歡迎。我開始使用了2年Emacs。由於Emacs的快捷鍵操作過於複雜,我的雙手開始經常疼痛,這迫使我轉向了Vim陣營。瞭解Vim的快捷鍵是非常有必要的。當你在遠端的伺服器上編輯程式碼時,你唯一不需要安裝的編輯器就是Vim。注意!Emacs和Vim可能已經成為成為古董了。但是,它們都具備一些現代編輯器多不具備的功能。3. 選擇一個你可以從中學到東西的作業系統Windows不會教會你任何東西。使用Windows你唯一學會的就是開啟一個exe(可執行)檔案來安裝軟體和使用它。可能剛開始的時候你會覺得很酷,但是長遠來看,如果你立志成為一個web開發人員,可能還是要具備基本的linux知識,尤其是當你要釋出程式的時候。Linux也允許你根據自己的要求來定製程式。Macs也很酷,但是我認為你現在經濟上還負擔不起。4. 不要透過複製貼上來做備份一個新手程式設計師通常會把檔案複製貼上到一個臨時目錄下面來進行備份。這也許也是他們唯一知道的方法。不要那麼做!你需要使用版本控制軟體。我強烈推薦使用Git,它是個目前很流行的版本控制工具,而且使用起來非常簡單。對一個Git新手,有一個良好的社群和很多參考資源來學習。(除了Git之外,還有mercurial, darcs, fossil等等。但是我還是建議從Git開始,我有很多的理由來支援Git,這裡就不多費口舌了。)5. 知道去哪裡尋求幫助參加一個和你相關的(你使用程式設計工具相關的)程式設計師社群。比如StackOverflow就是程式設計師的Facebook。那裡沒有訊息狀態和回覆,取而代之的是問題和答案。除此之外還要學會使用IRC。IRC是一種老式的聊天室,現在還在被大多數開發人員用來分享技術資訊和幫助解決問題。6. 培養你的禮儀知道什麼時候問問題。你遇到的大多數問題都是別人碰到過並且在Internet上能夠找到解答的。在IRC或者任何論壇裡發問之前,先搜尋一下google(或者blekko)來看看是不是有現成的答案。在IRC上問問題需要有耐心。永遠記住,人們只是處於好心來免費幫助你。有時你發問以後需要幾個小時才能有回覆。所以,耐心等待。除此之外,記得問問題的時候要禮貌。世界很小,你怎麼對待別人,別人就會怎麼對待你。7. 結交朋友,技術書籍只能教你解決常見的問題當你在搗鼓一些程式或者從程式的作者那裡學習,你能學到一些書本上沒有的東西。當你散步的時候,請和遇到的朋友打招呼。你肯定不是唯一的程式設計師。和其他的程式設計師一起交朋友一起工作。你會注意到,當一群技術愛好者在一起的時候,不論話題是從什麼地方開始,最後總是以技術話題收尾。這是必然的現象。所以你可以盡情參與。在你的黃金年齡努力程式設計,我能告訴你的是,我在開始6年前尋找朋友並開始討論程式設計,從那時起才學到那些書本和文章不會我的東西。所以我總是說,我的程式設計經驗有6年,因為只有那個時候開始,我才開始與人交流並開始感覺真正地開始學習程式設計。8. 參加開源專案為開源專案編寫程式碼能帶來回報。這不僅僅是幫助別人,你留下的程式碼會被其他人使用或(可能)改進。當別人給你的程式碼新增功能或者提出修改意見時,也是在提高你的程式設計水平。開源軟體專案不一定要是一個大工程,編寫一個下載youtube影片的小程式也是很有用的。更重要的是,你會驚奇地發現你編寫的程式碼會成為與他人有效溝通的橋樑。希望可以幫到您,謝謝!

  • 4 # 兒女成長記

    如果你是準備把程式設計作為自己的職業的話,建議你與從事程式設計工作多年的朋友溝通交流,說出你迷茫和困惑的地方,說不定就能找到你迷茫的問題之所在

    如果你是在校學生,你可以和過往畢業的師兄師姐多交流或者導師交流,說出自己的想法,看看他們能給到你什麼意見。

    其實,你的問題應該更詳細些,不然回答者可能不一定了解你的處境,不能按照你目前的實際情況做出最適合你的回答。

    我大學的時候學的是非計算機專業,只上過c語言、和sql語句。後面有幸直研,導師名下有寫論文做研究的,也有寫程式碼搞程式設計的。我當時比較困惑,不知道選哪個方向合適,當時其實更偏向於學術研究,繼續讀博士,然後進高校或者研究機構。但後來種種原因,還是覺得學程式設計,早點出來工作比較好。

    讀研期間主要用微軟的C#寫程式碼,寫的是winform相關的,寫多了覺得是重複勞動,都是業務邏輯,成長比較慢(工作了才知道在校做專案迭代節奏真的慢),再加上週圍都說學程式設計要搞c++,懂底層,懂演算法,不然沒有競爭力... ...

    於是開始圖書館借書,學習c++和資料結構,寫程式碼,譬如寫父類,子類,寫遞迴,寫前序遍歷等。但都比較簡單,知識比較零散,這看看,那看看(回想這時也迷茫,書借了很多,並沒有深入學下去),後來找工作的時候,想著就去應聘c++的後臺開發。結果面過幾家公司,不是筆試被pass,就是面試被pass。才發現自己的c++知識很膚淺,浮於表面,而且沒有做過系統的專案。

    現在回想起來,在校期間,如果想搞c++,首先應該設定一個方向和目標,圍繞一個具體的系統去用c++實現(記得當時有個其他導師的研究生用vs寫了一個比較大的系統)。這樣就相當於有個完善的c++開發經驗(而且面試的時候可以拿出來展示,證明自己的能力);當然更好的方式是去公司實習做專案,這種機會應該是比較多的,當然導師這邊也同意你大量時間去外面實習才行。

    以上是自己在校期間磕磕碰碰寫程式碼,以及選擇程式語言的經歷。

    後來工作,最終有幸找到一家大公司,做後臺開發,用的就是C++,心裡別提多開心了。當然開心是短暫的,短短1個月時間,就發現自己心情非常低落,也比較迷茫。因為當時自己的工作是用c++後端做網路伺服器相關的工作。而自己c++還比較薄弱(工作時才意識到真的是薄弱),寫些函式都要找介面,找方法,寫demo驗證,速度比較慢。更麻煩的是自己linux/tcp/ftp/多執行緒/多程序知識只知道概念,就沒有實際自己去寫過程式碼,跑過demo。這個時候就意識到自己真的很菜,和同事之前的差距不是一般的大。沒辦法,硬著頭皮啃,但還是難度比較大,壓力比較大。最後硬著頭皮和leader溝通,看能否從基礎一點的工作開始,後面leader說那就安排你先從工具開始做起(算是過度,比做業務壓力小些),慢慢熟悉基礎知識。經過3個月的加班加點,終於摸到眉目,可以上手寫下簡單模組的需求。當時做出第1個大需求時,十分有成就感。

    又經過近2年的工作後,伺服器各個程序,各個模組,業務知識都比較熟了,能各個模組都上手做需求。後來因為一些原因,離職去了騰訊,去的時候也是滿心歡喜,想著能做網際網路這塊,能做很多人用的產品時,很有自豪感。

    等到騰訊時,發現做的業務、後臺架構和自己之前很不一樣,又要重新學起。但基本的c++、linux、網路、程序和執行緒這些知識還是完全夠用的(這也感謝上家公司的專案和兄弟姐妹的共同磨礪),這個時候又有些疑惑了,我之前公司學的業務知識,架構就相當於白費了麼?多年的工作經驗,在這裡就用不上了麼?和剛開始就在這裡工作的同事比,我是不是落後很多?

    後來,一邊工作,一邊學習思考。終於想明白了:程式設計只是一個工具,是用計算機語言實現需求的工具,你寫的程式碼能看出你的思路和修養。而不同的公司有不同的產品特性,技術積累,大家側重點不一樣,原始搭建的架構也不一樣。如果能從一個技術挖到底,當然是最好的,這樣能成為這個領域的專家,有競爭力,我身邊就有這樣的例子,很是羨慕。當然,如果換成不一樣的方向了,也沒關係,之前的技術積累在,雖然業務知識可能用不上,但有些思想是可以用上的,自己也需要多花費些時間。

    寫了這麼多,也不知道我的經歷,對你有沒幫助,有沒啟發。如果你能描述清楚你的具體問題和處境,估計大家更能針對性的給出建議。

  • 5 # 網際網路對對碰

    如果自己真的喜歡這個專業,那麼就堅持走下去。路漫漫其修遠兮,吾將上下而求索。

    如果只是為了餬口的話,那麼可以考慮一下別的。

    畢竟三百6十行,行行出狀元,遇到瓶頸了,儘量突破。讓自己變得更厲害。

  • 6 # 少白招財貓

    其實,任何一個東西,想要學好它真的很不容易,非得下一翻功夫不了,程式語言是一門很深奧的知識,學好它很不容易,但是無論學習什麼東西,我們都得先從理解開始,要研究它內在的東西,理解透它才不會陷入迷茫的困境,先從簡單的開始,從自己學習這門語言的初衷開始,為什麼要學它,學來幹什麼用的,這樣一點點地撥開,自然就知道了學習的目的,也就知道了學這些的用意,自然也就明白了學習的真諦。也就明白了從哪一方面開始著手學習了,謝謝

  • 中秋節和大豐收的關聯?
  • 有些想做的事情,該不該去做呢?