吐槽《黑客與畫家》

書呆子與騷年

看到本書有關書呆子的描述時,反觀自身,有不少感同身受的東西。從小我在你們眼裏就是一個安靜孤僻的書呆子, 外號「陰天使(方言的諧音)」。也因爲安靜的性格,使得我能坐得住安靜地讀書,因此學習成績比較好。我也一度認爲除了讀書,我啥都不會,跑步跑別人不贏,跳高跳別人不高,打架也只是捱打的份,人也傻傻呆呆,反應遲鈍。也正由於這一份自卑,讓我專一在學習上,也讓我更想讀好書證實本身。php

直至大學,我也一直覺得我沒法處理好各類人際關係,個人圈子也只侷限於個人宿舍,個人體育也歷來都是掛科,直至後來工做,我表哥問我爲何選擇作程序員,我說除了能寫幾句代碼,我不知道我還會幹什麼。而後我嬸說了一句話,讓我至今印象深入,你要相信你什麼均可以幹好。java

特別感激大學畢業離開學校的前一晚,你們坐在宿舍樓下」談人生」,我很感激你們誠懇指出個人優勢和缺點。我記得鄧菇涼當時提到個人專一,說跟我考研的時候,連東西掉到地上都徹底無視,可是她也誠懇指出我不懂人情世故。我也感激小e師父很是特別的認爲我很闊愛和知性,我都被他的評價給驚呆了。感激娟說我不要將本身的想法強加於他人,同時她也認爲我學習很是認真。還有方總但願我能兼顧學業與處世……你們的忠告都是我進入研究生嘗試改變的導火索。python

進入研究生,我很是感激我遇到很是熱愛生活的順子。起初剛和她接觸時,我認爲這個女孩好傻啊,好萌啊,後來發現從她身上,我真的須要學習的還有不少。她在我和某人分手以後,帶我去買漂亮衣服,帶我去練習瑜伽,帶我打羽毛球,帶我出去玩,她讓我明白生活還能夠這麼豐富多彩,她也讓我明白,啊哈,小青青打扮出來也是個小美女哦~以後開始和機房的你們接觸,特別是後來幾個小師弟的到來,機房的氛圍活躍了不少,我也今後變得」無節操,無上限」。後來也遇到了溫婉的蘭,她在待人接物方面的真誠讓我感受很是舒服,順子因爲有男友了,她接替順子,帶我去逛商場,穿熱褲,陪我天南海北聊各類話題。給我買護膚品,送我錢包,還常常給我買各類零食。順子和蘭在研究生的陪伴也是一直讓我分手後永不回頭的一個重要元素啊。linux

研究生順利畢業,也算拿了一個不錯的offer,我開始想學點東西,我在想我要學什麼,瑜伽跟順子一塊兒練了幾個月,發現太沉靜了,只有沉靜下來,才能逐步緩慢完成高難度工做。因而我作出決定學跳舞,學什麼舞,那就爵士吧。爲何要學跳舞呢,一方面是一個ted關於舞蹈的視頻,說咱們一直忙於用大腦思考,而忘記用身體語言表達本身。另外一方面我以爲jazz頗有活力,很sexy,可讓我放開本身,儘管後來你們都說我口味重,可是很是熟悉個人小夥伴們仍是用四個字歸納了我——含蓄內斂。還有一個重要緣由我以爲本人太缺少女人味了,我想跳舞有利於我變得更加女人。爵士學了一節課就放棄了,後來自學了一些簡單的jazz,再後來上班了,跟羅姐姐在一塊,她悟性高,我有幸跟她學了點其餘舞蹈。之前我不相信藝術能夠陶冶人的情操。可是後來的yoga,drawing均可以讓我安靜下來,而舞蹈卻會讓我變得自信開朗起來。ios

