天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

語言真是不重要的嗎?談語言的*層次*與技術的三六九等

  關注——或“專注”于多語言編程之后,老趙對于語言的關注也越來越多,對于語言在編程中所帶來的“美感”也有了越來越深的體會,還在博客的標題中加上“追求編程之美”。關注語言多了,關注純粹的編程實踐多了,自會有所比較,然后寫出了引人注目的《為啥老趙不喜歡Java*語言*》。這篇文章所得到的負面評論的確也和想象中差不多,大部分朋友的觀點是“語言不是關鍵”或類似說法,似乎對語言的討論和比較非常沒有必要。有個朋友說的更是直接:“在看到這些文章之前,我還是比較敬重老趙的,不過現(xiàn)在發(fā)現(xiàn)你也就這點高度”。老趙認為,這是對這方面的誤解,而有這種誤解無論是對于社區(qū)還是個人的發(fā)展都是沒有益處的,因此單獨開篇,討論一下這個問題1

  “高度”,是個多么“發(fā)人深省”的名詞,往往直接就將事物分了三六九等。封建社會將人認為三六九等即從“出身”或“行業(yè)”決定了一個人的社會地位高低,例如,即使是“戲子”或“工匠”等下等職業(yè),就算成就再高也被主流社會所排斥,大部分人依舊從心底里瞧不起那些人。不知道您對這樣的劃分有什么看法,老趙對此沒有看出任何科學性,也沒有任何好感。不過現(xiàn)在國內“主流”觀點也在技術方向分了三六九等,例如以下便是一個典型:

  • 上等:系統(tǒng)架構
  • 中等:框架設計
  • 下等:語言實現(xiàn)

  為了證明自己的“高度”,為了避免接下去討論的內容把老趙“下等人”的老底給顯露出來,老趙先用一段話為自己披上“上等人”的外衣:

  “如果要實現(xiàn)一個‘高性能’、‘大并發(fā)’的網(wǎng)站,前端使用4層7層負載均衡,如果不用F5等商業(yè)產品可以先用Nginx等做反向代理。后臺實現(xiàn)要對系統(tǒng)作劃分,避免單點失敗,也可以作獨立優(yōu)化。系統(tǒng)之間可以用異步消息傳遞來降低耦合;系統(tǒng)中不采用二段式提交或分布式事務,CAP原則中的“一致性”往往需要做出讓步,而采用‘最終一致’策略。數(shù)據(jù)存儲方面可以做橫向或縱向的劃分,或者構建查詢表。合理使用Schemaless的設計方式或如何MemcacheDB或Tokyo CabiNET等Key-Value存儲方式可以帶來更好的伸縮性。除此之外,系統(tǒng)中還需要部署Memcached集群作為緩存。靜態(tài)文件可以使用Squid或Varnish作為緩存,避免所有IO都直接落到文件存儲上……”

  其實老趙只是把大腦皮層最表面的某些“知識”給傾倒出來一些,我不知道這些內容給您感覺是什么,是不是會覺得很有“高度”。但是老趙覺得,這些東西看起來可能會“過癮”,但是卻毫無營養(yǎng)。其實所謂我們很多草根人士平時在談論“系統(tǒng)架構”的時候,往往就是把各種產品,原理,實踐進行組合拼接,其實說起來和看著市場上產品報價然后攢出一臺電腦沒有本質的區(qū)別。因此老趙現(xiàn)在看到這些東西已經(jīng)不太感冒了,目前一直在設法研究從某個細節(jié)方面真正有效地提高“某個參數(shù)”,而不是從一個非常高屋建瓴的方面對整體提出一個所謂的“指導”。

  不是每個人都有能力和條件成為鄧爺爺那樣偉大的改革開放總架構師的。

  作為一個普通人,我們很容易對自己不太了解的東西產生一種崇敬之情。例如搞.NET編程的,往往會對“操作系統(tǒng)”,“線程調度”,“文件系統(tǒng)”,“匯編”等名詞望眼欲穿,覺得那些才是真正有“技術含量”的東西。其實每個人的工作都是建立在另一批人的抽象之上,然后再這個抽象上產生更多的價值,如果因此對自己產生懷疑,硬要分個高低貴賤三六九等,這估計可以算作一種“妄自菲薄”。而“語言”作為我們技術人員每天都會接觸的事物,似乎人人都會,人人都懂,談了再多也只是一種“低級”的問題。如果還在專注,還在比較,那么“你也只能算是這點高度了”。

  我們每個人從接受計算機教育的一開始似乎都會被告知一個正確的道理:“語言只是工具,重要的是能力與思想”。這句話本沒有錯,但是一句正確的話被強調過渡了可能也會成為一種錯誤。例如KISS原則的本意是要避免“過渡設計”,而老趙不止一次發(fā)現(xiàn)它已經(jīng)被某些朋友用作“不設計”的理由。語言之余技術人員,就好比兵器之于武林人士。強調“能力”好比強調“武功內力”這不會有錯,但是根據(jù)老趙多年閱讀的沒有上百也有數(shù)十本武俠小說中,的確沒有發(fā)現(xiàn)武林人士對神兵利器的品評與追求體現(xiàn)出嗤之以鼻的態(tài)度。

  很多朋友認為,高手是不會介意語言的選擇,而語言也不會影響高手的能力。老趙并不同意這個看法。老趙同意“對于同樣的工具來說,能力決定了生產力”,卻不同意“有了能力,工具對于生產力的作用微不足道”。在TL上有朋友說了一句老趙認為非常有道理的話:有些武功也必須是有特定的兵器才能修煉的。如果只有匯編語言,那么大部分人都無法突破“子過程”這個抽象級別,更別說“面向對象”了。因為“語言”往往會對“設計”有巨大影響,所以Linus會炮轟C++Anders HejlsbergJames Gosling會對語言設計中是否應該有Checked Exception持不同意見。

  看大師爭論很過癮,那些總不會是“低層次”的爭論吧!

  “圖靈完備”已經(jīng)從理論上保證了語言的能力“足夠”表現(xiàn)出任何邏輯,但是世界上還是有各種各樣的語言層出不窮,在一個又一個地方放出不同光輝。而由于一般的“通用語言”在表現(xiàn)某個特定問題的時候會顯得比較“嘈雜(Noise)”,因此現(xiàn)在DSL的概念也愈發(fā)蓬勃了起來。老趙懷疑,高手的能力真能忽略語言的特性的不同,得到同樣高度的生產力嗎?如果真是這樣的話,老趙現(xiàn)在所追求的“混合編程”的意義又在哪里?老趙不知道Martin Fowler為什么會說“People may say that Ruby is less noisy than Java, or that external DSLs are less noisy than internal DSLs”。不過我懷疑小李探花手持天機棍2后是否還能在兵器譜上排名第三。

  誠然,高手超能力的作用無法被忽視,他們也可以用Java寫出流暢的API(fluent interface),正如jMock在為Java平臺帶來了一股清新的空氣。但是Moq使用C# 3.0中引入了Lambda表達式之后,從Rhino Mocks(與jMock的語法類似)手中搶走了大量的市場份額,迫使它也不得不使用Lambda表達式應戰(zhàn)。同樣,即使C#的擴展方法特性可以在一定程度上改進單元測試的語義,如果您把它和Scala實現(xiàn)的specs,或者F#實現(xiàn)的FsUnit相較“Behavior-Driven Development”,高下立判。今后老趙也會給出自己在混合編程上的探索,您一定可以更明顯地發(fā)現(xiàn)不同語言在解決相同問題時產生的區(qū)別。

  “語言只是工具,重要的是能力與思想”。這句話本沒有錯,但是如果把它作為“輕視語言”的理由,認為“語言”是低層次的東西,那只能說是一種誤用了。

  最后,老趙再稍微談一下對另一個觀點的看法:“一個好的程序員應該兼容并包,不該有門戶之見”。老趙舉雙手雙腳同意這個看法,這也是老趙推崇“混合編程”的原因。但是老趙認為這不代表不能“批評”一個語言,“兼容并包”講究的是“各取所長”而并非是“各護其短”。老趙不搞“平衡論”,不代表老趙有“門戶之見”,不是嗎?

  就用“門戶之見”來結束這篇文章吧:有錯誤的是“重語言而輕其他”,或者僅從語言來說明事物(例如通過語言來說明程序員能力高低,項目好壞等等)。而研究語言,比較語言,思考語言,談不上所謂層次淺,高度低——“層次”所指的是“怎么搞”,而不是“搞什么”。否則,不也是一種“門戶之見”嗎?

 

