程式設計究竟難在哪?

時間 2021-05-11 00:15:59

1樓:愛黃黃黃黃

難在從1-100找出55 居然有好多種演算法

其實就是演算法比較難難的不是演算法本身是演算法背後的數學原理

與其說程式設計難不如說數學難

2樓:萊布尼茲門徒

不揣愚陋,說點看法。

如果是追求解決確定的目標,那麼軟體開發並不比其他領域的工作更難。

但往往是這樣的情況,乙個長期使用的系統,目標在不斷變化,擴充套件,其生態環境,包括作業系統,硬體,上下游軟體,使用者工作方式,都在變化,軟體不得不公升級公升級再公升級。

這有點象生物界的狀況。物競天擇,適者生存。

3樓:FRANK

@牛岱 大佬答的很好,我決定補充一點。

掌握變成語言的語法是非常簡單的事情,不就是var,for,if之類的關鍵字,運算子。只要了解這些東西的用法就可以了。

但是,把這些東西組合起來,開發出乙個能有用的東西就非常複雜。就是 @牛岱 說的專案和演算法。

4樓:Su-27

如果你學c語言很久都沒什麼驚豔到你,那是因為c語言是一門底層語言,用來造輪子的語言,執行效率高,開發效率慢。

對於c語言不僅學習語言本身,還要根據開發需要,學習相關領域的知識,硬體開發要懂感測器計算機組成微控制器,網路開發要會計算機網路,遊戲開發要會物理,幾何.....

快速學完語言語法,就可以選擇方向開始開發了,不要刻意讓自己語言知識紮實,程式設計要靠實踐磨練自己

5樓:Sinatic

我C++,目前的狀態,難在 :

基礎全XX忘了。。。

我也不知道我整天幹嘛呢這是,現在出問題,我就到處cout看它讀不讀到這裡

至於下乙個function為啥連到另乙個檔案裡面的,我TM不知道

6樓:程式媛的花花世界

作為乙個接觸過程式設計一年多的大學生來說,

學習程式設計不難,學好很難。

其實很多語言都會有相通的地方,你學的時候會發現那些語法什麼的都是差不多的,但是當你需要工程實現的時候就需要考慮很多東西,最基本的東西不過是資料型別,陣列,迴圈之類的東西。

但是對於C語言來說,它會有陣列、鍊錶、檔案等很多東西束縛著你,讓你能夠理解卻無法掌握;再者python還有庫的呼叫,譬如爬蟲,你就需要考慮很多東西;又或者你看起來很簡單的web前端,乙個網頁的設計實現也並不是簡簡單單就能完成的。

要想真正地學好程式設計,就要耐得住辛苦多練多看,多看網課確實很有效,他能夠讓你了解很多你在課堂上學不到的東西,但是光看不練也是假把式。

理解精髓,深入實踐對於程式設計確實很有效。

在某一計算機語言上有所作為確實會讓你受益終生。

7樓:刃舞

理解不了「學很久都學不會」是啥情況,語法麼?這東西只要學,貌似都學會了

另,學程式設計不是學語言,而是培養將實際問題抽象化並給出滿足需求的解決方案的思維,在抽象的過程中你可能會用到其它領域的知識,僅此而已

8樓:pure MJ

程式設計的核心是對「原理」的追求。

小時候給你個玩具,你是隨便玩玩還是喜歡拆開看看裡面是怎麼工作的?

遇到東西出了故障有沒有能力自己排查修理?

程式設計既有對智商的要求也有對性格的要求。雖然不是特別高,但也不算特別低。

就像一所985/211大學,不是特別難上但也不是特別容易上。

9樓:我的小惡魔

我覺得難在開源,因為自身基礎太差,開源的東西太多太雜,學不過來。對於高手來說越開越好,但是對於菜鳥來說就是感覺很混亂。

比如說IDE 吧,五花八門的,就不能全中國人民都用那乙個IDE 嗎?而這些IDE 中,絕大多數都沒有自動補全功能,偶爾發現乙個有的,其補全功能也非常不健壯,這樣你必須記性特別好,不然你的程式設計根本進行不下去。

10樓:楊春坪

程式設計的目的是為了解決問題。程式語言就像我們人類的語言一樣是為了和對方交流,是為了和計算機交流。為了解決問題,我們就需要學會和計算機交流。

為什麼那麼難?模擬我們一開始說話都不會,怎麼交流嘛。建議先精通一門語言,挑乙個簡單的,當母語,學習其他語言也就容易多了。

然後學習的時候要系統的學習,要成體系化。學習完了,多練習,實戰。這個就需要大量練習了,所以coding吧。

11樓:anmini

helloworld難麼,你寫乙個hello.world試試,然後把每乙個單詞和符號的作用搞清楚,你會發現,這個程式語言的基本語法你已經掌握1/3了

