.Net思想篇:為何我們需要思想大洗禮?
前言
每當說一件事的時候,我喜歡回溯往事,這樣思有所依,文有所憑,才能達到打字如尿崩,一發不可收拾的流暢度。讓我們將時光回溯到08年,當時和同學們就有了學java和.net之爭,當然不止這些,還有設計,測試,平面設計,網絡設計之爭,踏入互聯網,路有千條隨你選。我也不知為什麽選了c#這條路,但我有些考試需要java,所以java還是有點小基礎。
時光轉移到18年,由於業務增長,公司需要重構系統,以支撐更強大流量,更強大穩定性。但據高層反應,.net相關架構師太少很難招,還有其他一些原因,高層決定轉java體系。但想轉也不是那麽容易的。
思想
也許是習慣問題,有些.net人並不想轉,所以學習java動力不夠。從語言角度來講,java並沒有優勢,但java的生態遠遠甩開了.net。說到大數據,我第一想起的是Hadoop,昨天又對Spark印象深刻。
生態吊打,難道我們就必須轉行麽?
Docker,Kubernetes基於go語言,我們就要轉go麽?
現在很多人工智能機器學習會為python提供原生支持,我們就要轉python麽?
Rabbitmq基於erlang開發,已經是隊列的主要選型標準,我們就要轉erlang麽?
百花齊放,各有其型,才是最健康的互聯網。
春秋戰國,百家諸子爭鳴,在史上流傳了一段佳話。罷黜百家,獨尊儒術之後,可還有看到類似的思想綻放麽?
如果你聽了博主這段話,就心安理得獨守.net,那也是害了你。
從歷史中尋找借鑒
歷史是每一個時代發生的事,成功或失敗,都有其巨大的價值。百年近代史告訴我們,落後就要挨打。當然我們平民就不吹這麽大的牛逼,只從裏面感悟一點一點能用的就行。歷史上提出過“師夷之長技以制夷”,縮小到編程語言這個小層面來講,就是學習其他語言生態思想的精華,來補足自身的思想不足。
王垠大神的博客具有無數不同性質的批判,嫌其他人太挫,這是他個人的思想境界。但我離他的距離有十萬八千裏,我就是從一個平凡人的角度來思考。
真正的跨平臺
所有現成實用的中間件,並不是被語言獨占的,基於AMQP協議,你可以用很多語言實現隊列。我們最重要的也許不是了解erlang ,而是去了解rabbitmq的實現機制。
了解了redis的實現機制,和一些關鍵思想後,你也可以用很多語言實現一個類似的緩存。
我們考慮轉型首先應該考慮轉型的是思想,是實現的原理,其次才是語言。因為要研究思想,所以才會去了解新的語言,這是相輔相成的。
所以如果別人說轉java,就不要和他們爭論了,你要有自己的見解,你學java是可能為了解spring cloud的思想及應用,如何實現微服務的思想。
ES6支持了async await異步模型,是吸取了c#的思想。
.netcore的依賴註入的模式,采用當前最流行的思想,而spring框架天生就支持依賴註入和aop。
思想變的一樣了,才有了趕超的機會。
譬如中國四十年經濟改革開放,也是思想的巨變,雖然改革結果有人哭有人笑。
所以真正的跨平臺是思想的跨平臺。
社區領導者
如果.net強依賴windows平臺,那無疑降低了競爭性,雖然以前的mono支持了linux,但從實際應用來看屬於小眾用戶。"群龍無首"就描述了以前.Net社區現狀,當時開源社區最大的腕算是mono團隊了吧。
.NetCore開源後,迎來一個新時代,最大的好處就是支持跨平臺,也支持和iis解藕了。這就有了繼續強大的思想資本。
微軟經過時代巨變,解放了自己的思想,社區工作者和普通個人開發者的思想受歲月流毒嚴重,還有很多,依舊沈浸的.net的思想體系內。
破心中神
這已經是我這三篇博文一直提的話題了,我一直在感悟思想解放。<牧神記>這本小說,也給我了很大的思想沖擊。當然最大的還是現實沖擊。年中,公司對善於分享的同事頒發了分享獎。這其中當然沒有我。因為我之前分享的很少。此事之後,我就開始總結提煉我所學知識,在博客上分享。剛開始很差,現在漸漸寫的能湊合了,不過還不夠好。
破心中神第一步,選擇一個方向去攻破。我為自己選了四個方向。爬蟲,隊列,支付中心,分布式鏈路追蹤。現在尚不知哪個意向最終能以成品開源出來,但有方向總不至於茫然無措。
從去年開始,我陸續看了李艷鵬老師的<分布式服務原理,設計和實踐>,單元測試的藝術,微服務設計。目前手裏還有基本沒看完。理論部分不再像之前那麽茫然無措,至少不會再傻傻的被別人講幾下原理震撼住了。光看理論解決不了問題,還要結合實踐求知,才能具有實用價值,目前我還在朝這個方向蹣跚起步。我已經開啟了我的支付中心,隊列,爬蟲,分布式監控的思考時間路,從我的博文中可以反映出來。雖然都是原型,但至少已經起步了。從起步到完成,仍然是一個艱巨的任務。不要無視未知,參與進去解決它!
大牛之路
以小說屆,久負盛名的三少舉例,十年不斷更,是一個十分困難的事情。能有此標簽的,我只聽過他一人。思想解放了,融合其他優質中間件思想,再配以持之以恒的實踐,你就成了破了以前的心中神。善友大神的十三年mvp也是如此唯一。
思想解放,持之以恒的實踐,樂於分享。這是我認為的大牛之路。
我雖然工作有年頭了,但我對於這條路,才剛剛起步,路上有多少坑坑窪窪需要去填?
面向工資編程
經常看到有人說轉java是面向工資編程,但很多公司高層工資更高啊,為什麽不挑戰自己進入更高職位?現在大前端,機器學習,算法也很吃香,為什麽偏偏轉了java?可見你並不是真正的面向工資編程。你只是面向.net和java兩種工具編程,其實我也是。
最好的時機
.NetCore現在出來才兩三年,這是出頭的最好時機,太早不穩定,太晚又太成熟。這是補充.生態的最好時機。待你深挖了各大中間件核心思想後,在netcore實現你的開源,你會有很大收獲。君不見開源項目有吸引力的很多人,都是微軟mvp了麽?
阿裏以前有句話:if not me,who?if not now,when?
時光易逝,雞血難續。如果這篇文章不能引發你的小宇宙,那算我失敗。如果引發你的小宇宙,你沒有實施,那就是你自己了。我同樣也是這樣提醒我自己的。
從此啟程
2018.9.16淩晨
本篇到此結束,感謝觀看。
.Net思想篇:為何我們需要思想大洗禮?