是你自已說「如果 js 只是寫寫網頁小動畫我就同意,以前只要有 jqeury 大家就很高興了...必需要能應付大程式....」你所 complain 的是「framework 不足...是沒找到正確或合適...」在邏輯上並不等同於「JS 沒有好的 framework 和 library」請勿斷章取義。(不足是指 feature 的不足,並不是指數量的不足。如同「不是語言本身的不足」不是指「數量」)
存在 class 的目的是支援 OO,但 OO 並不是只有一種 approach。我只能說,大部分人都不願去了解 JS 的 approach,才會發明出各式各樣的 class 方法。(但我認同過去沒有 module 是一個嚴重問題)
另外,如果 Dart/Java 是個好語言,是不是也不用出新版了?
FYI http://en.wikipedia.org/wiki/Prototype-based_programming
之前有許多人提出,應該標準化 web bytecode,讓所有語言都可以在 web 上執行。這遠比 Dart VM 有道理多了。但 bytecode 的問題在於 vendor 之間的角力不容易形成共識,我個人完全不看好短時間會達成,事實也是如此。
但 asm.js 似乎提供一個新的途徑。我並不是說 asm.js 該成為 bytecode 的標準。我是指在現有 JS 語法上定義 bytecode 的方式,似乎是不錯的做法。主要好處是,不需要 browser 特別支援就能執行。透過新 bytecode 的發明和使用,在實務的過程中進行比較,似乎比直接定義轉成 native code 的 web bytecode 更容易達成共識。
小時侯常聽說,打棒球能打一輩子嗎? developer 有點像是職業球賽,從業餘, 3A 一直到大聯盟,每一階級都刷掉不少人。如果你停在某個階級太久,最終你就被刷掉,沒錯,你的生涯結束了,無法當成一生的志業。如果關關難過關關過,只要你能站穩大聯盟,你是不用擔心"一輩子"這件事的。
我的職業生涯已經十多年,雖然離退休年齡還遠,但已經到了一般台灣人所謂不能寫一輩子程式的年齡。但我想說的是,我的同窗們都已經被刷掉了,被自己刷掉了,而我成功進級了。在我的世界裡,我一年的產量(行數)可能不到剛出社會的年輕人的10%,但我解決他們解決不了的問題,我看出他們看不出來的問題,我用他們想都沒想過偷懶技巧,我知道怎麼在技術的荒野裡生存。這就是經驗。除非這家公司的工作都沒難度,否則我是有價值的。如果公司的工作都沒難度,我又何必浪費生命?
如果任何人有"寫一輩子"的疑問,顯然缺乏勇氣和信念,應該儘早放棄,不要覺的丟臉或不道德。找個無聊但可以過日子的工作也是一種可敬的人生。
PS: 因為工作的原故,我看到世界各地有著不少寫一輩子程式的人。每次看到白髮蒼蒼的 programmer,心裡都昇起一股尊敬,也更加深我的信念。