吐槽了這麼多,只是想反思自身,雖然如今的我仍是很羞澀,有時候很內向,有時候會懼怕與不熟悉的人聊天,懼怕說錯話,可是我仍是鼓勵本身走出去,多與人相處。但另外一方面我會要求本身可以安靜下來,好好coding,畢竟我仍是很欣賞程序員的務實與專一。如今想一想,我仍是很敬佩之前那個雖然什麼都不會,只會讀書,在全部室友都在看電視,玩遊戲,聊天的時候,她能夠心無旁騖的在那琢磨數據結構。因此當你看到一我的很不合羣的在那沉默不語,看起來呆呆傻傻,或許ta頭腦裏面有一個神奇的世界,我但願你們對那些很是內向的人多點寬容。對於如今嘴巴愈來愈貧,甚至有點內外兼騷之趨勢的本身,我會告訴本身——亂花漸欲迷人眼,淺草才能沒馬蹄。在書呆子變爲騷年的過程當中,有恐懼,有懼怕,由於懼怕本身會禁受不住誘惑,不能沉靜下來好好寫代碼,成爲一個浮誇之人。同時也有期待,期待看到多面的本身,期待證明本身什麼均可以作好。程序員

說出這些,一方面是感激一路以來,你們引導我不斷地挑戰本身,另外一方面是但願你們能看到性格的兩面。《人人都是產品經理》的做者曾經說過一句話,「一我的成熟的標誌之一就是心中能夠容忍各類不一樣的思想而無礙行事」,與你們共勉。就如同深處一個漢子比較多的圈子,我很是欣賞他們的理性,勇敢豁達以及對工做的專一。同時我也從我身邊的女性好友圈,看到女性的美麗溫柔善良,耐心以及對感情的全心傾注。這一切都是小青青要去多學習的地方。因此我但願不論男女,都可以互相學習,男生能夠嘗試練習瑜伽,女生能夠學學編程。就像大人和小孩要相互學習。有時候小孩子的不少處理方式或許可讓不少複雜的問題得以化解。web

說完性格的兩面,說說互聯網,畢竟這是我所從事的行業。曾經跟一個在騰訊實習的同窗探討過,他說騰訊有很是強大的平臺——qq,當時我想有什麼能夠對qq產生威脅——中國電信行業。但是沒多久,騰訊的微信就火了,微信在某一層次挑戰了中國電信。還有一個讓我很是深入印象的例子,在微信紅包很火的時候,騰訊卻選擇了面對面給員工發紅包,而沒采用微信紅包。這些都體現了騰訊的遠慮。讀初高中的時候,我不能相信沒有電視的生活,那將多無趣;後來大學我不多看電視。讀大學的時候,我沒法相信沒有互聯網的生活;如今的我除了工做,不多上網瀏覽,能夠忍受沒有wifi的生活。並且我發現互聯網並非讓你們變得愈來愈親近,有時候反而讓你們愈來愈疏遠,記得有次大學宿舍出奇地安靜,波波說有電腦以後,寢室好冷清啊,同在一個寢室,你們用qq代替說話,吃飯的時候你們也是沉默不語,在那玩手機。天天不是跟家人好友吐槽,而是在微博微信上髮狀態。我發現我在微博上髮狀態,愈加越空虛,老說本身很二很粗心,但是歷來沒有認真去改正,老說本身嫁不出去,還老矯情。微信上你們天天分享的內容都是差很少,曬幸福的繼續曬幸福,吐槽的繼續吐槽。因此我在想有沒有一天有什麼東西會革了微博和微信的命。並且發現如今的app逐漸往生活化服務發展。畢竟生活纔是硬道理。算法

對產品關注很少,也不算微博微信的深度用戶,發發牢騷,但願有高人給與更多指點。編程

黑客與畫家

上大學的時候,教咱們C++的老師告訴咱們coding就和寫做同樣,要先構思,而後表達,同時須要多讀別人的做品和勤加練習。可是C++老師沒有告訴咱們coding和寫做還有必定相似——創造。不少人不能明白爲何程序員能這麼喜歡折騰,能夠對美女熟若無睹,沉靜在代碼中。曾經有人說過創造和毀滅能給人帶來快感,而coding恰好知足這一點的,當修復一個bug,或者寫出一個能運行的程序,感受這是一件多麼神奇的事情。鄙人也畫畫,可是那只是簡單對着比例臨摹,尚未達到創造的級別,正如雖然我是一個程序員,可是仍是隻是模仿和閱讀別人的代碼,還遠不能把語言當作工具,創造出神奇的程序幫助人們解決一些難題。書中有一段類比,描述編程語言之於黑客與顏料之於畫家。畫家不須要太去深究顏料是如何製造滴,而應該讓顏料做爲工具,專一去創造出打動人心的做品。可是要知道顏料的基本組成,這樣才能更好的運用顏料潑灑出更美麗的圖畫。一樣咱們須要瞭解一些計算機理論,可是不能爲了學習理論而學習理論,而應學以至用。這讓我想起本身身上的不少毛病,有時候我向PM解釋某個問題,我是專一於其實現細節,而不是告訴他這個程序完成了什麼需求。大學的時候喜歡去研究數據結構,可是卻懶於去用程序實現它,更別提運用它去解決實際問題。數組

