如何零基礎(chǔ)自學(xué)軟件開發(fā) 怎樣學(xué)習(xí)開發(fā)軟件?
怎樣學(xué)習(xí)開發(fā)軟件?謝謝請?zhí)?!以及一名IT行業(yè)的從業(yè)者,同樣的又是一名大數(shù)據(jù)、機(jī)器學(xué)習(xí)方向的研究生導(dǎo)師,我來回答我一下這個問題。由于軟件開發(fā)涉及到的知識結(jié)構(gòu)也很極為豐富,所以才學(xué)習(xí)軟件開發(fā)正常情況要一個
怎樣學(xué)習(xí)開發(fā)軟件?
謝謝請?zhí)?/p>
以及一名IT行業(yè)的從業(yè)者,同樣的又是一名大數(shù)據(jù)、機(jī)器學(xué)習(xí)方向的研究生導(dǎo)師,我來回答我一下這個問題。
由于軟件開發(fā)涉及到的知識結(jié)構(gòu)也很極為豐富,所以才學(xué)習(xí)軟件開發(fā)正常情況要一個系統(tǒng)的學(xué)習(xí)過程。假如未來要想專業(yè)從事軟件開發(fā)工作,那么這個可以明確的200以內(nèi)步驟自學(xué)軟件開發(fā)技術(shù):
第一:從計(jì)算機(jī)操作系統(tǒng)就開始學(xué)起。在怎么學(xué)習(xí)軟件開發(fā)技術(shù)之前,是需要估計(jì)自學(xué)看看操作系統(tǒng)知識,操作系統(tǒng)知識以及操作系統(tǒng)體系結(jié)構(gòu)、資源管理、任務(wù)調(diào)度等內(nèi)容,在初步了解操作系統(tǒng)知識之后,能夠?qū)τ?jì)算機(jī)負(fù)責(zé)執(zhí)行各種計(jì)算任務(wù)有一個大致了解的認(rèn)識,這是對妖軍的學(xué)習(xí)會作用有限不重要的作用。
第二:選擇類型去學(xué)習(xí)一門全場景編程語言。對于初學(xué)者來說,在編程語言的選擇上建議中,選擇一門“全場景編程語言”,目前Java、Python和C#全是不錯的選擇,學(xué)習(xí)全場景編程語言的好處那是未來也可以向各個領(lǐng)域發(fā)展。要是從就業(yè)的角度向東出發(fā),當(dāng)前學(xué)習(xí)Java是比較好的選擇,如果從發(fā)展前景的角度出發(fā),Python是不錯的選擇。
第三:在去學(xué)習(xí)編程語言的過程中補(bǔ)學(xué)相關(guān)知識。以去學(xué)習(xí)Java為例,要是你選擇Web開發(fā)的學(xué)習(xí)方向,可以不在一邊怎么學(xué)習(xí)Java的同時補(bǔ)學(xué)網(wǎng)絡(luò)通信、數(shù)據(jù)庫、算法設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)等方面的知識,這些知識相對于程序員情報(bào)營的發(fā)展都會有非常重要的幫助,必須得積極對待。同時,在當(dāng)前的云計(jì)算時代,在軟件防御部署的時候也會接觸到云計(jì)算知識。
之后,學(xué)習(xí)軟件編程技術(shù)你必須非常重視實(shí)驗(yàn)、系統(tǒng)的總結(jié)和講解,在學(xué)完基礎(chǔ)的編程語法之后,最好也能找一個實(shí)習(xí)崗位鍛煉幫一下忙。
我畜牧獸醫(yī)相關(guān)專業(yè)互聯(lián)網(wǎng)行業(yè)多年來,目前也在帶計(jì)算機(jī)專業(yè)的研究生,主要的研究方向集中在大數(shù)據(jù)和人工智能領(lǐng)域,我會陸續(xù)寫一些麻煩問下互聯(lián)網(wǎng)技術(shù)方面的文章,感興趣的東西朋友可以打聽一下我,相信肯定會會收獲。
如果有互聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等方面的問題,也可以是考研方面的問題,都是可以在評論區(qū)私信給我!
我沒有學(xué)過編程,想進(jìn)入軟件行業(yè)可以嗎?
學(xué)軟件開發(fā)?那可會出人命。不從事這一行的永遠(yuǎn)永遠(yuǎn)不知道這行的艱辛,還咋巴著小眼睛問編程好不好啊學(xué)?
不知道LZ看沒看過圣斗士星矢這部動漫,是需要你得問一問自己,想學(xué)編程,你有沒有像星矢一樣的持之以恒的堅(jiān)持堅(jiān)韌不拔腳踏實(shí)地能忍受常人根本無法預(yù)料的困難和難過的品質(zhì),就沒?你說你我你別當(dāng)真逗你,那好,下面的用不著看了,只不過你的確不比較適合學(xué)。
如果不是你只尋思掙大錢,勸你別碰這行,一句話,不要騙人找虐。為么?你注意到的手機(jī)APP,各種應(yīng)用,要想變更土地性質(zhì)不出來,真不知道必須多少種技術(shù)。拿最常見的網(wǎng)站開發(fā),必須后臺數(shù)據(jù)庫mysql,數(shù)據(jù)格式j(luò)son,xml,各種ip協(xié)議,還有一個網(wǎng)站開發(fā)語言PHP,JSP,,等等不下十幾種技術(shù)。而每一種技術(shù)大都一本尺厚的五六百頁的書,不需要最少五年多時間掌握一門技術(shù)。最受不了的,每種技術(shù)互不交叉還跨度很小,每種技術(shù)應(yīng)該有自己的設(shè)計(jì)理念和很多很多“天坑”在在等你攻克,你問問你自己,你有這個恒心和意志力天天在家捧著本大部頭的書天天看,天天在家上機(jī)操作操作學(xué)嗎?你說說看有,那好,你上網(wǎng)看電視上那些富二代每天都瀟酒地全是出游泡美眉基本上于你注定無緣了,只不過你根本不就沒那么多時間,好好談戀愛都麻煩,還想打網(wǎng)游玩王者?那好了,你我還是別碰這行了,別誤了你玩游戲享受當(dāng)下的生活了。
程序員你加班很恐怖至極,工作制大多數(shù)是996,即早9晚9周六還要上班,上班,晚9下班我還是早的,像是到晚上十點(diǎn)。你想那時夜深人靜時了人家都休息一會拉著老婆孩子睡覺好了,你還工作中,是不是很崩潰?
第2,程序員耗腦太嚴(yán)重。工作中是需要十幾個小時大腦時不時地運(yùn)轉(zhuǎn)起來。是需要設(shè)計(jì)算法,不停地把代碼改來改去來慢慢適應(yīng)客戶兩天幾變的需求。很多功能沒有自己做的解決方案,還你經(jīng)常遇到一些天書一樣的疑難問題,bug,求實(shí)際工作中突發(fā)的狀況稀奇古怪,你很可能見都沒見過的bug,崩潰,必須慢慢地查幾萬行的log日志。并且也必須百度,google,英文論壇誠求幫助,理解出現(xiàn)了錯誤信息是什么意思。所以才英文不好的沒耐心的肯定算了吧,不適合這行。
第3.程序開發(fā)必須是太難學(xué)的,任何一門編程語言應(yīng)該有自己獨(dú)到的見解的思想,概念設(shè)計(jì),很多情況下一門語言與另一門語言沒有多大關(guān)系,知識經(jīng)驗(yàn)不能串用。而且工作中你還只好都用到這些技術(shù)你只能無奈去學(xué)。但是程序技術(shù)月異,新類庫新SDK每天都會推出,你需要一日復(fù)一日不斷地學(xué)習(xí)新技術(shù)。如2011版視頻解碼技術(shù),游戲引擎等等,而這些新技術(shù)可是國內(nèi)沒有書和任何資料的,不需要你到英文官方網(wǎng)站去找實(shí)例看文檔去學(xué),更半死的,新的技術(shù)和老的還沒太大關(guān)聯(lián),你得重頭去學(xué)。并且老板急趕項(xiàng)目應(yīng)該不會給你什么時間,像是七天是極限了,你必須短的急速掌握一項(xiàng)新技術(shù)...
綜上,你明白程序員為什么總要你加班了吧,也明白這行不是什么人干的吧。為什么說程序員干到三十干停止。很簡單點(diǎn),以這種耗干人生所有時間狀態(tài),你生命中只能你加班周末加班工作工作自學(xué)學(xué),你將不能不能顧家不能跟朋友聚會不能不能再有自己一點(diǎn)點(diǎn)休閑時間,更別說談女朋友談戀愛了,以這種狀態(tài)你能只要能堅(jiān)持到三十歲?我想那那絕對是是個奇跡了