1. 小白,想入門程序員,應該從什麼開始學,順序是什麼
小白想要成為程序員,首選是選擇一門合適的語言,比如說:python、Java、C、C++、GO語言等;其次,選擇合適的學習方式,比如培訓,周末班、脫產班還是網路班。
如果完全沒有編程基礎,建議大家學習Python,Python入門簡單、語法清晰、通俗易懂,非常適合零基礎人員。
2. 零基礎小白如何成為程序員需要學習哪些內容
自學編程沒那麼難。只要是理工科學生,邏輯思維好的朋友,都可以開始編程。這里有六種方法可以和你的朋友分享自學編程。這些方法足以幫助您入門和進階:0.書籍+視頻可能是學習編程最好的方式,對於初學者來說,可以通過視頻+書籍來學習。這兩種方式形成互補關系。編程教學視頻可以幫助你快速掌握編程,但通常比較生動,簡單,不系統。書是系統的,透徹的,枯燥的,所以最好的方法就是把書和視頻結合起來。
5.反復練習。編程是一門手藝,需要反復練習。沒有書和視頻能獨立實現嗎?學習的最終狀態無非就是:我沒有他,但是我的手很熟悉。近年來,IT行業變化很快。我們可以大致感受到我們使用的手機和互聯網產品的變化。我們從原來的非智能手機遷移到iPhone和安卓手機。我們從去網吧買電腦變成了6G內存2GHz的智能手機(已經超過了2010年的電腦配置)。
我們從大型PC游戲轉到了手機游戲。我們的每部手機都有將近100個應用。我們用過很多微信官方賬號,微店,mini 程序和mini游戲。我們從5元3000萬變成了隨時隨地刷小視頻,直播。我們很少用現金,因為我們不得不拿錢包取錢,有時我們想拿出10元錢,但我們真的沒有……豐富的互聯網產品(應用程序、H5、小程序、游戲等)背後。),IT其實是由日新月異的IT技術支撐的。
所以作為程序,你必須不斷學習,學習公司需要的任何技術。工作幾年,堅持學習也不算太累。畢竟經歷了幾年,很多東西都很熟悉。零基礎如何自學編程?成為/kloc-0成員需要具備哪些技能?這些年來,我開發了各種東西,做了各種編程工作。伺服器後端程序已經開發出來,需要幾種編程語言:JAVA、php、Node.js、Python、SQL等。已經開發了PC網頁和H5,需要Javascript,CSS3,HTML5等。開發了一個App,你需要用JAVA,SQL,HTML5。
我們開發了微信small 程序,需要CSS,Javascript,HTML等等。開發過計算機軟體,需要用到C#、Javascript、C++等。為什麼要學那麼多技術?因為不同的編程語言有不同的長處。比如玩游戲,Unity很成熟很快,很多知名游戲都是用它開發的,所以開發游戲的時候幾乎很多公司都在用它,程序會員一定要學。移動APP的開發主要使用JAVA、Swift、OC等編程語言,開發App必須學習這些編程語言。零基礎如何自學編程?成為/kloc-0成員需要具備哪些技能?
沒有接觸過技術開發的人還是不知道為什麼需要這么多編程語言。這么說吧:翻譯跟英國人說話要說英語,跟西班牙人說話要說西班牙語,跟我們說話要說中文。IT技術的編程語言和我們說的語言類似,不同的領域需要不同的語言。說了這么多,大家都知道程序員工在工作中需要的技能,以及會發展什麼。
我再簡單總結一下::程序工作人員必須掌握自己崗位的編程語言。比如做安卓APP,一定要掌握JAVA。一般掌握編程語言是不夠的。為了提高開發速度,還必須了解各種框架和庫。程序員工將發展什麼?會開發APP,網站,電腦軟體,微信程序等等。不過應該說,行業是有特長的,並不是所有的程序工作人員都能開發應用、網站、小程序…有些人只能懂一門技術,但可以是專家,比如資料庫專家。而且這些年我也只是個打雜的,但是各種發展都會...更多的雜工,僅此而已。
3. 程序員入門:如何自學編程
1、選定方向
編程的世界是多元紛繁的,大的方向就分前端開發、後端開發、移動開發、雲計算、數據處理、智能硬體、物聯網、虛擬現實等等,光編程語言都幾十種。如果沒有做過功課,貿然進入只會分分鍾懵逼。所以最好是根據自己的興趣愛好再結合市場前景,先選定一個方向,再選擇一門語言,然後頭也不回的深深扎進去。
2、優化學習方式
做好筆記,記錄經驗,我們大多數人並沒有過目不忘的神技,很多時候我們學了也不一定馬上掌握,需要過後花時間慢慢領悟,而且還有忘掉的風險,所以對於重要的知識點都要做好筆記。
3、多看官方文檔,外文資料
互聯網是一個更新迭代很快的行業,所有編程語言都會不斷的更新新功能和修復舊Bug,網上查的資料很有可能是舊的解決方案,現在已經不適用了。所以最好最快的方法就是查看官方文檔。
4、動手做項目
我們學習編程的最終目的就是用所學的做出具有一定功能的項目,而做項目又是最好的學習和鞏固知識的方式。如果前期能力不足就先做一些簡單的功能模塊,一步一步慢慢來,不要一開始就要實現各種酷炫炸天功能,遇到不會的就在網上查, 現在互聯網這么發達,獲取資源也及其方便。
4. 自學程序員需要多長時間
自學程序員需要半年的時間。
程序員職業要求:
一般的程序員都有四年的在專業領域的學習,需要一個在程序領域的學士學位獲得者,不論是數學方面的還是工程方面的都是可以的。
大約有20%的人在這一領域的計算機科學和工程學擁有更高的學位。還有很小一部分程序員是自學的,盡管一些專業性的學校或者綜合大學可以提供,但是也需要一些別的途徑來提供相關的人才。盡管學歷是比較重要的,但是公司經常把重點放在應聘者的工作經驗上,很多剛從大學畢業的大學生雖然有引人注目的學位證書,但是他們找不到工作是因為他們缺乏經驗。
(4)程序員的自學成才擴展閱讀:
程序員崗位職責
1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。
2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。
3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。
4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。
5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。
6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。
7、負責相關技術文檔的擬訂。
8、負責對業務領域內的技術發展動態進行分析研究。
5. 自學程序員的步驟
1、自學演算法。因為編程語言實現了它們自己的排序和搜索,所以自學成才的程序員總是傾向於學習如何使用它們,而不是去了解它們的工作原理。
2、自學計算理論。這是關於計算機如何解決問題,以及編程語言如何構建的一門科學。從有限狀態機到 Λ 演算,在這一類中,有一大堆重量級的主題。
3、自學純數學。傳統的計算機科學涉及范圍廣泛的重要數學主題,包括線性代數、微積分、概率論和統計學。
4、自學大〇符號法(Big O notation)。這個改編自數學領域的工具,讓開發人員能夠描述並比較不同演算法的整體性能。
很多新手都是初生牛犢不怕虎,因為不了解編程領域,便不假思索地定了一些很高的目標,比如想進大廠,想做有復雜度的項目,想短時間學習一門語言並找到工作。
理想非常充實,而現實卻很骨感。可能低估了進入該行業的難度。不是您可以僅憑意圖快速完成學習過程的。
一定要先易後難,一步一來,例如,首先了解語法,嘗試編寫一個demo,接著了解高級特效,實現高級特性,然後自己脫離教程寫一些代碼,最後做項目,大概是這樣的一個邏輯。
實際上,對於新來者來說,完成這些步驟並不容易。別看學習基本語法並不難,但是如果想入門,可能會遇到很多問題,例如環境配置在安裝和使用IDE之後,代碼語法錯誤,編譯錯誤和執行 錯誤對於新手來說很難解決。如果不藉助外力,基本上是無從下手的。
6. 零基礎程序員如何自學編程
1、入門期守一個「熬」字決
自學編程難免遇到這種現象:學了一兩個月,發現自己會的不多。
編程在一開始不會有那麼大的反饋,這種現象非常正常!關鍵是你要堅持個三個月到半年的時間,熬過這個艱難的入門期。
2、初學者盡量不要鑽牛角尖
入門期遇到難題,耗了半天時間還是沒弄懂,可以暫時跳過,知識積累到一定程度,回頭再進行解決你會發現簡單多了。
3、站在巨人的肩膀上
你遇到的那點小問題,已經有無數前輩也曾遇到過,他們總結了並分享在互聯網上了,前人的經驗是你的寶貴資源,要善於利用StackOverFlow,Quora,谷歌等。
4、尋一個編程目的
有些程序員學習編程一上來就想著月薪1W+以上,這樣的學習過程會非常痛苦,很容易放棄。
最好是奔著一個小項目而學習編程,當你把作品做出來了,就有成就感,同時基本上具備找工作的能力,直接找個初級的開發崗位,再進階,你的自學之路功與名都有了。
5、反復練習
編程是一門手藝,需要反復練習,脫離書本和視頻看是否能獨立實現?學到最後的境界無非就是:我亦無他,惟手熟爾。
7. 編程如何自學
編程有好多種的,但是萬變不離其宗。如果想要學習編程的話,首先需要給自己確定一個方向。另外,編程語言也分為很多種,目前常見的有C、C++、C#、GO、JAVA還有近兩年非常火的python。
自學的話,可以先從網上找一些基礎的入門視頻課程,無論哪種語言,或多或少都會有一些免費的學習課程,從0基礎開始,一般剛開始都是先介紹這種編程語言的來歷、發展史以及它的作用,後邊慢慢的就是一步一步教你配置開發環境(一般都是用現成的IDE,即集成開發環境),俗話說興趣才是最好的老師,為了激發學習者更加濃厚的興趣,一般環境安裝好以後都會帶領著學員開發一個極其簡單且極具代表性的程序,就是人們老說的hello world!當看著自己寫的代碼成功運行並且變成exe可執行程序的時候,相信學員在那一刻都會自信心爆棚,且滿滿的成就感。
當學到一定階段以後,就建議購買幾本紙質書籍來進行學習。也許你會有疑問,現在網路這么發達,為什麼要看紙質的書籍呢?這是因為紙質的書籍在觀看的時候更容易讓人靜下心來,而學習,心情平靜的時候才是最佳的學習狀態。如果你一直用電腦看視頻,腦海中難免就會有這樣的想法:看完這一節課我聽會兒歌、看完這節課我追會兒劇……這樣是極其不利於學習的,即便看完之後立馬再接著看課程也很難找到剛開始的那種狀態。所以如果想踏下心來學習,紙質書籍是必不可少的。
最後祝願您早日學成,成為編程大神!加油!期待有一天能用上您開發出來的軟體。
8. 要做程序員需要學會什麼
其實簡單來說,程序員的工作就是使用編程語言,根據需求寫出一個程序。
但是,在這個過程中,涉及如下幾個方面:
使用的編程語言 程序員需要選擇一門或者多門語言來編程,不同的語言適合編寫不同的程序,目前主流編程語言包括,Java、JavaScript、Python、C++、php以及其他小語種等等,每種編程語言適合開發的程序有所不同。目前從程序應用分來,主要可以分為三類a 企業應用,主要用於解決企業業務。各種企業管理後台系統,銀行系統,公安系統,圖書管理系統等等。
b 互聯網應用,面向互聯網用戶,為互聯網用戶提供各類服務。比如現在的京東淘寶各類電商系統等。
c 移動應用,各類在移動端使用的APP,有面向互聯網用戶的APP,也有面向企業內部的APP。
目前相對而言,在移動應用和互聯網應用方面,資本投入比較熱的風口,程序員的薪資較高。企業應用,發展了很多年,相對平穩。
2. 明白需求,實現需求
需求就是編寫程序的要求。一個程序要編寫成什麼樣子,具備哪些功能,都是由需求來具體說明。程序員要需要能看懂需求文檔,並且能准確地使用編程語言,根據需求中的要求來編寫成程序。企業開發的項目,往往會由該程序的架構師提供一個程序框架,程序員在該框架的規范下進行編程,實現需求的功能,以確保程序的規范、可讀,以及可維護性。
3. 日常工作寫程序
一個軟體開發一般流程是產品經理根據用戶需求做一個項目出來,然後UI設計師做一些圖片設計,前端開發編寫頁面,後台開發編寫核心編程,然後介入一些大數據和人工智慧,通過測試之類上線實施,後期還有運維進行相關維護。
程序員一般大多指的是前端和後台寫代碼程序的開發人員,除了編寫代碼,可能還需要通過介面和其它系統對接,實現系統間的數據交換。像單體測試,是程序員對自己寫好的程序單元進行測試,檢測這個程序單元數據輸入和數據輸出是否符合預期等等。測試出來的問題,需要修改正確,然後再測試,直至沒有問題。和同事共同開發的時候也需要聯合測試,以及用戶測試過後如果存在BUG繼續進行修改。
9. 程序員之路怎樣走(自學成才的進來)
給C++初學者的50個忠告
1.把C++當成一門新的語言學習(和C沒啥關系!真的。);
2.看《Thinking In C++》,不要看《C++變成死相》;
3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因
為他們很難而我們自己是初學者所以就不看;
4.不要被VC、BCB、BC、MC、TC等詞彙所迷惑——他們都是集成開發環境,而我們要學
的是一門語言;
5.不要放過任何一個看上去很簡單的小編程問題——他們往往並不那麼簡單,或者可
以引伸出很多知識點;
6.會用Visual C++,並不說明你會C++;
7.學class並不難,template、STL、generic programming也不過如此——難的是長期
堅持實踐和不遺餘力的博覽群書;
8.如果不是天才的話,想學編程就不要想玩游戲——你以為你做到了,其實你的C++水
平並沒有和你通關的能力一起變高——其實可以時刻記住:學C++是為了編游戲的;
9.看Visual C++的書,是學不了C++語言的;
10.浮躁的人容易說:XX語言不行了,應該學YY;——是你自己不行了吧!?
11.浮躁的人容易問:我到底該學什麼;——別問,學就對了;
12.浮躁的人容易問:XX有錢途嗎;——建議你去搶銀行;
13.浮躁的人容易說:我要中文版!我英文不行!——不行?學呀!
14.浮躁的人容易問:XX和YY哪個好;——告訴你吧,都好——只要你學就行;
15.浮躁的人分兩種:a)只觀望而不學的人;b)只學而不堅持的人;
16.把時髦的技術掛在嘴邊,還不如把過時的技術記在心裡;
17.C++不僅僅是支持面向對象的程序設計語言;
18.學習編程最好的方法之一就是閱讀源代碼;
19.在任何時刻都不要認為自己手中的書已經足夠了;
20.請閱讀《The Standard C++ Bible》(中文版:標准C++寶典),掌握C++標准;
21.看得懂的書,請仔細看;看不懂的書,請硬著頭皮看;
22.別指望看第一遍書就能記住和掌握什麼——請看第二遍、第三遍;
23.請看《Effective C++》和《More Effective C++》以及《Exceptional C++》;
24.不要停留在集成開發環境的搖籃上,要學會控制集成開發環境,還要學會用命令
行方式處理程序;
25.和別人一起討論有意義的C++知識點,而不是爭吵XX行不行或者YY與ZZ哪個好;
26.請看《程序設計實踐》,並嚴格的按照其要求去做;
27.不要因為C和C++中有一些語法和關鍵字看上去相同,就認為它們的意義和作用完
全一樣;
28.C++絕不是所謂的C的「擴充」——如果C++一開始就起名叫Z語言,你一定不會把C和Z
語言聯系得那麼緊密;
29.請不要認為學過XX語言再改學C++會有什麼問題——你只不過又在學一門全新的語
言而已;
30.讀完了《Inside The C++ Object Model》以後再來認定自己是不是已經學會了C++;
31.學習編程的秘訣是:編程,編程,再編程;
32.請留意下列書籍:《C++面向對象高效編程(C++ Effective Object-Oriented
Software Construction)》《面向對象軟體構造(Object-Oriented Software
Construction)》《設計模式(Design Patterns)》《The Art of Computer Programming》;
33.記住:面向對象技術不只是C++專有的;
34.請把書上的程序例子親手輸入到電腦上實踐,即使配套光碟中有源代碼;
35.把在書中看到的有意義的例子擴充;
36.請重視C++中的異常處理技術,並將其切實的運用到自己的程序中;
37.經常回顧自己以前寫過的程序,並嘗試重寫,把自己學到的新知識運用進去;
38.不要漏掉書中任何一個練習題——請全部做完並記錄下解題思路;
39.C++語言和C++的集成開發環境要同時學習和掌握;
40.既然決定了學C++,就請堅持學下去,因為學習程序設計語言的目的是掌握程序設
計技術,而程序設計技術是跨語言的;
41.就讓C++語言的各種平台和開發環境去激烈的競爭吧,我們要以學習C++語言本身
為主;
42.當你寫C++程序寫到一半卻發現自己用的方法很拙劣時,請不要馬上停手;請盡
快將餘下的部分粗略的完成以保證這個設計的完整性,然後分析自己的錯誤並重新設計
和編寫(參見43);
43.別心急,設計C++的class確實不容易;自己程序中的class和自己的class設計水
平是在不斷的編程實踐中完善和發展的;
44.決不要因為程序「很小」就不遵循某些你不熟練的規則——好習慣是培養出來的,而
不是一次記住的;
45.每學到一個C++難點的時候,嘗試著對別人講解這個知識點並讓他理解——你能講
清楚才說明你真的理解了;
46.記錄下在和別人交流時發現的自己忽視或不理解的知識點;
47.請不斷的對自己寫的程序提出更高的要求,哪怕你的程序版本號會變成Version
100.XX;
48.保存好你寫過的所有的程序——那是你最好的積累之一;
49.請不要做浮躁的人;
50.請熱愛C++!
C++的書
1. 《Thinking In C++》
2. 《The C++ Programming Language》
《Inside The C++ Object Model》
3. 《The Standard C++ Bible》(中文版:標准C++寶典)
4. 《Effective C++》
《More Effective C++》
《Exceptional C++》
5. 《程序設計實踐》
6. 《Inside The C++ Object Model》
7. 《C++面向對象高效編程(C++ Effective Object-Oriented Software Construction)》
《面向對象軟體構造 (Object-Oriented Software Construction)》
《設計模式(Design Patterns)》
《The Art of Computer Programming》
10. 如何自學成為程序員
如何學習自學編程的方式最好的莫過於在網路上面查找資源。
目前,網路上電腦資源多不勝數。其中有很多都是基礎到精通的視頻教程。通過視頻講解。讓你明白重點知識。你通過查找一套適合自己的視頻。然後看完是基本。
這里推薦幾個可以在線學習的好網站:慕課、極客學院、傳智播客、如朋網、網易公開課等等做筆記在進行看視頻的過程中,一定注意要記筆記。
對視頻中重點的部分進行截圖,並加以文字解釋。就形成了自己的筆記。這些筆記對於你來說很重要。通過記筆記的形式,你就不需要重新觀看視頻了。只需要復習的時候查看筆記就夠了,這樣就大大的節約了時間。
下面介紹一個記筆記的好軟體:CherryTree多練習代碼在視頻中講解的代碼,我認為你至少需要自己寫三遍以上。在寫代碼的時候,就用到了上面寫的筆記了。通過看筆記截圖,即可自己慢慢摸索寫出來代碼。當然練習到一定程度,就需要你適當的做個項目。鞏固自己的知識。
程序員必備技能
1、熟練開發工具
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。
而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。
其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
2、熟知資料庫
為什麼資料庫是如此重要?作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。
雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。
3、了解操作系統
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。
Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。懂得網路協議TCP/IP。
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課。
網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,深入掌握TCP/IP協議是非常必要的。
至少,需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
4、明白DCOM/CORBA/XML/WEBServices存在的意義
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。
XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布式計算的基石之一。
5、不要將軟體工程與CMM分開
大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合。
編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。
6、需求理解能力
程序員要能正確理解任務單中描述的需求。
在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
7、模塊化思維能力
作為一個優秀的程序員,他的思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。
這樣做可以使代碼能重復利用,減少重復的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。