守口如瓶,笑臉相迎

書中說起黑客的思惟方式不同凡響,不會被表象所迷惑。可是被掩飾的真相每每是某些既得利益者不想讓你們所知道的。爲了避免招來沒必要要的橫禍,黑客要學會守口如瓶,笑臉相迎。曾經在知乎上看到這樣一句話,爲何二逼的人比較有想法,實際上是每一個人都頗有想法,只有二逼的人speak it out。我也很是認同這個回答。這世上每個有生命的人都是一個可以思考的動物,都會有本身的想法,只是堅決不堅決而已。這句諺語也讓我想起一部老電影——《飛越瘋人院》,該電影的主角很是有本身的想法,而且帶領你們「飛越瘋人院」,去進行獨立思考,體會本身的人生。其中還有一個高大的大傻個。最後的結局是主角被電得大腦嚴重損傷,大傻個給了主角「解脫」,而且逃出了瘋人院。電影的結局讓我唏噓不已。在某一層次這個瘋人院映射了不少東西。之因此喜歡看外國電影,可能潛意識認爲外國的月亮比中國圓,可是另一個事實是外國的電影比中國電影更真實。若是這個電影讓中國導演拍攝,大結局頗有多是主角拯救了你們,飛越了瘋人院。關於對於某些社會問題的討論,至少如今相對之前是更加開放。微博上常常會就熱點話題進行討論,不少網友的神回覆,讓我特別不敢苟同,尤爲是在看了柴靜的《看見》以後,會讓我用更加懷疑和寬容的態度看待網上不少熱點話題。可是另外一方面這些不一樣觀點的交鋒正是爲了讓你們看到事物的多面性,或許偏頗,可是有爭議纔有反思,有反思纔有改變。即一句老話窮則思變,變則思通。微博與微信很大不一樣,我的感受微博更加像一個更加開發的新聞平臺,而微信是更小衆的我的親友圈的各類新聞。微博要與微信各佔一地,關鍵在於微博能很快的把握住熱點新聞,而且就熱點新聞引起全民關注和討論,更甚者推進一些政策變革。我的見解,望勿貽笑大方。

創造財富

本書有一章節談到如何致富,這個我起初認爲是一些tips,後來做者主要圍繞你們如何給他人解決問題,從而創造財富。這讓我想到一個小故事。小孩向一位富翁請教其如何賺到零花錢,其提到了兩點,一則是人們有哪些難題,二是你可以作什麼。合二爲一即你能作什麼來幫人們解決一些難題。後來小孩發現冬天你們都不肯出門去報紙,後來他就開始了送報紙的活計。這兩點也一樣有利於咱們自身,咱們擁有什麼技能,能幫他人解決何種難題。一樣微博具備何種資源,能給人們帶來哪些價值?我想微博最大的資源在於新浪網在媒體方面多年的積累。無論是各類V,仍是各類無節操的編輯,以及各類運營渠道。其一方面可讓一些大V做爲自媒體去傳播一些價值,另外一些方面其能夠傳播和引起熱點話題的討論。知足人們喜歡窺探名人隱私的需求。曾經有好友說每次看新聞看微博,感受世界末日快來了,各類負能量。我我的認爲大部分人都是普通人,你是如何生活的,這世界上的大部分普通人就是如何生活的,之因此不少新聞編輯將這個世界描述得多麼不幸,是由於想給各位觀衆一點心理安慰。我的yy揣測,或許有所偏頗。

