1. 自學程序員要多久
自學成為程序員的時間因人而異,大致需要半年到一年左右。這取決於個人的基礎情況、學習方法和職業目標。
對於完全沒有編程基礎的小白,選擇自學的方式,可能需要花費一年時間才能達到能夠就業的水平。
如果選擇通過可靠的IT培訓機構進行學習,一般而言,大約需要5到6個月的時間,便可以掌握初級程序員所需的技能。
在自學過程中,遇到問題時,可以通過網路資源、論壇或社區獲取幫助,同時也可以參加線上課程,以獲得更系統的學習。
值得注意的是,自學不僅需要時間,還需要持續的努力和實踐。通過不斷練習和項目實踐,可以更快地提高編程技能。
另外,積累實踐經驗對於提升編程能力同樣重要。可以嘗試參與開源項目或個人項目,這樣不僅能夠鞏固所學知識,還能積累實際工作經驗。
總的來說,無論是通過自學還是參加培訓,成為程序員都需要一定的時間投入和努力。最重要的是保持學習的熱情,不斷探索和實踐,才能在編程領域取得成功。
在學習過程中,建議制定合理的學習計劃,定期復習和總結,以確保知識的系統性和連貫性。
同時,也要注重培養良好的編程習慣,如代碼規范、文檔編寫等,這些都將對職業發展產生積極影響。
總的來說,自學成為程序員是一個系統且長期的過程,需要堅持不懈的努力和不斷的學習。
2. 程序員一般要學多久
學習編程需要多少時間呢?學習編程需要4個月左右,時間太短是學不會的,如果想學得深一點的話,需要學習2年左右。
在進行學習的時候,必須要先把握最基礎的知識,不然的話後期工作起來會感覺很難。
程序員要學多久
問題一:自學程序員要多久你要是一點基礎都沒有的話,你學PHP什麼的看視頻只要努力幾個月就可矗學會了,如果自學java,C++的話就不用想了,我大學上課聽都聽不懂,雖然我也不想學,但有老師比沒老師至少要好多了。如果有一點基礎的話,PHP這種弱語言類型也很容易學的,大概就一兩個月就可以了。但沒有努力再想學也是白搭,而且能看懂學會也不代表會用,程序最重要是會用,這個實踐是最好的老師!
問題二:作為一個程序員需要學多少技能介紹下我的想法:
大學里學的是計算機專業,所以順道學了不少計算機系的基礎課程,總體來講學得很不好,直到大四畢業,我才勉強下定決心要以寫代碼為生(現在想想,可能是當時實在想不出其他出路)。大學4年,很遺憾的事情就是我沒有弄清楚該去真正學些什麼東西。
畢業後第一份工作,在一家小公司寫servlet/jsp,說實話,我寫的很爛,當時帶我的人對我的工作很不滿意,直到有一次,項目經理跟我談說,你的工作表現你也看到了,差點就被開掉了,不過我覺得還是要在給你機會。。。當時,我真的是自信心崩潰到極致,覺得自己這段時間其實很努力,但為什麼還不入門路。。這次經歷給了我非常大的影響,之後的不久,我終於明白了怎麼去寫那些servlet/jsp,於是我努力的寫那些代碼,不久,我就成了公司新員工裡面,做東西最快的人。當時還發了個公司的什麼最快進步獎給我。我想第一份工作給我最大的感受是,想要做為一個程序員,你得先明白,程序是個什麼東西。
一年多以後,servlet/Jsp實在不想寫了,於是換到另外一家公司,做聊天軟體的J2ME客戶端。其實我當時不懂J2ME,在剛入職的一個月里,啃完CLDC和一些會用到的JSR的英文文檔,然後每天去看項目的代碼,有任何問題就去問周邊的同事。不久,我也慢慢能寫一些J2ME的代碼了。接著,我加入了新版客戶端的項目組,開始做一些UI組建。最開始,我寫一個Text組件,就是把文字顯示到屏幕上,還要根據屏幕可顯示區域的寬度、高度對文字做調整。沒幾天,我就信心滿滿的寫完了這些代碼,原來寫客戶端代碼也不難啊。不過不久,當同事要用我的組件時,問題百出,以至於同事跟經理抱怨說,這么基礎的組件應該給有經驗的人去寫啊。。這次,雖然我的工作做的很爛,可自信心倒沒受多少打擊,因為已經工作一年多了嘛,臉皮厚了不少。但是我心裡知道,我的工作肯定哪裡出了問題,否則我的組件應該能經受住使用者的考驗的啊。這份工作中,我學到了不少東西,首先呢,臉皮要厚一點,不會就追著去問,其次,沒有想清楚的話,寫出來的東西經不住考驗的。再次,英文資料好像更准確啊。當然還有一些具體的編程技術。
大概又過了一年多,大家都說J2ME快完蛋了,android已經開始大興其道,公司裡面也有人在做android客戶端,可我還在寫沒有前途的J2ME.恰好,qq群里有人發消息說招人,我腦子一熱,扔了份簡歷過去。於是,一個多月後,我就到了新的公司上班,這家公司是一個做手機的廠商,而我也可以參與android的開發。在這個公司的前3個月,基本啥活沒干,除了學習android之外,就是各種培訓和等待。大概待到5個月的時候,我實在坐不住了,我去跟經理說,有沒有活可以給***。經理說我考慮下,不久便安排給我一個項目,讓我去把它維護好了,然後集成到產品裡面。可當我拿到代碼時,傻眼了,2w多行代碼,而且很多地方寫的很復雜,看了好幾天也沒看懂。好吧,不管了,這件事既然是我負責,那怎麼都應該挺住。在接下來的快2個月里,我每天都撲在這兩萬多行代碼里,解決裡面的bug,理解裡面的設計思路、代碼風格、編程技巧,使用公司的工具鏈,從發布、審核到持續集成等等。我了解到了很多我平時不知道的東西,我解決了發現了的所有的bug。可是最終,我並沒有把這個項目維護到可以發布的程度,最後一關的AT&T的穩定性測試宣判了我的這個項目的死刑,隨後這兩萬多行代碼慢慢的從我的提交列表裡面消失掉了。我第一次明白了,竟然還有如此嚴格的質量測試,也明白了什麼叫風險與代價,雖然這些代碼,我已經用monkey模擬跑過了5個鍾頭,但是依然被ATT測試蹂躪2個鍾頭之後掛掉。......
問題三:自學程序員需要多長時間自學程序員,難不難要看你肯不肯多花時間在上面,有很多方面要涉及,對於編程語言更是需要你多實踐多上機,才能有所收獲,當然如果你很喜歡編程的話,你也會發現編寫程序也是一件很有樂趣的事情,完成了也很有成就感。當然,要考程序員,光編程還是不夠的,暢需要涉獵計算機相關方面的知識
問題四:自學成為程序員一般需要多久程序員有很多開發語言每個開發語言學習周期都不同零基礎從入門到熟悉怎麼著也得半年基本上要1年多三到五年能精通
問題五:當程序員要學習多久?學完了多少錢一個月?看你學到什麼程度!看你學多少科目。計算機語言編程常見的大概有10種以上。
大多數大城市的普通程序員都是IT業的民工。工資談不上高,工作壓力大
問題六:通過自學從小白到程序員需要多久學習需要多久就看自己的時間分配了。自學需要的時間真的不好說,有的人一年也許能學到入門了,有的人啥也沒學到。
問題七:程序員難學么要學多久才是中級java你要知道一個問題,並不是你學的越久就能達到中級高級,首先你要知道中級的要掌握什麼樣的技術,比如主流框架,優化資料庫等等,還要有一定的工作經驗,解決自己或者別人工作中遇到的各種問題的能力,如果沒有,你掌握再多也只不過紙上談兵而已
問題八:自學程序員要多久,如何找工作這個時間就說不準了,自學得看你自己的自製力和接受能力。一般在培訓學的話就4個月,自學估計得要更長時間。至於找工作,自學會有點難度,只能說碰運氣了。個人不建議自學
問題九:學習編程到成為一個能賺錢的程序員最快要多久這個要看學習編程的天賦了。賺小錢的技能的話,一周左右就可以了
零基礎學習Java編程需要多長時間?零基礎學習java編程所需要的時間是受很多因素影響的,比如,你自身的學歷,學習態度,是自學還是培訓等,所以無法用一個確定的時間段來進行評估。
對於零基礎的學生來說,想學好java編程,參加專業的軟體編程培訓是很有必要的。專業的軟體學校都是因材施教,針對不同的人群開設不同的班級,學的時間也有所不同,一般情況下,高中生是兩年時間,大學生是6個月左右的學習時間。
如果是自學的話,時間只會更長,大概需要2-3年的時間!還不一定能學會java。當然,也有學得快的,建議您如果自學的話,可以採納以下方法:
1、找一個行業當中的師傅進行規劃和指導。
2、每天規劃好學習時間,不要中斷。
3、先掌握了解知識體系後編寫項目,邊抓細節。
java應用廣泛,課程體系全面,零基礎通過自學Java最終找到一份Java開發的工作,其實這件事還是有難度的,沒有好的學習教材以及良性的學習規劃、遇到難題無法解決導致學習效率很低、作為一個零基礎的初學者沒有人指導帶著學都是需要克服的問題。
Java程序員基本上都是高薪待遇的,而通過Java培訓課程的學習,是相對而言比較便捷的成為Java程序員的方法,通過Java培訓班6個月左右的課程學習,掌握Java編程技術,將所學與項目結合,邁出程序員職業道路的第一步,隨著工作經驗的積累,薪資只會增長。
想學Java開發,一般需要學多久呀?我們大家學習Java從入門到能掌握可以找到一份工作,平均周期在三年左右,也有一些兩年就自學完成的,而且我個人認為報培訓班是很需要的,我們大家在剛接觸Java的時候,會有些迷茫,不知道該從哪裡入手,那是因為在學習上沒找到對的方法。
學習是場持久戰,短時間的突擊學習收獲並不是很大,學習重在行動、貴在堅持,能堅持下來才是最難能可貴的。
學習java,說實話,入門並不難,但是學精可不容易!對於零基礎學習java編程所需要的時間也是受很多因素影響的,比如,你自身的學歷,學習態度,是自學還是培訓等,所以無法用一個確定的時間段來進行評估。
對於零基礎的學生來說,想學好java編程,參加專業的軟體編程培訓是很有必要的。專業的軟體學校都是因材施教,針對不同的人群開設不同的班級,學的時間也有所不同,一般情況下,高中生是兩年時間,大學生是6個月左右的學習時間。
如果是自學的話,自學的話比較考驗你的學習能力與自律能力,想要熟練掌握Java技術,至少需要兩年左右的時間(高中生的話那時間會更長)!不過也有學得快的,建議您如果自學的話,可以採納!
1、找一個行業當中的師傅進行規劃和指導。
2、每天規劃好學習時間,不要中斷。
3、先掌握了解知識體系後編寫項目,邊抓細節。
java應用廣泛,課程體系全面,零基礎通過自學Java最終找到一份Java開發的工作,其實這件事還是有難度的。沒有好的學習教材以及良性的學習規劃、遇到難題無法解決導致學習效率很低、作為一個零基礎的初學者沒有人指導帶著學都是需要克服的問題。
培訓的話,一般培訓機構會根據課程安排及大綱進行教學,通過6個月左右的時間,就能掌握Java編程技術,將所學與項目結合,邁出程序員職業道路的第一步,隨著工作經驗的積累,薪資只會增長。
記住,學java還要看興趣,如果你真的深入學習,你會發現「學java要多久?」是個毫無意義的問題,不要忘記,技術的道路更新實在太快。人只有在不斷學習,才能走在技術的最前端。也許一輩子都要學呢?活到老,學到老,而且互聯網技術更新迭代很快,只有不斷學習才能更上時代不被淘汰。
學編程難不難,一般要學多久從零開始學編程一般需要4-6個月。入門編程應該先學入門C語言或者python:C語言語法簡單,有良好的邏輯抽象,如果是要更全面、深入地學習語言本身就C。python語法更加簡單簡潔易學,而且有各種強大的庫,擴展庫,如果是為了通過編程這一手段來迅速地做出有用、實用的程序和界面可以學python。現代很多語言都是從C語言發展而來的,所以可以以C語言做跳板進階其他面向對象的高級語言。慢慢接觸C++,或高級編程語言(如:Net,Java等),網頁設計相關的語言(HTML+CSS+Javascript)。如果想做一個程序員,在沒有基礎的情況下,買書自學是一個辦法,但是大多數人會因為沒有相關的基礎知識,導致看書看得一知半解,在不了解的時候,買的書不確定一個方向,編程語言太多了:java、C++、python、PHP、C等,需要確定方向,從基礎學起,建議零基礎學編程的小夥伴從C語言開始學起,C語言入門比較簡單,會提升自信心。
自學編程入門一定要階段性的看到成果,這個「成果」並不是在「黑匣子」裡面實現,要在用戶展現界面呈現,很容易提升信心。
機器語言
在計算機系統中,一條機器指令規定了計算機系統的一個特定動作。一個系列的計算機在硬體設計製造時就用了若干指令規定了該系列計算機能夠進行的基本操作,這些指令一起構成了該系列計算機的指令系統。
在計算機應用的初期,程序員使用機器的指令系統來編寫計算機應用程序,這種程序稱為機器語言程序。使用機器語言編寫的程序,由於每條指令都對應計算機一個特定的基本動作,所以程序佔用內存少、執行效率高。缺點也很明顯。
3. 程序員入門先學什麼(程序員初學)
菜鳥程序員需要學習哪些基礎知識java學習是由簡入難的學習過程,不要一開始就學習太過於復雜的,也不要好高騖遠,java的基礎很重要,所以一定要由最基礎的學起,抓實基礎。下面是昆明北大青鳥java培訓小編結合大部分情況為大家總結下:菜鳥程序員需要學習哪些基礎知識。
首先要學習java的基礎知識。
不要被新技術迷惑,所謂萬變不離其宗,新技術都是基於java的基礎之上,如果基礎不扎實,對於這些新技術的理解也是一知半解,學不到根源。
1、web開發
全面的JEE的web開發知識:Servlet+JSP+javaBean+TagLib,到這里做一個完整的web應用項目開發。
2、J2EE基礎
j2ee說白了就是做網頁,這時候你要從先從java里脫身出來,學些跟網頁有關的東西:
html:很簡單的東西不是太笨的話半天左右即可搞定
js:易學難精,想速度找工作不必花太多時間,隨便買本javascript書略讀並備查推薦:JavaScript高級程序設計;JavaScript權威指南
資料庫:如果沒有基礎的話,建議多花時間,至少一個月,開始建議用mysql,然後是oracle,然後是sqlserver,這段時間最關鍵的就是sql語言的編寫。
xml就是一種封裝數據的格式,沒啥好學的,練習一下怎麼用dom4j或者jdom讀寫xml即可。
jsp,servlet,tomcat:這段時間說白了就是用jsp來做個網站。
3、EJB開發
包含全面的EJB知識:1)EJB入門和無狀態會話Bean;2)有狀態會話Bean;3)BMP和CMP是實體Bean;4)jms和MessageDrivenBean;5)事物和安全(JTA、JTS和JAAS);6)WebService的開發和應用;
要會使用主流框架
框架其實就是一些公共的工具和方法,被封裝到一個盒子中供您隨時調用,框架也是別人用java編寫的,相當於你調用別人寫好的公共模塊,可以節省時間和效率。
主要是3大框架:
mvc框架:struts,struts2,jsf
or映射框架:hibernate,ibatis
業務框架:spring
重量級框架:ejb
這些都是java技術的學習知識點,和學習流程,先簡單後復雜,由一個點展開,開始更廣更深入的學習。這些都掌握了以後,你就學會了java,具備了基本編程的能力,但不代表你就能做出優良的產品,所以接下來,你就需要學習軟體工程和演算法,進一步的提升自己。想更快更扎實的學習java知識嗎?趕緊到昆明北大青鳥java培訓機構報名吧,選擇昆明北大青鳥,你絕不後悔!
小白,想入門程序員,應該從什麼開始學,順序是什麼?
首先,你需要選擇一門自己感興趣的編程語言。現在常見的編程語言有:
C/C++:屬於大多數情況下能接觸到的相對基礎的編程語言了,優勢是基本掌握以後面對其他語言均可以「無壓力」;壞處是學習起來非常的困難,需要系統性的了解非常多知識點,且耗時一般較長。如果你有更多的時間和精力,同時希望能夠長期更好的發展成架構師,那麼這可能就是你比較合適的語言選擇了。
Java:應用廣泛,幾乎大多數開發場景都有java或者java變體的身影。學習java你可以了解到面向對象思想,了解虛擬機等的概念,面對常見的開發也能夠有應對方案。同時這個語言對比C/C++能簡單不少,在很多情況下是面向新手比較合適的選擇了。
Go:最近一段時間流行起來的語言,在面對高並發等場景下有天然的優勢。Go語言有自己獨到的特性,同時也可以支持一些C語言的能力,而且也越來越在國內的互聯網公司作為首選開發語言之一。
PHP/?Python/?JavaScript/.net/Swift/...:這些語言大多有自己的特定應用場景,比如Python在大數據和人工智慧領域比較常見,JavaScript是前端開發的必備語言等。如果你希望的工作有比較強烈的語言要求,那麼選擇上面的語言准沒錯。
?????????????????
其次,掌握數據結構及演算法,同時能夠通過程序語言實現。
比如常見的數據結構,像是數組、鏈表、堆、棧、隊列、樹、圖等,盡量都有機會了解數據結構的實現原理(包括自己用代碼能夠簡單編寫),知道數據結構的優缺點,以及在什麼場景下使用。演算法原理上如時間空間復雜度,一些數學概念;同時一些經典的排序、與數據結構結合的實現,也應當有了解。
這些推薦你去找專業的書籍,系統性的選擇;盡量減少如面試寶典等取巧的方式,深入掌握不僅僅是找工作,在後續的工作中也能更好的幫到你。
?????????????????
再次,了解計算機基礎。
常見的計算機基礎包括計算機組成原理(簡稱機組)、操作系統、網路、編譯原理等。這里需要投入比較多的精力,如果確實時間上比較緊張,可以有側重的選擇。
比如你希望從事偏底層的開發工作,那麼更側重在機組和操作系統上;如果側重在上層開發,那麼可以側重在網路上,以此類推。當然,更好的掌握以上知識能夠在很多不經意的時間給到你幫助,如果有空,也建議多深入的理解。
最後,知道一些計算機知識的應用。
這里就比較多了,比如資料庫、一些基本的項目設計、項目實戰等等,根據你希望的工作有針對性的去了解,或許有不小的幫助。
按照上面這幾個步驟進行下去,可能確實需要投入一定的時間和精力,但是一旦你選擇希望成為一名程序員,就一定要堅持下去,才能取得更好的結果。
編程入門先學什麼比較好?01
C語言
編輯程序讓電腦執行的過程就叫編程。很多軟體都可以編程,具有代表性的計算機語言有Java,BASICC,C++,VB,VF,SQL,網頁編程JSP,ASP,PHP,軟體是eclipse,MicrosoftVisualStudio,MicrosoftVisualBasic,MicrosoftSQLServer,等等。Java是應用最廣泛的編程語言之一,大學中則常常以C語言作為編程的入門語言,BASIC是Beginner'sAll-(初學者通用符號指令代碼)的縮寫,是國際上廣泛使用的一種計算機高級語言。所以編程入門可以先學習C語言。
編程入門在大雪中常常以C語言作為編程的入門語言,BASIC是Beginner'sAll-(初學者通用符號指令代碼)的縮寫,是國際上廣泛使用的一種計算機高級語言。所以編程入門可以先從C語言學習開始。
計算機雖然功能十分強大。可以供你上網、打游戲、管理公司人事關系等等,但是沒有程序,它就等於是一堆廢鐵,不會理會我們對它下達的「命令」。於是,我們要馴服它,只有通過一種方式——程序,這也是我們和計算機溝通的唯一方式。
程序也就是指令的集合,它告訴計算機如何執行特殊的任務。
寫出程序後,再由特殊的軟體將你的程序解釋或翻譯成計算機能夠識別的「計算機語言」,然後計算機就可以「聽得懂」你的話了,並會按照你的吩咐去做事了。因此,編程實際上也就是「人給計算機出規則」這么一個過程。
隨計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。
電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。
C語言是國際上廣泛流行的、很有發展前途的計算機高級語言。它適合作為系統描述語言,既可用來編寫系統軟體,也可用來編寫應用軟體。
早期的操作系統等系統軟體主要是用匯編語言編寫的(包括UNIX操作系統在內)。由於匯編語言依賴於計算機硬體,程序的可讀性和可移植性都比較差。為了提高可讀性和可移植性,最好改用高級語言,但一般的高級語言難以實現匯編語言的某些功能(匯編語言可以直接對硬體進行操作),例如:對內存地址的操作、位操作等)。人們設想能否找到一種既具有一般高級語言特性,又具有低級語言特性的語言,集它們的優點於一身。於是,C語言就在這種情況下應運而生了。
程序員新手入門學什麼好?代碼編程入門學習介紹如下所示。
1、掌握編程思想
很多人學習編程的時候一上來就閱讀大量的書籍,死記硬背各種語法,然而到最後成效並不大。如果想成為一名優秀的程序員,最重要的是掌握編程思想、找到編程感覺,而不是死記硬背語言本身。一名程序員的高級境界,是在反復的實踐、觀察、分析、比較、總結中潛移默化積累的。
要學會編程思想、找到編程感覺,必須從實實在在的編程實際工作中去實踐和體驗。不少朋友在學習編程時只簡單地學習語法、結構,枯燥而且目的性也不強,會大大降低初學者的興趣和學習效果。
而一般的書籍,也只從語言本身去講解語法和舉一些針對這些語法的應用例子,跟使用說明書沒有太大差別,沒有起到灌輸編程思想,培養編程感覺的作用。
2、學習C語言或者python語言
python語法更加簡單簡潔易學,而且有各種強大的庫,擴展庫,可過程可對象,如果是為了通過編程這一手段來迅速的做出有用、實用的程序和界面,可以學python。
入門是從Basic語言開始的,大概熟悉程序的基礎語法與邏輯後,進階C語言。現代很多語言都是從C語言發展而來的,所以可以以C語言做跳板進階其他面向對象的高級語言。
3、學習JavaScript
若想要見效快的話,大家可以從JavaScript開始學起,畢竟你安裝的瀏覽器就已經自帶了語言環境了,並且JS現在基本前後通吃,你既可以寫前端界面也可以寫後端服務,是一門性價比很高的語言。
程序員需要學些什麼?程序員的崗位需求很多,例如大型網路公司、軟體開發公司等等都需要程序員。
程序員需要學習:
1、掌握數據及其轉換、數據的機內表示、算術和邏輯運算,以及相關的應用數學基礎知識;
2、理解計算機的組成以及各主要部件的性能指標;
3、掌握操作系統、程序設計語言的基礎知識;
4、熟練掌握計算機常用辦公軟體的基本操作方法;
5、熟練掌握基本數據結構和常用演算法;
6、熟練掌握C程序設計語言,以及C++、Java、VisualBasic中的一種程序設計語言;
7、熟悉資料庫、網路和多媒體的基礎知識;
8、掌握軟體工程的基礎知識,了解軟體過程基本知識、軟體開發項目管理的常識;
9、了解常用信息技術標准、安全性,以及有關法律、法規的基本知識;
10、了解信息化、計算機應用的基礎知識;
11、正確閱讀和理解計算機領域的簡單英文資料。
程序員必備技能:
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、模塊化思維能力
作為一個優秀的程序員,他的思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。
這樣做可以使代碼能重復利用,減少重復的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。
就業方向:
1、網路開發
現在網路已經成為世界通訊的一座橋梁,好像Javascript、PHP、Ruby這幾類開發語言大部分是用作網路開發方面。
2、企業軟體開發
JAVA、C#、VB這幾類開發語言都實現了面向對象開發的目標,更多時候用於企業系統的開發。
3、系統軟體
C語言、C++、Object-C這些軟體更多是用在系統軟體開發,嵌入式開發的方面。
當然,這分類不是絕對,像JAVA、C#、VB很多時候也用於動態網站的開發。在很開發項目都會使用集成開發的方式,同一個項目裡面使用多種開發語言,各展所長,同步開發。
但所以在剛入門的時候,建議先為自己選擇一種合適的開發工具,「專注地投入學習,全力一擊」。
(3)程序員與小白擴展閱讀:
會編程、會計算機語言就能加入互聯網發展大潮中,享受數字經濟發展的紅利,一時間社會上的程序員培訓機構都變得格外火爆。
但是現在,專家的數據分析結果告訴你:若想跟上數字經濟發展的步伐,光會編程可不行,這個行業現在緊缺高端的、綜合型人才。
11月22日下午,清華大學經管學院互聯網發展與治理研究中心與領英聯合發布《中國經濟的數字化轉型:人才與就業》,揭示我國數字人才現狀與趨勢。
報告顯示我國數字經濟發展面臨人才短缺的挑戰,但這種短缺主要體現在擁有中高級專業技能數字人才的比例不高,擁有人工智慧、智能製造等前沿技術的人才更是少之又少。
與美國、英國、加拿大等國家相比,中國的數字人才儲備尚有很大差距。
此外,報告根據對人才需求的數據分析,結果顯示我國數字人才的技能需求不再強調單一編程技能,更加看重技術、管理和領導力等綜合技能。
2015年,我國從事信息傳輸、軟體和信息技術服務相關工作的人數約350萬,但其中中高端人才,特別是前沿技術的數字人才並不多。根據領英中國智庫的研究,在人工智慧領域,美國的從業者數量在85萬人以上,印度15萬,英國14萬,中國只有5萬多人。
報告負責人、清華大學經濟管理學院副院長陳煜波教授表示,我國目前在大數據與人工智慧領域人才缺口明顯。
他解釋說,目前中國85%以上的數字人才分布在產品研發類,而深度分析、先進製造、數字營銷等職能的人才加起來只有不到5%,存在較大缺口,新興技術人才和創新型人才培養方面存在滯後和不足。
這份研究報告的基礎數據來自領英在中國的3600萬個人用戶,這些用戶畢業於1.5萬多所國內外院校,分布在36.4萬家企業,擁有超過2.3萬項技能。
陳煜波研究團隊從中篩選了72萬數字人才,多維度提取用戶畫像並跟蹤其職業軌跡,以此預測不同地區的人才流向、僱傭率、受僱主歡迎的技能等人才趨勢層面的信息。
陳煜波說,根據數據分析結果,整體來看,雖然編程技能和數據分析技能需求占據主導,然而隨著數字產業走向成熟,企業除了強調編程技能,也逐步更加看重人才的技術、管理和領導力等綜合技能。
近年間,項目管理、產品運營等「技術+管理」類技能的需求呈現出明顯的上升趨勢,懂技術、懂管理的人才被認為是「一將難求」。
領英中國代理總裁曾志恆也提醒,如果你有興趣向數字職能轉型,不能僅僅專注於自己的技術能力,溝通和領導力等軟性技能將成為你脫穎而出的關鍵。
陳煜波希望這些研究結果能為教育行業和政府部門提供借鑒。他說,教育行業可根據職位的供需趨勢更好地規劃人才培養的方向,政府也可更好地了解人才流動方向、技術缺口等,以此制定有針對性的引才策略。
程序員崗位職責:
1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。
2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。
3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。
4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。
5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。
6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。
7、負責相關技術文檔的擬訂。
8、負責對業務領域內的技術發展動態進行分析研究。
相關書籍:
很多程序員響應,他們在推薦時也寫下自己的評語。以前就有國內網友介紹這個程序員書單,不過都是推薦數Top9的書。
其實除了前9本之外,推薦數前30左右的書籍都算經典,筆者整理編譯這個問答貼,同時摘譯部分推薦人的評語。
下面就按照各本書的推薦數排列。
1、《代碼大全》史蒂夫·邁克康奈爾
2、《程序員修煉之道》
3、《計算機程序的構造和解釋》
4、《演算法導論》
5、《重構:改善既有代碼的設計》
6、《設計模式》
7、《人月神話》
8、《計算機程序設計藝術》
9、《編譯原理》(龍書)
10、《活著》
4. 闆跺熀紜灝忕櫧瀛﹀綋紼嬪簭鍛樻湁鍙鑳藉悧
闆跺熀紜灝忕櫧瀛﹀綋紼嬪簭鍛樻槸鏈夊彲鑳界殑銆
濡傛灉鎯抽氳繃鑷瀛︽垚涓轟竴鍚嶇▼搴忓憳錛岄氬父闇瑕佺粡榪囦笁涓闃舵碉紝鍒嗗埆鏄鍩虹鐭ヨ瘑瀛︿範闃舵點佹堜緥瀛︿範闃舵靛拰瀹炶返闃舵點傚熀紜鐭ヨ瘑瀛︿範闃舵佃佽嚦灝戠Н緔涓夊ぇ鍧楃煡璇嗭紝鍏朵竴鏄緙栫▼璇璦鍩虹錛屽叾浜屾槸鎿嶄綔緋葷粺鍩虹錛屽叾涓夋槸鏁版嵁搴撳熀紜銆
鍦ㄩ夋嫨緙栫▼璇璦鏃訛紝灝介噺閫夋嫨涓闂ㄥ叏鍦烘櫙緙栫▼璇璦錛屾瘮濡侸ava灝辨槸涓嶉敊鐨勯夋嫨銆傜洰鍓岼ava鐨勫紑鍙戝矖浣嶇浉瀵規瘮杈冨氾紝鑰屼笖浜烘墠闇奼傜被鍨嬩篃姣旇緝澶氬厓鍖栵紝闈炶$畻鏈鴻劇彮鍑鴻韓涔熸湁鏈轟細鎷垮埌涓嶉敊鐨刼ffer銆傚湪瀛︿範緙栫▼璇璦鍩虹鐨勮繃紼嬩腑錛岃佸悓姝ュ︿範鎿嶄綔緋葷粺鍜屾暟鎹搴撶煡璇嗭紝涓瀹氳佸湪瀛︿範鐞嗚虹煡璇嗙殑鍚屾椂澶氬仛瀹為獙錛岄氳繃澶ч噺鐨勫疄楠屾潵鐞嗚В鎶借薄姒傚康銆
紼嬪簭鍛樼殑宀椾綅鑱岃矗
1銆佸歸」鐩緇忕悊璐熻矗錛岃礋璐h蔣浠墮」鐩鐨勮︾粏璁捐°佺紪鐮佸拰鍐呴儴嫻嬭瘯鐨勭粍緇囧疄鏂斤紝瀵瑰皬鍨嬭蔣浠墮」鐩鍏間換緋葷粺鍒嗘瀽宸ヤ綔錛屽畬鎴愬垎閰嶉」鐩鐨勫疄鏂藉拰鎶鏈鏀鎸佸伐浣溿
2銆佸崗鍔╅」鐩緇忕悊鍜岀浉鍏充漢鍛樺悓瀹㈡埛榪涜屾矡閫氾紝淇濇寔鑹濂界殑瀹㈡埛鍏崇郴銆
3銆佸弬涓庨渶奼傝皟鐮斻侀」鐩鍙琛屾у垎鏋愩佹妧鏈鍙琛屾у垎鏋愬拰闇奼傚垎鏋愩
4銆佺啛鎮夊苟鐔熺粌鎺屾彙浜や粯杞浠墮儴寮鍙戠殑杞浠墮」鐩鐨勭浉鍏寵蔣浠舵妧鏈銆
5銆佽礋璐e悜欏圭洰緇忕悊鍙婃椂鍙嶉堣蔣浠跺紑鍙戜腑鐨勬儏鍐碉紝騫舵牴鎹瀹為檯鎯呭喌鎻愬嚭鏀硅繘寤鴻銆
6銆佸弬涓庤蔣浠跺紑鍙戝拰緇存姢榪囩▼涓閲嶅ぇ鎶鏈闂棰樼殑瑙e喅錛屽弬涓庤蔣浠墮栨″畨瑁呰皟璇曘佹暟鎹鍓叉帴銆佺敤鎴峰煿璁鍜岄」鐩鎺ㄥ箍銆
7銆佽礋璐g浉鍏蟲妧鏈鏂囨。鐨勬嫙璁銆
8銆佽礋璐e逛笟鍔¢嗗煙鍐呯殑鎶鏈鍙戝睍鍔ㄦ佽繘琛屽垎鏋愮爺絀躲