C語言是程式設計小白的噩夢,WEB開發成為轉行程式設計師的福音!

智雲程式設計發表於2019-05-12

大多數大學生接觸的第一門程式設計課便是C語言,這對於一個完全不懂計算機的人可能是噩夢。

不少人初次上C語言課都會被指標繞得暈頭轉向,然而大部分程式設計工作並不需要你關心指標的使用。此外,C語言對視覺化程式設計並不友好,用C語言編寫圖形化介面十分繁瑣。在這種情況下,很多大學生都會問C語言能做什麼?

C語言看似簡單,實則無比強大,它主要的用途是系統級程式設計,作業系統,資料庫,編譯器,虛擬機器等等,可是,並不是每個人都願意去嘗試或者有機會接觸。

這會導致大多數人學了C語言並沒有多少成就感和興趣,甚至因為這門課懷疑自己能不能學好程式設計,或者拿到計算機專業的畢業證。

C語言是程式設計小白的噩夢,WEB開發成為轉行程式設計師的福音!

事實上,這樣想是多慮的。並不是每個計算機專業的學生將來都要去搞作業系統,編譯器或嵌入式開發,應用型人才大有可為。你完全可以先從應用層入手,獲得成就感和興趣,再深入鑽研底層開發。

在我眼裡,程式設計是世界上最好的工作。既可以憑此獲得報酬,還可作為興趣愛好,享受解決問題的那種成就感。所以,當你第一次學程式設計或者對程式設計開始失去興趣時,不妨從Web入手,先做一個網站。Web開發所用到的語言大多數都是所見即所得型別,學了馬上可以做出一個視覺化的作品,很有成就感。

Web開發是最簡單的,而且開發語言也多種多樣,比如JavaScript、PHP、JAVA、Ruby、Python等。網際網路上關於Web開發的學習資料是最多最豐富的,大多數問題都可以透過搜尋引擎找到解決方案。這對初學者十分友好,降低了程式設計的挫折感。

儘管受到移動網際網路的衝擊,但不可否認,網站是網際網路最普遍的應用形式,並將長期存在下去。如果你想做Web開發,Just do it!

Web開發分為前後端,前端包括HTML、CSS和JavaScript等,後端包括Node.js、JAVA、Python、PHP、Ruby等。如果你想做一個靜態網站,只需要學習前端技術即可。

前端技術本身難度不大,但瀏覽器適配和響應式佈局稍微有點棘手。初學者完全不必理會,先做出一個靜態網站即可。當你做出第一版靜態網站時,你一定會興奮,因為這是你自己的作品。

網站做好後,你可能想更新網站內容,但手動更新又比較麻煩。這時你可以選擇一門簡單的後端語言,嘗試下伺服器搭建、前後端資料互動和Linux命令列操作等等。後端技術優先推薦Python、PHP和JAVA,三者選其一即可。

這裡推薦下,自己是一名從事了5年web前端工程師,目前辭職做線上教育講師,建立了一個web前端學習交流秋秋圈:767273102 ,每天會在裡面直播分享技術!根據這幾年從事前端的經驗,整理了一份最適合2019年學習的web前端乾貨,有想學習web前端的,或是轉行,或是大學生,還有工作中想提升自己能力的,歡迎大家加入,這裡是前端學習者的集中地

C語言是程式設計小白的噩夢,WEB開發成為轉行程式設計師的福音!

人生苦短,我用Python。Python內建了大量豐富的函式供你直接呼叫,有些語言寫很多行的函式,Python一行程式碼搞定。此外,Python作為程式設計師必備的指令碼語言,在爬蟲、科學計算、AI等領域也很出彩。利用這個機會學習下,技多不壓身。

除了Python,PHP效率也不低。作為世界上最好的語言(:-D),PHP為Web而生,PHP可以直接嵌入HTML標籤,十分方便。經典的LAMP或者LNMP搭配更是世界上絕大多數網站的標配(L:Linux,A:Apache,N:Nginx,M:MySql,P:PHP)。

最後推薦的當屬老大哥JAVA,在國內可能就JAVA程式設計師最多了,所以學了就業肯定不愁。不過,JAVA的難度要Python和PHP稍高點。

學了後端語言後,你可以做一個動態網站了。不過,還差一個資料庫,推薦MySQL。如果你不想學SQL語句,可以尋找後端語言對應的MySQL圖形管理應用。但是,當你的資料量較大或者經常存取資料時,建議學習下基本的SQL語句以提高效率。

當你前端和後端都學完了,你就可以隨性所欲的做你想做的網站。做出來後,記得分享給你的好友和家人,他們的鼓勵是你前進的動力。

這就完了嗎?萬里長征才剛踏出第一步。

為什麼我的網站這麼慢?可能是因為前端靜態資源CSS或者JavaScript太大或者載入方式不對。你得學習下程式碼最佳化、靜態資源壓縮打包和頁面渲染原理吧。

為什麼查詢資料怎麼慢?你得學習下資料庫最佳化吧。

有小夥伴想和你一起開發網站,怎麼讓別人快速看懂你的程式碼?你得學習下程式碼模組化(低耦合,高內聚)和介面設計吧。

為了使你網站穩定,你還會遇到很多問題。但透過前面學習,相信你已經學會了如何獨立排查和解決問題了。獨立解決問題的能力是程式設計師最基本的能力之一。

網站穩定了,你可能想設計出類似於熱門內容和推薦內容等。一看需要用到排序演算法和推薦演算法,恍然大悟,資料結構和線性代數被你學成了狗屎。不停的責罵自己,當年上課的時候幹啥去了。

不要著急,相信你現在回頭再去看時,一定能學進去。因為學了,你馬上就可以用。現在你終於明白,資料結構中的時空複雜度、線性表、棧和佇列、樹、圖、排序和查詢是怎麼用的。

C語言是程式設計小白的噩夢,WEB開發成為轉行程式設計師的福音!

誒,課本里的C程式碼怎麼和我寫的Python和JAVA這麼相似。仔細搜尋發現,C語言才是這些語言的祖師爺。頓時心生悔意,要是當年好好學C語言,現在也不會這麼吃力。種一棵樹,最好的是十年前,其次是現在。趕緊學吧,少年!

現在網站也像模像樣了,想知道瀏覽器怎麼執行的嗎?HTTP協議是啥?不用搜了,趕緊回去看計算機網路,”三次握手”必須爛熟於心。

終於有一天,伺服器當機了。這下你得學習下伺服器運維,瞭解下伺服器工作原理吧。世界上絕大多數伺服器系統都是Linux,Linux系統你得學習下吧。

多執行緒多程式貌似見過?你已經學過了,就在作業系統那本書裡,老師講的時候你沒認真聽。這下你恍然大悟,原來學校裡的課是有用的,只是自己沒發現。這樣你又回去把計算機組成原理和微機介面原理複習了下,瞭解了Byte和Bit的區別,瞭解了二進位制編碼,瞭解了組合語言等等。

大道至簡,心中有劍於無形。現在你明白了,程式語言只是術,而計算機基礎課才是心法。萬變不離其宗,你不再恐懼程式設計,也不再把自己限定在某一種語言。你開始不滿足於只做網站,你想做APP、遊戲、編譯器或嵌入式開發等。

透過之前的學習,你學會了如何用專案去驅動學習,學會了獨立解決問題,學會了快速上手一門程式語言,學會了前後端如何互動等等。即使你以後不做Web開發,這些能力都是通用的,伴隨你一生。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901074/viewspace-2644064/,如需轉載,請註明出處,否則將追究法律責任。

相關文章