有品位的設計

(1)KISS——Keep it simple and stupid

曾經在新東方的presentation也看到一個KISS原則——keep it simple and straightforward。這也讓我想到一個曾經說到presentation的原則——sexy presentation。很是形象。說若是是一個裹得嚴嚴實實穿着正裝的女人和一個穿着比基尼的女孩,what do u choose?我想答案在你們心中。有兩點比較重要,one is that the less, the better; the other is that most important points should be covered. 翻譯成中文就是to be less is to be more. 四個字——言簡意賅。

一樣很簡單的設計也是能給人醍醐灌頂。好比iphone手機home健的設計,有時候菜單選擇並非越多越好,經常使用的選擇有了便可。另外一反面簡單是比較容易,即don’t make me think,很是推薦《don’t make me think》本書就是言簡意賅和don’t make me think的典範。ios的產品基本都沒有說明書。維修也只須要提供appid,而不是保修證書。鄙人不是生活中的有心人,我想生活中簡單的設計比比皆是,好比仿大象腿的塑膠凳子,可讓凳子不坐得時候累積起來,還有各類便攜的摺疊牀椅。但願你們多留心,生活到處皆智慧。

(2)經得起時間

讀初高中的時候特別反感所謂的經典以及那些你們都喜歡的東西,想所以而顯示本身的不同凡響。後來讀大學喜歡上了看電影,並且專門選那種經典老電影看,忽然發現時下的熱門電影 跟老電影不在一個層次上。畢竟老電影是通過歲月沉澱的,就像感情,或許細水長流才能經久彌新。

(3)可以解決實際問題

曾經買了一本關於設計的書籍,沒怎麼看,可是裏面有句話我很是同意,設計應該是爲解決實際問題而服務。對於華而不實的設計可能頗有」設計感、時代感、超現代感」,可是我的認爲仍是不能稱之很是優秀的設計。正如我很是喜歡可可香奈兒的服裝設計,對服裝設計關注很少,可是我很是喜歡香奈兒衣服的設計,簡單細緻溫馨。我想coco設計女褲子以及女士小西裝引發一代潮流,很大的緣由是褲子比古典裙子穿戴更加方便,也更溫馨實用。

(4)具備美感的設計

美很簡單同樣,很抽象。某方面多是比例比較協調,比較對稱,比較整潔的東西能讓人產生美感。就像音樂與噪音的差異在於,其有必定的律動和節奏。就像我很想成爲一個淑女和美女,我想良好的精神面貌是前提。

(5)看起來容易,實則艱難

又回到iphone產品的設計,看似簡單,實則把複雜度都轉到工程師了。工程師必須儘量作減法,儘量讓其操做簡單完成複雜的功能。

編程語言與編程思惟

剛開始看這本書,關於編程語言的章節,我都是跳過的(由於潛意識以爲更細節的技術費神),前幾天室友又在跟男朋友煲電話粥,並且有愈演愈烈之勢,so「空虛寂寞無聊」的我身邊只有一個不能聯網的pad,因而開始點開ibook,恰好是《黑客與畫家》求之不得的編程語言那章,最後結果是我將編程語言的全部章節都看完了。吐槽完畢,仍是講點這些章節吸引一個「空虛寂寞女」一口氣讀完的緣由吧。

