在程式語言發展史中, JavaScript算得上是個異數.
它不像C、C++、COBOL、FORTRAN、PASCAL.....等等程式語言一開始就有著獨立自主的個性與完整的程式語言架構.
JavaScript就只是用來處理網頁互動的部份, 是附屬在HTML下的腳本語言.
早期我個人的看法, JavaScript有三大特色:
- 除了很基本的語法和物件外, 它是可以用Library來擴充功能的.
- 它是不需要Compiler的語言, 有點像早期Apple II上的BASIC, 是在網頁執行過程中, 由瀏覽器當場解譯執行的.
- 通常會被網頁程式設計師寫成嵌入於HTML的形式運作, 也因此, 很難Debug.
但經過多年的發展, 拜網際網路之賜, JavaScript不但沒有被淘汰, 反而在很多強者開發的豐富多樣化的Library的支撐下, 展現出完全不一樣的風貎, 和多年前JavaScript剛開始成為標準時, 有種士別三日之嘆.
籠統說起來, 我開始接觸JavaScript並進行實際系統開發, 大約是12年前的事.
在那個時期, 國內軟體公司對JavaScript並沒有多少關注, 比較多的都是在VBScript. 而學術界對JavaScript的關注就非常多.
也因此, 在工作中學習JavaScript是一件不討好的事.
12年前, 我就只有從微軟MSDN Library(一套附在Visual Studio 6.0中的電子書), 以及微軟MSDN網站上些許的Sample Code.
其實微軟是把他們的JavaScript命名為JScript, 可以參見MSDN網站的說明.
現在這個JScript的相關網頁內容, 比起以前真的是豐富太多了.
很可惜的是, 當年開發一套進銷存系統後, 就因故離開了JavaScript程式開發的領域, 只學了點皮毛, 就因為工作關係而走到不同的路線上.
一直到了五年前, 因為當時服務的公司的ERP系統功能不敷使用, 就另外開了一個IIS網站, 使用ASP.NET/C#/AJAX來開發外掛功能, 又開始經由AJAX接解到JavaScript.
買了一本由奚江華著的"聖殿祭司的ASP.NET 2.0 專家技術手冊-使用C#", 主要就在看AJAX這一塊.
但是, 使用Visual Studio開發工具的朋友應該都瞭解, Visual Studio已經把Source Code部份都包裝好了, 只要在畫面上工具箱裏拉一拉需要的工具, 然後把各個屬性設定一下, 就完工了. 和JavaScript的Coding工作, 真的...沒有關係.
很多介紹JavaScript程式設計技巧的網站, 其實是為直接Coding JavaScript的強者們交流的, 像我們這些只能靠微軟Visual Studio工具混口飯吃的"摩登原始人", 很多JavaScript程式設計社群是不屑一顧的.
隨著網頁開發技術的不斷提升、Android平板APP應用、HTML5規格等等等的演化, JavaScript的技術等級, 早已不知道翻了多少層, 和當初最早的JavaScript程式規格相比較, 現在的JavaScript真的像隻巨大的拼裝怪獸(或者說....違章建築).
而Node.js的興起, 就真的是令我傻眼, 什麼時候JavaScript也做起伺服端的買賣啦~~~
然後, 有一大堆的輔助工具幫助Debug, 更有一大堆各式各樣的Library來輔助開發JavaScript應用, 為了網頁互動的豐富效果, 為了讓網站能抓住"眾裏尋他千百度"的宅男宅女們的眼球, 大量的擺放一大堆特效.
當我看到某個強者寫的網頁, 用了十多個不同JavaScript Libraries的Function Call時, 不得不去審思這麼多的3rd Party Libraries應用, 考慮網頁效能, 這樣做真的OK嗎?
啊~~講的遠了, 這篇應該是講我學習JavaScript的秘笈才對....
其實我真的只有那本去年參加iT邦忍者賽得到的"JavaScript設計模式"一本書而已, 除此之外, 我的JavaScript學習主要是w3school.com的JavaScript Tutorial網站.
也因此, 我一直沒有參加第一週的PO文, 因為, 我真的沒有秘笈......