程式設計到底有多難? 看看普通人買蘋果和程式設計師買蘋果就知道了
最近知乎一片帖子很火,名為“程式設計到底難在哪裡”那麼難在哪裡呢?讓我們看看普通人和程式設計師就買蘋果這件小事做一下回答。
普通人:
我今天要買一斤蘋果。
程式設計師:
我今天要買一斤蘋果。
因為我只喜歡紅富士蘋果,所以我只買紅富士蘋果。
我能接受的最高價格是10元/斤。
正常情況下一斤蘋果用一個袋子能裝下,但是為防萬一,我會帶兩個袋子。
我知道附近的3家水果店,所以我會依次訪問這3家水果店。
根據上述條件,我設計出以下的買蘋果的流程:
這個流程怎麼樣?我來設計一些測試樣例,測試一下這個流程。
測試發現一個問題:如果水果店0和水果店1都有紅富士蘋果並且價格都低於10元/斤,而且水果店1的價格比水果店0更低,那麼我希望買水果店1的蘋果,但我設計的流程會讓我買水果店0的蘋果。
在這裡相信有許多想要學習前端的同學,關注下面的圖片,免費領取一整套系統的web前端學習教程!
為了解決這個問題,我應該先詢問所有水果店的價格,然後去價格最低的那一家買蘋果。
經過修改,我重新設計出以下的買蘋果的流程:
現在這個流程是不是完美了呢?不是,我還能發現很多問題。
軟體的客觀存在不具有空間的形體特徵。因此,沒有已有的表達方式,就像陸地海洋有地圖、矽片有膜片圖、計算機有電路圖一樣。當我們試圖用圖形來描述軟體結構時,我們發現它不僅僅包含一個,而是很多相互關聯、重疊在一起的圖形。這些圖形可能描繪控制流程、資料流、依賴關係、時間序列、名字空間的相互關係等等。它們通常不是有較少層次的扁平結構。實際上,在上述結構上建立概念控制的一種方法是強制將關聯分割,直到可以層次化一個或多個圖形2。
除去軟體結構上的限制和簡化方面的進展,軟體仍然保持著無法視覺化的固有特性,從而剝奪了一些具有強大功能的概念工具的構造思路。這種缺憾不僅限制了個人的設計過程,也嚴重地阻礙了相互之間的交流。
隨著科技和經濟越來越發達,
中國現在已經進入資訊大爆炸的時代!
尤其對於00後一代,世界已經完全不一樣了!
智慧手機,ipad,網路遊戲,facebook等等,
對3、4的小孩來說完全不陌生,
他們出生在這樣一個科技發達的時代,
對於計算機也已經見怪不怪。
香港現在連5歲的小孩都已經開始學習程式設計!
學習程式設計!真的有這麼重要麼!
行業技術人才短缺可以說是一個完全不容置疑的事實,對於這個問題很容易解答。
首先假設所有這20萬多萬IT技術人才全部技術達標能夠適應企業的崗位需求,他們能夠填補整個行業近20萬的人才需求。
但是IT網際網路正在以前所未有的速度快速發展,每年新增的技術人才缺口在百萬之巨。每年培養出來的人才完全可以說是杯水車薪。
而且由於傳統學歷教育培養出來的大學生缺乏實戰經驗和專案經驗。
同時市場中的培訓機構有些只是小型培訓班,往往在教學上很難有質量保證:
這就導致了每年新培養出的IT技術人才並不能百分百的完全被企業接受,這樣整個IT行業的人才困境就更加嚴峻。
程式設計是一門技術。技術不像學校的知識那樣,看書聽課就能學會,技術最重要的是要靠實踐掌握。小英覺得,學習程式語言,要在實踐中理解,在實踐中熟練。
舉個栗子,對於學習開車來說,理論知識都是很簡單的,但是你學完理論知識是沒辦法學會開車的。你需要真正的去實踐操作,並且通過大量的練習才能學會開車。程式設計也是一樣,它和你以前學的知識都不一樣,思維要有所轉換,學習方式要改變才行。
僅僅看書聽課,以為這樣就能學會程式語言,是完全錯誤的。當你發現這個問題時,慣性的思維總是繼續死磕書本,結果卻越看越不會。只有通過不斷地程式碼練習,才能夠完全學會,去敲程式碼,去做專案,把你學到的去通過實踐操作真正的理解,把你的疑問去通過實踐操作驗證一遍。
不要害怕出錯!初學者犯錯的成本很低的,不斷的犯錯,你才知道怎麼樣做才能做的更好。程式碼錯了,有提示。邏輯錯了,執行結果就可以看出來。總是會聽到”覺得這樣寫可能不對,所以沒寫”等等各種聲音,各種理由,為什麼不寫出來試試呢,程式設計技術是需要經過不斷試錯來錘鍊的。