作者:劉巍
我始終認為,對初學者而言,IT 技術潮流不可盲目追趕,也無能力追趕。常見學生將課本拋棄,轉而購買昂貴的 C#、VB.NET 大部頭;或在未搞清指標概念前,就在討論 C# 如何免用指標。這如當年 ASP 風潮,讓許多資訊系淪為「網頁培訓班」。追趕潮流雖能短期見效,但缺乏基礎支撐,技術淘汰快,學習曲線陡峭,畢業時反而競爭力不如夯實基礎者。
程式設計只是計算機技術應用中複雜度最低的勞動環節 (Coder)。計算機科學涵蓋多媒體、網路、人工智慧、模式識別、管理資訊系統等。許多大師級研究者並不擅長寫代碼。將編程神秘化、高薪化,實則是商業炒作。實際開發中,語法知識佔比極低,核心在於演法法、架構、工程化。
見過學生將《計算機網路原理》逐字劃記、背誦以太網線長度、IP 標頭格式,卻不知路由原則、TCP/IP 設計宗旨。學 C++ 時背盡語法細節、閱讀《Thinking in C++》《Inside C++》,卻發現「學了繼承忘了模板」。語法只需查 MSDN 即得,死記是極差投資。我曾半小時學完 Basic 語法寫出程式,一小時後全忘關鍵字,毫無影響。
學生渴望速成變現,但業界新技術 (如當年的 VB/ASP,今之各種框架) 易學易棄,學會時已過時。基礎課程 (資料結構、作業系統、計算機組織、編譯原理、軟體工程) 雖不直接產出可跑程式,卻能大幅降低學習新技術的曲線斜率,且對核心技術 (Win32 SDK、驅動開發、高效能運算) 為不可或缺先決條件。
實例:同學大二學 HTML/VB/ASP,我花大二學組合語言、資料結構、作業系統、Windows 核心程式設計。大三他已能跑專案,我才剛會建對話框,曾焦慮。畢業時我拿到的薪資是他的兩倍。先學基礎再學工具,工具只需幾天;先學工具再補基礎,基礎要花一年,且工具可能已換代。
非本系者可參照本系課表。遇書看不下去,翻閱參考文獻先補齊前置知識。書名含「原理」者,以每天 50 頁速度掌握要領,勿背細節。多上機實作理論/演算法。
基礎是走得遠的資本,潮流是過眼雲煙。願每位初學者耐得住寂寞,守得住初心,在計算機科學的廣闊天地中踏實前行。