想一想從大二開始接觸編程,最初接觸的C++,後來碰過C#,也見過java,再到後來讀研究生,用matlab寫算法,再到作圖像處理的課程和科研項目,再次拾起C++,以後爲了找工做,學了點python,最後到工做中接觸過JS,用php寫一點代碼。這是我接觸到的全部編程語言。大二至今其間也一直納悶什麼樣的編程語言是好的編程語言,各編程語言適用什麼樣的狀況?做者概括了幾點,好的編程語言不但能解決實際問題,並且簡潔好用。簡潔突出在簡短且易讀,好用突出在源碼免費開放,有一本不少實際經典範例的薄書對其介紹,有具備正交性的函數庫,有良好的性能分析器,有一個該語言發揮的穩定平臺。好比適合UNIX的C,好比適用瀏覽器開發的JS和Java,適用網絡服務器開發的php,好比Emacs編輯器的Lisp語言。因而乎,我對照之,awk是否是一門好的文本處理語言?有linux這個穩定發揮系統平臺,類C的語法,可是倒是不用聲明類型的弱類型語言,字符串和數字類型能夠根據上下文背景靈活轉換,支持關聯數組,同時秉承one-liner的原則來解決文本處理問題。文本中字段計算是常見的問題,awk能很好解決且簡潔好用,有一本awk聖經——《the awk programming language》。故據此結論是awk是一門比較好的語言。對於我接觸的C++,我想其適合圖像處理相關應用,在於其內存管理相對靈活,對於像圖像處理比較消耗內存的應用,須要更低層次的語言來靈活管理內存來節省內存空間,從而提升程序運行效率。而對於js適用在瀏覽器端進行編程,在於其可以更方便實現用戶交互。matlab之因此適用進行算法實現,緣由一是其豐富的數值計算和矩陣計算函數庫,這樣可讓coder快速創建算法原型。這樣coder只須要集中更多精力在算法邏輯上,而非編程實現上。python因其豐富的數據結構變量類型(如字典,列表集,集合等),各類擴展庫,以及方便字符串處理,因此其也是一個適合進行算法驗證的語言。matlab與python不一樣的是,matlab比較專一於數值計算,而python比較側重於文本處理。對於PHP, 我估計我工做以來寫的不到1k行代碼,印象比較深的是好用的關聯數組。至於php是網絡服務器語言,實在沒有很深的體會。計算機網絡和web開發小青青還要多多補課呀。

對於編程語言之爭,就不得不提到弱類型和強類型,靜態語言和動態語言,編譯型和解釋性語言。以我我的理解,弱類型語言通常不須要進行變量聲明以及變量初始化,而且能夠根據上下文背景進行變量類型靈活轉換。好比php和python就屬於弱類型動態語言。而強類型的語言須要進行變量聲明以及變量初始化,雖然類型之間也存在隱式和強制類型轉換,可是其也有更強的類型檢驗。好比C++和Java就是強類型靜態編程語言。編譯型語言是該語言須要先聲明後使用,須要對整個代碼先編譯成機器碼,再進行執行,而解釋型語言能夠寫一句,執行一句。C++是編譯型語言,PHP以及python都是解釋型語言,至於Java,貌似既具備編譯型語言特徵,也具備解釋型語言特徵。若是想說這些語言那種語言比較好,兩句話總結之,各有千秋,讓歷史來見證之。

書中關於優秀的編程語言,還提到一點。評價一種語言的優劣不能簡單地看最後的程序是否表達得很漂亮,而要看程序從無到有的那條路徑是否表達很漂亮。怎麼理解編程語言?你不要把它當作那些已完成的程序的表達方式,而應該把它理解成促進程序從無到有的一種媒介。也就是說這門編程語言既能快速靈活的搭建原型,又能不斷完善擴展優化實現出較爲完美的系統。以一年接觸php的感受,我以爲php符合這個特色。書中談到一百年後的編程語言,我想做者不是想預言一百年後的編程語言是怎樣的,而是想讓你們知道好的編程是怎樣,如何朝着好的編程語言標準在一百年後實現很好很強大的編程語言。

後記

《黑客與畫家》好久以前就聞之名,甚至有人奉爲圭臬(guī niè標註拼音,以便拼音打字的俺下次可以打出來show下~),可是一看這標題名,oh,my god,算了,電腦菜鳥仍是不要去看黑客這麼深奧的書籍吧。因此一直沒有見其面。工做以後,一次百無聊奈的我隨便下了幾本電子書,初看此書,我就一我的在歐美匯的樓下捧着ipad來回走了不少圈,由於裏面的內容太下里巴人,很貼近實際,根本不是我所預想的高深莫測。甚至看完以後,我推薦給那些並不是從事技術的好友看。由於我以爲這本書的不少想法不僅僅適用於從事IT的人,同時適合於生活中的男女老幼。因此沒看過的,我也強烈推薦之,這本書我想也適合我去看第二遍。

以上我的見解,共吐槽之

相關文章
相關標籤/搜索