編程會不會沒落、C語言會不會沒落?
來自專欄 寧哥編程實戰課堂
今天在頭條上看到一篇關於「電腦維修轉行」的朋友寫的文章。分析的原因頭頭是道,簡而言之就是:新電腦配置越來越高、價格越來越透明,也越來越便宜、性能越來越好,十年不壞的核心零件越來越多。壞了直接換新的,換更好的,更甚至直接用手機,平板代替了日常生活中的電腦,有的人家裡的電腦幾乎快成了擺設。
這樣自然會讓很多隻靠電腦維修支撐的店鋪面臨關門的危險,很多開「電腦維修店」的人開始轉行,轉到手機維修,轉到編程行業,因此越來越多的「大齡人士」逐漸進入編程行業。那麼,這不禁讓我想到:編程會不會也會沒落?
答案是否定的,隨便給你個理由:
未來的科技,很大成分是智能這個因素。智能的物理介質是硬體,而精神則是軟體,軟體就靠編程。因此,編程就是創造智能的根源。一台硬體系統如果沒有編程(哪怕是硬體編程也是編程,寫彙編程序也是編程、寫PLC也是編程,寫上位機也是編程...)就如同沒有思想和活力的行屍走肉,那這樣的機器有什麼用?和你家裡已經上灰的爛電腦沒什麼區別。
未來是科技社會,科技會越來越加強,那也就意味著編程不但不會沒落,反而會更加的強大。落後就要挨打,誰也不希望落後。但是編程領域會是這樣的趨勢:更高的要求、需要更強大的實力和基礎實力支撐,集成度會更高,意味著以前幾個人做的功能,現在要一個人來做。那麼沒落的是在編程門口徘徊的邊緣人,是那種走進編程行業但是又不得道的「技術人才」。就像工業革命時期,工廠不再需要更多的工人,那麼沒落的是工人,而不是工廠,工廠會越來越強大,需要越來越有實力的人才,其他的人才就會下崗。所以:沒落的是沒有實力或者實力不強大的「編程人員」,而不是編程行業。
另外,某種上層編程語言可能會沒落,就像移動互聯網領域,PHP就比.net更受歡迎,相比之下,.net開始沒落,但移動互聯網的編程領域並沒有沒落啊。
峰迴路轉,只要編程行業不會沒落,那麼C語言就不會沒落,因為:編程的基礎就是C語言。它一直會是編程領域的核心語言。所以,只要是想走編程領域,涉及到編程領域,必學C語言是很有理由的。這就是為什麼所有大學的理工科都必學C語言的原因。
只是當時在學的時候,由於你的見識面有限,並沒看到C語言的重要性。不過當你在編程領域混了幾年遇到瓶頸的時候,你就會發現C語言的重要性了。不懂C語言,說自己懂數據結構和演算法幾乎是瞎扯,說精通資料庫是瞎扯,說精通linux,unix幾乎是瞎扯。而隨便一個行業的背後深入支持的就是數據結構、演算法、資料庫、大數據、linux。
比如移動互聯網也就是這樣,當網站訪問量達到億級,用戶量達到百萬級別,面臨的就是莫名其妙的網站變慢、甚至卡死,此時就是負載均衡和集群,是資料庫的負載均衡和集群+web伺服器的負載均衡和集群,這些都要從資料庫、linux去入手(windows伺服器的就不是個級別,不用說了)。而你不懂C語言,連指針都不知道是什麼,為什麼的時候。學精通Linux也太累了,它內容太多,所以你學不好。
C語言,它能經歷四十多年經久不衰、使用率一直名列前茅是有理由的(C語言很多情況下是和C++捆綁在一起的,你應該把C語言+C++看看所佔的比例)。
所以大學裡開設C語言是很有必要的,感覺沒必要,只是你看不到。但當你工作了幾年你會發現C語言如果學不好,會成為你在編程領域晉級的嚴重隱患,不是你不想提升,而是你無法提升。這也就是為什麼你看到工作了多年的編程高手卻還在回頭弄C語言的原因。
另外,某個工具也可能會沒落,就像Turbo C會越來越少用一樣。
總之:編程行業不會沒落,只會加強,需求的人才也是實力更強的人才,所以未來是有實力人才的機遇,也是沒實力的人瓶頸。
最後:學好編程,其實和是不是學計算機專業沒多少關係,和學歷高低沒多少關係,和年齡沒多少關係,但是和動手能力、實際操作能力息息相關。
所以其實你不用問這些問題:我是文科生能學好編程嗎?我是大專生,甚至中專生能學好編程嗎?我28歲了,才開始學,能學好編程嗎?等等之類的問題。你就問你,你願意動手嗎?如果願意,那就OK。哪怕你是文科生,哪怕30歲才開始學,哪怕是小學畢業的也學的會,甚至可能成為編程的高手。反之,如果不注重動手能力,哪怕你是重點大學的計算機專業的研究生,你也是學不會編程的。
推薦閱讀:
※Python的起源是什麼?
※辦公自動化與python編程探索(二)
※Python 004-03:字元串全部處理方式
※Python基礎練習題
※柯里化的前生今世(三):語言和同像性