12樓:吃雞腿的卡樂比

em。。。。四個字。

難在堅持

至於人的思維和機器思維什麼的,

之前沒接觸過程式設計的可以玩一下wegame上的遊戲,程式設計師。玩完你就知道怎麼把人想的告訴機器了。

13樓:

第一要取經(實現需求),

第二不能傷害白骨精(有問題的業務),

第三沒有公尺(類庫功能不全),

第四乙個孩子十個月生下來,老闆給你十個人讓你想辦法乙個月搞定(業務耦合度高)

14樓:runner time

數學語言簡單,但數學思維和數學理論難。程式設計同理。

要想真正學會程式設計,要長期訓練,數學、演算法、資料結構、作業系統乙個不能少。

別以為上幾門課就以為自己會程式設計了,也別以為上幾門課還是不會程式設計就是自己差。

當然,不可否認,很多人天生數理邏輯差。高考數學怎麼著也得有個二本水平吧,高考數學考個低分,基本也告別計算機了。

15樓:非著名程式設計師

其實程式設計一點也不難。

但是,通過你的描述,在我看來,是難在學的太多,寫的太少。難在光學語言,卻很少用它做個專案。

你做完乙個專案之後,尤其是大專案,你就會入門和提高很多了,以後你就深刻理解什麼是程式設計了。再笨的人基本上也都搞明白怎麼回事了。

如果乙個大專案做下來,還是不能入門,那就說明這個人不太適合程式設計了,對於這種情況下的人,是難在思維上了。

總結一下:

入門級時,難在光學光想,缺少實踐,實踐是檢驗和鍛鍊,甚至重構和形成乙個人程式設計思維能力的最好方式。

實踐後,還覺得難,不能理解和入門的,是難在了程式設計思維上,這類人,可能就不是祖師爺賞飯吃的那類人了。

16樓:西瓜皮皮

對我這個菜雞來說,寫碼就像是便秘。上課想它,走路想它,吃飯也在想它,但當我覺得我想通了,坐下來準備肝的時候,又有種欲拉無翔的絕望感。

當deadline就在眼前的時候,又得逼著自己寫,再不寫就只有等人把我骨灰揚了,想解決問題卻又只有不著調的偏方。

主要問題還是在消化,輸入的知識不夠又不能理解,怎麼能有輸出呢。

今日有感,藍瘦香菇。

當我已經幾乎無藥可救,準備病危通知的時候,要感謝且珍惜那些陪伴我,不嫌棄我,全面地教(打)導(擊)我,使我進步的可人兒。

17樓:墨染

難在學習思維的轉變。高中我們學習純粹是應試,哪怕是死記硬背也能拿高分。而程式設計不一樣,你用高中學習的那種方式也許能成為乙個優秀的碼農(俗稱大自然的搬運工),但永遠不能成為這個行業真正的開拓者。

18樓:nemo

關於這個問題,其實不是程式設計內容的鍋,而是學習方法的問題。

為什麼我們學十幾年英語還不能流暢交流?

為什麼我們學二十年數學卻不會基本建模?

為什麼我們從小學踢球到大學,還是完全控不住球?

為什麼天天曠課打Dota卻連排行榜都擠不進去?

難道這些都很難嗎?

這種問題的出現,是學習方法導致的。這個話題展開太複雜了,而且因人而異。簡單總結,大概有三個地方容易出問題吧。

1.沒有短時間內的超高強度集中。

2.缺乏針對性的題目訓練。

3.實際投入時間其實並不充足。

第一條是用來突破各階段瓶頸的,第二條是用來保持進步的,第三條是告你別自己騙自己了你就是沒用功呀。

19樓:臉雲

難在你想要學習的時候並沒有明確的目標,難在開始學的時候沒有耐心的從頭看起,難在學的過程沒有動手做題。

小學高年級的孩子都能學會的東西,有啥好難得。

20樓:xiaolihan

程式設計就像多公尺諾骨牌,以上帝的視角編織著整個多公尺諾世界。多公尺諾骨牌按照你預想的執行,乙個個倒下,沒有錯誤,便有心滿意足的成就感。

但問題現在有兩個。乙個是構建的多公尺諾世界太龐大,大到乙個人肯定完成不了。需要分包出去,一段一段的。

把別人完成的分包專案,你拿到手上其實就是乙個黑箱子。它裡面如何執行你控制不了。只能看結果是否正確。

另乙個問題是,多公尺諾世界在來來回回不停的改動,想法在不停的變化。這樣就需要不停的修改原來碼放好的骨牌,甚至可能需要推倒重來。

21樓:龍龍

程式設計本身看起來不難,是因為我們都是站在巨人的肩膀上,沒有從最初級的指令走起,而是直接使用了高階語言。

