對程序員來說最難的是寫代碼嗎?
網(wǎng)友解答: 謝謝邀請!對于不同階段的程序員有不同階段的任務(wù),所面臨的難點(diǎn)也并不相同,但是對于程序員來說,代碼本身的難度只在學(xué)習(xí)的初期有所體現(xiàn),隨著編程經(jīng)驗(yàn)的增加,代碼本身的難度會逐漸下降
謝謝邀請!
對于不同階段的程序員有不同階段的任務(wù),所面臨的難點(diǎn)也并不相同,但是對于程序員來說,代碼本身的難度只在學(xué)習(xí)的初期有所體現(xiàn),隨著編程經(jīng)驗(yàn)的增加,代碼本身的難度會逐漸下降,因?yàn)榫幊陶Z言本身就是工具,只要多使用必然會越來越熟練。
通常情況下,編寫代碼的難度體現(xiàn)在以下幾個方面:
第一:算法設(shè)計(jì)和實(shí)現(xiàn)。編程的核心問題是算法問題,編程問題說到底就是個數(shù)學(xué)問題,這就是為什么很多人認(rèn)為編程難的原因,難在算法上而不是在編程語言本身上。算法實(shí)現(xiàn)還涉及到數(shù)據(jù)結(jié)構(gòu)的應(yīng)用,所以編程也被認(rèn)為是算法設(shè)計(jì)加數(shù)據(jù)結(jié)構(gòu)。算法設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)涉及到程序的執(zhí)行效率,這對于大型系統(tǒng)來說尤為重要。對于研發(fā)級程序員來說,通常需要具備扎實(shí)的數(shù)學(xué)基礎(chǔ)。
第二:架構(gòu)的選擇。架構(gòu)設(shè)計(jì)、模塊化、數(shù)據(jù)交換、資源規(guī)劃、分布式處理、并發(fā)處理等問題是程序員面臨的又一個難點(diǎn),相對于算法來說,這部分難點(diǎn)需要大量的經(jīng)驗(yàn)積累和對技術(shù)本身的深刻認(rèn)知,所以往往架構(gòu)師都需要有豐富的實(shí)踐經(jīng)驗(yàn)。如果說算法解決的是核心問題,那么架構(gòu)解決的就是整體協(xié)調(diào)性問題。如果把算法設(shè)計(jì)看成是優(yōu)秀的球員,那么架構(gòu)設(shè)計(jì)就相當(dāng)于教練員,只有有效的配合才能取得好的成績。
第三:技術(shù)驗(yàn)證和調(diào)試。研發(fā)人員重要的任務(wù)是驗(yàn)證,驗(yàn)證技術(shù)是一個漫長且復(fù)雜的過程,要模擬出實(shí)際的應(yīng)用場景,然后通過不同的方案設(shè)計(jì)來驗(yàn)證執(zhí)行效率,這通常也是一個比較難的工作。技術(shù)驗(yàn)證和調(diào)試需要一個團(tuán)隊(duì)的配合,一個技術(shù)的驗(yàn)證過程往往有眾多經(jīng)驗(yàn)豐富的技術(shù)專家來進(jìn)行,所以這是技術(shù)含量比較高的工作之一。
程序設(shè)計(jì)工作是一個門檻相對較高的職業(yè),通常情況下,程序員在整個職業(yè)生涯的過程中也需要不斷的學(xué)習(xí)。
作者簡介:中國科學(xué)院大學(xué)計(jì)算機(jī)專業(yè)研究生導(dǎo)師,從事IT行業(yè)多年,研究方向包括動態(tài)軟件體系結(jié)構(gòu)、大數(shù)據(jù)、人工智能相關(guān)領(lǐng)域,有多年的一線研發(fā)經(jīng)驗(yàn)。歡迎關(guān)注作者,歡迎咨詢計(jì)算機(jī)相關(guān)問題。
網(wǎng)友解答:有過5年開發(fā)經(jīng)驗(yàn)的,我覺得我有資格回答這個問題,
1、真正的技術(shù)實(shí)現(xiàn),不用圖,不用視頻。
2、在別人的基礎(chǔ)上修改邏輯。
3、產(chǎn)品的無理需求。
4、程序員在努力實(shí)現(xiàn),產(chǎn)品在努力更改需求,