標籤:

談談編程

已經過去的那個五月,自己欠下了一屁股債。先是一位本已才氣過人的讀者(etter)發來截圖提醒我曾經承諾的文章「談談大學」,後又有幾位讀者不約而同再度求稿「談談編程」。算了下日子,「談談大學」本該先寫,但下筆兩天,卻無從寫起 —— 我想表達的其實已經被etter在她自己的文章「談談大學」裡面表達得很好,而且作為一個尚在就讀的大學生,她文字的水平,思維的深度均遠遠超出了我大學時的水準,想想自己都覺得汗顏。所以這文章我就暫且擱下了,等過幾天寫好,再附上她的原文,供大家品鑒。今天講講編程。

由於我的文章曾經被知乎轉載,進而又擴散到其它的一些平台,從這些平台上看了文章,加了我微信號的讀者大多和編程無關,於是乎,每當我發點和開發有關的內容,都會有不少人問類似的問題:作為一個處在和編程毫無關係的行業里的小職員,雖然想學編程,但編程對我真得有用么?

比如說昨天的一條留言:「感謝你的答覆,編程在我心目中有種鍵盤俠的形象,但害怕隨著對編程的更深入理解,發現不是自己所想像的那樣,也不知道有沒有在原來的方向上拐了個大彎,畢竟國際貿易(我在做的工作)和編程好像是完全沒有關係的2門學科,到時浪費了時間精力走歪了路」。。。

這個問題我覺得可以變成這樣的一系列問題:

我不用開車,學駕駛有用么?

我工作中從來不用英語,學英語有用么?

...

大多數人對這樣的問題都有肯定的答覆。因為這兩樣技能,已經變成了現代人生活的基本技能,有或者沒有決定了你在不同場景下的生存能力。

編程也是如此,未來的世界裡,不會編程,雖不會決定你的生存能力,但會影響你的生存能力。

我們仔細想一想編程是什麼?編程是通過構建一個系統,將一系列的輸入,變成一系列的輸出,通俗地說,就是給定一個問題,用計算機高效解決這個問題的能力。放到生活中一些的場景里:

老闆給你一堆數據,你要從中篩查,組織出一個報表;

家裡的數碼資料越來越多,你想找拍攝於某地的一個視頻;

工作中對著計算機總是在做一些重複性的勞動,比如說把某個文件中的內容按照格式拷貝粘貼到另一個文件中;

...

這些每個人幾乎都會遇到的場景,都可以用編程來解決,有些甚至幾行代碼可以免去你一天的辛勤工作。

現代編程語言的趨勢是越來越簡單,越來越易學,一個非科班出身的人,只要有一定的計算機使用基礎,循著語言的文檔和教程,幾周內學會一門語言並能用其解決問題並非難事。不信?我給你講一個例(ji)子(tang),這個例子我自從聽到後,就常常用來鼓勵周圍的人學編程。

例子的主角是個15歲的男孩(好吧,我想很多人已經知道我要講誰了),也就是國內剛上高中的樣子吧。他喜歡編程,做了一個叫Trimit的iOS application,使用一些機器學習/自然語言處理的方法將大文本濃縮成小的篇章,比如說140個字的tweet。在這樣一個注意力不斷缺失,人類越來越不願進行長閱讀的時代,小哥的app引起了很多人的注意,這app在app store上成為一個不小的話題。李嘉誠注意到了這個小哥,給了他一筆USD300k的投資。有了錢,並且根據用戶反饋,小哥重寫了整個app,並且重命名為summly(之後又獲得USD1M的投資)。然後在他17歲的時候,yahoo的梅麗莎同學花了USD30M買下了他和summly。

這些都不是故事的重點。他是個高中生。整個軟體是業餘時間在卧室里做出來的。他還得和其它孩子一樣正常上課,寫作業,爭取畢業。

這小哥名叫Nick DAlosio。就算Nick智商超高,他也才是個十幾歲的孩子。就算他12歲就開始學編程,他的理解能力能比我們這些成人高多少?如果他都能搞機器學習/自然語言理解,作為成年人,我們寫點腳本代碼,又有何難?

雞湯時間結束。

前面講到編程其實反映的是一種解決問題的能力,在這一點上,非科班出身的人更有優勢 —— 跨界的優勢。因為他們有實實在在的業務問題,而學CS的人沒有,需要主動尋找。這就跟科班學英語一個道理,學得再好,到了應用場景還是會抓瞎。你讓英語專業的人翻譯一下the art of computer programming試試,估計死的心都要有了。你讓一個學CS的人做個化工方面的軟體(非MIS)試試?沒有一段時間的浸淫,他做不出來。

非科班出身,有了對業務的理解,如果再會一些編程,能解決工作中的問題,那就非常吃香了。人家一天的活,你寫個腳本半小時跑出來,剩下的時間該學習學習,該把妹把妹,還受老闆待見,何樂而不為?

科班出身其實挺苦惱。我LP經常會跟我聊她工作中的瑣事,我一邊聽著一邊琢磨著,嗯,這事可以寫個腳本自動化,那事如果用VBA,能簡化好多操作,可惜我不會啊,她的那些單據,憑證,報表,inventry,我聽了就頭大,看了就眼花,空有一腔編程熱血,卻撒不出來。

現在所謂互聯網創業,在沒有做到一定規模以前,科班出身的人沒有任何優勢,用的工具,技術其實沒什麼難的,非科班一樣能掌握,而且跨界的思維往往能擦出更多的火花。我自己做過了互聯網,再回過頭來做硬體防火牆,看到的遍地是機會(當然很多都是我自己沒法把握的),這還是行業內的跨界;行業間的就更不必說。我相信一個做過快銷會編程的人,做相關的SaaS,要遠強於一個科班出身寫代碼的人。

編程有多難?有多易?不用整天討論。捲起袖管,挽起褲腿,衝進沼澤,自己尋思吧。

Welcome to battle field~

如果你對本如果你對本文感興趣,歡迎訂閱公眾號『程序人生』(搜索微信號 programmer_life)。每篇文章都力求原汁原味,早8點與您相會。


推薦閱讀:

c語言中的封裝 - 答讀者問
大數據雜談
奇博士的管理課 - 激勵
[產品與技術] Flight data recorder
[雜談] 當你回首往事的時候

TAG:迷思 |