若是你不知道王垠(垠神)是誰,能夠先搜一下。node
《給Java說句公道話》程序員
不少JavaScript程序員也盲目地鄙視Java,而其實JavaScript比Python和Ruby還要差。不但具備它們的幾乎全部缺點,並且缺少一些必要的設施。JavaScript的各類「WEB框架」,層出不窮,彷佛一直在推陳出新,而其實呢,全都是在黑暗裏瞎蒙亂撞。JavaScript的社區以幼稚和愚昧著稱。你常常發現一些很是基本的常識,被JavaScript「專家」們當成了不得的發現似的,在大會上宣講。我看不出來JavaScript社區開那些會議,到底有什麼意義,彷彿只是爲了拉關係找工做。
Python湊合能夠用在不重要的地方,Ruby是垃圾,JavaScript是垃圾中的垃圾。緣由很簡單,由於Ruby和JavaScript的設計者,其實都是隻知其一;不知其二的民科。然而世界就是這麼奇怪,一個完全的垃圾語言,仍然能夠宣稱是「程序員最好的朋友」,從而獲得某些人的愛戴……數據庫
《編程的宗派》編程
面嚮對象語言不只有自身的根本性錯誤,並且因爲面嚮對象語言的設計者們經常是半路出家,沒有受到過嚴格的語言理論和設計訓練卻又自命不凡,因此常常搞出另一些奇葩的東西。好比在JavaScript裏面,每一個函數同時又能夠做爲構造函數(constructor),因此每一個函數裏面都隱含了一個this變量,你嵌套多層對象和函數的時候就發現無法訪問外層的this,非得bind一下。 Python的變量定義和賦值不分,因此你須要訪問全局變量的時候得用global關鍵字,後來又發現若是要訪問「中間層」的變量,沒有辦法了,因此又加了個nonlocal關鍵字。Ruby前後出現過四種相似lambda的東西,每一個都有本身的怪癖…… 有些人問我爲何有些語言設計成那個樣子,我只能說,不少語言設計者其實根本不知道本身在幹什麼!框架
《談語法》編輯器
在 C 這樣的語言裏,因爲結構上有不少限制,因此才以爲那樣的語法還能夠。但是一旦加入 Lisp 的那些表達能力強的結構,就發現愈來愈難看。JavaScript(node.js)就是對此最好的一個證據。函數
《論對東西的崇拜》工具
若是你瞭解一點歷史就會發現,今天很是流行的 JavaScript,其實不過是一個「沒能正確實現的 Scheme」。this
《如何掌握全部的程序語言》操作系統
合理的入門語言
因此初學者要想事半功倍,就應該從一種「合理」的,沒有明顯嚴重問題的語言出發,掌握最關鍵的語言特性,而後由此把這些概念應用到其它語言。哪些是合理的入門語言呢?我我的以爲這些語言均可以用來入門:Scheme、C、Java、Python、JavaScript
那麼相比之下,我不推薦用哪些語言入門呢?Shell、PowerShell、AWK、Perl、PHP、Basic、Go、Rust
《個人第一次和最後一次 Hackathon 經歷》
一進門就感受這跟通常的 meetup 氣氛很不同。這大週末晚上的,清一色的爺們,沒有一個女人,也沒有笑聲。並且裏面的人說話都很奇怪,不正眼看人,有些好像怒目相向的樣子,說出話來就像在查你戶口。有幾回有人問我是幹什麼的,我剛一開口,他們一句話不回,扭頭就跟其餘人說話去了。只有一個頭發花白的大叔工程師對我挺友好的,因而咱們就聊起來。旁邊有個華人工程師盯着一個15寸的 Macbook,後來也聊起來,開門見山就問我用什麼語言。我也忘了我說什麼了,只記得他很自豪的說本身用 JavaScript,並且那是最高配置的 Macbook,是 Retina 顯示器的。
《程序語言的常見設計錯誤(2) - 試圖容納世界》
今天我來談一下另一種錯誤的傾向,這種傾向也致使了不少錯誤,而且繼續在致使錯誤的產生。
今天我要說的錯誤傾向叫作「試圖容納世界」。這個錯誤致使了 Python,Ruby 和 JavaScript 等「動態語言」裏面的一系列問題。
《怎樣尊重一個程序員》
認識和認可計算機系統裏的歷史遺留糟粕 不少不尊重人現象的起源,都是由於某些人偏執的相信某種技術就是世界上最好的,每一個人都必須知道,不然他就不是一個合格的程序員。這種現象在Unix(Linux)的世界尤其廣泛。Unix系統的鼓吹者們(我曾經是其中之一)喜歡處處佈道,告訴你其它系統的設計有多蠢,你應該聽從Unix的「哲學」。他們彷彿認爲Unix就是世界終極的操做系統,然而事實倒是,Unix是一個設計很是糟糕的系統。它彷佛故意被設計爲難學難用,容易犯錯,卻美其名曰「強大」,「靈活」。眼界開闊一點的程序員都知道,Unix的設計者其實基本不懂設計,他們並非世界上最好的程序員,卻有一點作得很成功,那就是他們很會製造宗教,煽動人們的盲從心理。Unix設計者把本身的設計失誤推在用戶身上,讓用戶以爲學不會或者搞錯了都是本身的錯。
若是你對計算機科學理解到必定程度,就會發現咱們其實仍然生活在計算機的石器時代。特別是軟件系統,創建在一堆歷史遺留的糟糕設計之上。各類蹩腳腦殘的操做系統(好比Unix,Linux),程序語言(好比C++,JavaScript,PHP,Go) ,數據庫,編輯器,版本控制工具,…… 時常困擾着咱們,這就是爲何你須要那麼多的所謂「經驗」和「知識」。然而,不少IT公司不喜歡認可這一點,他們一貫以來的做風是「一切都是程序員的錯!」,「做爲程序員,你應該知道這些!」 這就形成了一種「皇帝的新裝現象」——你們都不喜歡用一些設計惡劣的工具,卻都怕別人嘲笑或者懷疑本身的能力,因此老是喜歡顯示本身「會用」,「能學」,而沒有人敢說它難用,敢指出設計者的失誤。
我看完以後的感受:
爲何我要發這篇文章:
若是你不能接受 JS 的缺點,說明你不愛 JS。
我以爲王垠的文章對於開闊視野挺好的,已付費。
完。