但只懂得使用高階語言的程式設計師,而不懂的其中遠離的程式設計師,算不上是乙個特別優秀的程式設計師。

舉個例子,各類語言都有字典、陣列這種資料集合,其實工作中只要求回會用就ok、但如果能懂其中的實現原理、就沒那麼容易。當然、字典陣列本身就不難理解,這只是舉個例子。

22樓:

我想抖個機靈

看到了一篇高讚回答,這是知識經濟的時代,而目前最具有代表性的是IT界,擁有了這一世界的哪怕再低等知識也是在現實世界中的高等公民,對中等公民(有自己的專業/渴望得到高等公民的賜福)和低等公民(沒有專業技能/社會主流不認可的人/失去繼續深造能力的人)擁有「生殺大權」。

讓我想起很久以前,也同樣被掌握著知識的一群人打倒在地爬不起來,還覺得他們做得對,沒有知識的人就該爬不起來跪著渴求他們的一點同情。這是初中,他們不過是掌握了中學某些知識或者說玩知識玩的比我溜。

現在程式設計成為了主流,當年掌握中學知識的人也變成了我的「同盟」,才反應過來,高等公民不過是被社會主流推出來的那群人,他們掌握的知識並不高貴,只是目前因為某些原因凌駕於眾生之上(學IT的就是比學機械的高等),於是他們可以對希望擠入他們行列的眾生用高貴的姿態告訴他們,「跪低一點,我就教你讓你變得和我一樣」,「你們就是不好學,這麼簡單的東西還用教?」,「眾生難度」

希望社會主流永遠是你,永遠不會被另乙個「高等公民」教你做人

23樓:章恩光

程式設計的難,從工程的高度與其他任何工程類似。要做好一件事都是難得。有許多細節需要注意,容易百密一疏,顧此失彼。

可以看看著名的,人月神話,………裡面可以感受軟體高階工作者所思考的問題。

下面僅就普通程式設計師的困難做一些描述。和大多數職業工作類似,普通程式設計師並不需要太多的創造性,主要工作量用時間堆積。

困難一,

溝通困難,上面說乙個需求,一下午完成了。然後他說,這不對那不對,然後你就要改。顯然,反反覆覆,日復一日的改,是困難的,煩躁的,無成就感的。

困難二,

bug困難。一段程式明明執行的挺好,不多久,來了乙個bug。你要找,要除錯,要改。

就像你掃地,掃好了,發現地又髒了,所以又要去清理。但邏輯上讓人費解,地永遠掃不乾淨,能理解,因為總有外部因素在干擾。程式是封閉的,居然會昨天沒有錯誤,今天就來錯誤了。

如果要有錯誤,應該昨天就出來的,難道程式隨著時間在改別?總之,面對這種麻煩會困難的。

困難三,

工作量大,顯然任何困難的工作都有工作量大的特點。程式設計師的工作量,會是這樣的,有人會評估你大概多久完成工作。然後,這種評估的結果是,你不加班是完成不了的。

你和他溝通說,這樣工作量太大,要加人,要麼加時間。他不肯。溝通的結果,要麼你忍受他,要麼你離職。

總之面對時間,人力的限制,本來不那麼困難的工作也會顯得困難。

說到底,程式設計的困難還是做人的困難。如果世上只有你乙個人,程式設計並不難。當出現第二個人時,困難就來了。難在溝通,難在理解。

PS:以上是自己的個人體驗,個體有差異。比如很困難的工作,也會有人說與天鬥,與地鬥,與人鬥其樂無窮。

考研究竟難在哪?

愛吃肉的小雯 知乎有無數個問題在提問考研難不難,我相信看完這三個例子,考研到底難不難你也應該有數了 1.考研專業問題 假如你要報考哲學專業,那研究生比較好考,但你要是報金融計算機,那難度肯定就大一點,若你是報醫學,那可能就更難。大家現在提研究生其實是乙個寬泛的概念,比如你報考旅遊管理研究生,這個專業...

挖掘機的整體多路閥究竟難在哪?

科技Freestyle 第一 液壓行業的鑄件一般都是幾公斤 十幾公斤,最大的也就 二 三十公斤,但是這個整體多路閥的單鑄件就達150公斤,長 寬400mm 高200mm左右。多路閥的整體內腔結構複雜,主體分為2層,內部布滿了形狀各異 互相連通的油道,而且內腔當中還有很多細小彎曲的小於10mm的流道。...

高數難還是程式設計難?

commontolerance 一般意義上,很多人會覺得高數難,但是實際上從結果的角度來看,可能程式設計會難一點。這個結論可能沒有太重要,有幾點有意思的體驗和觀察可以供你參考。1 從抽象程度的角度而言,高數難一些 高數裡面的極限,微分,積分的概念顯然更加抽象。就演算法而言,以大學的專業基礎課資料結構...