注1:這篇文章的內容原本屬于《老趙看“偽專業(yè)”》一文,但是在寫作過程中發(fā)現(xiàn)這一塊可能是誤解最深,也最難以被人識破的觀念,因此單獨成文,想把這個問題說明清楚。

注2:在白曉生“兵器譜”排名中,“天機棍”排名第一,而“小李飛刀”李尋歡排第三。

 

it知識庫語言真是不重要的嗎?談語言的*層次*與技術的三六九等,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 成年人视频在线观看免费 | 伊人久久大香线蕉综合网站 | 消息称老熟妇乱视频一区二区 | 韩国g奶空姐 | 国产精品1卡二卡三卡四卡乱码 | 亚洲人成www在线播放 | 爱穿丝袜的麻麻3d漫画免费 | 国产亚洲精品久久久久5区 国产亚洲精品久久久久 | 在线天天看片视频免费观看 | 国产曰批试看免费视频播放免费 | 国产跪地吃黄金喝圣水合集 | 久久久久综合网久久 | 欧美多人群p刺激交换电影 欧美多毛的大隂道 | ca88亚洲城娱乐 | free性欧美xxx狂欢 | 毛片999 | 亚洲视频免费在线观看 | 国产乱码二卡3卡四卡 | 亚洲成AV人片一区二区不卡 | 国产精品一区二区在线观看 | 性派对xxxhd| 东北女人奶大毛多水多 | 亚洲欧洲免费三级网站 | 99视频免费播放 | 99国产精品人妻无码免费 | 胖老太与人牲交BBWBBW高潮 | 哒哒哒高清视频在线观看 | 国产在线精品亚洲观看不卡欧美 | 国产最新地址 | 国产精品7777人妻精品冫 | 亚洲乱码爆乳精品成人毛片 | 手机看片国产日韩欧美 | 轻点灬大ji巴太粗太双性高h | 麻豆精品传媒一二三区 | 在线超碰免费视频观看 | 久久99r66热这里只有精品 | 97se se| 榴莲推广APP网站入口下载安装 | jzz大全18| 毛片免费在线视频 | 9亚洲欧洲免费无码在线 |