https://4rdp.blogspot.com/2021/09/blog-post.html
近日在 FB 看到哈爸一篇貼文關於他的電腦程式語言學習歷程,讓我也回想自己 35 年來碰了那些電腦程式語言以及開發了甚麼。
從小第一次知道電腦這種東西,差不多在四十幾年前,因為家裡出租宿舍給大學生,見過程式打卡,一切都懵懂中。
我的第一個學習的程式語言是 BASIC,專科一年級寒假同學找我一起報名真理大學為校外人士開設的電腦課程,在計算機中心上課,比較偏商業應用,記得當時學習寫九九乘法表、泡沫排序法等基本練習題,此時家裡沒有電腦,沒辦法進一步學習。
專二上學期,母親去日本旅遊帶回一台 CASIO FX-700P 可程式計算機,可以寫 BASIC 程式,RAM 2 kBytes,對程式初學者而言綽綽有餘,雖然說明書是全日文,但是從程式碼範例依舊可以了解程式邏輯如何解算數學問題,例如直角坐標與極座標轉換、解聯立方程式等,這台 FX-700P 計算機讓我對 BASIC 的使用發揮到淋漓盡致,程式指令就是那幾個,看你怎樣組合它們,所以我寫過電玩金撲克以及橋牌叫牌模擬程式,程式碼行數約在 200 行左右,寫到計算機程式記憶體極限範圍了。
專三開始學 6502 微處理器,當時學 Assembly 組合語言,還真搞不清楚電腦的運作原理,最難懂的是 PUSH、POP Stack 堆疊以及 Interrupt 中斷的使用,剛學完還不知道怎麼應用它,直到 CASIO 計算機隨身玩了兩年,專四終於買了一台 Apple IIe,除了有電玩消磨時間外,也開始從 BASIC 應用程式研究到 Apple II 系統程式,才開始有數位系統的全貌概念。
專四學習系統模擬,用 FORTRAN 程式寫一個感應電動機啟動瞬間電壓、電流各項參數模擬,這算是整合了電機機械專業知識,因為我已經很熟 BASIC,轉換到 FORTRAN 不是太困難,也許不小心用 BASIC 語法寫程式,但是 Compiler 編譯時會提醒你語法錯誤改正。再者學校專題研究,我自選了 PLC 模擬器,也就是自己寫一個 PLC 編譯器,用 Apple II 模擬 PLC 工業控制,可以輸入階梯指令碼能模擬控制器 Relay、Timer 等運作,這些程式都是獨立完成,我想應該是從小習慣自己設計桌遊的關係。
專五最瘋狂了,即將期考卻沒有放心思在功課上,那時自己搞馬達轉速測速控制,這時已經會運用 Apple II 硬體,透過 Relay 控制玩具馬達啟動,然後用 Optocoupler 光耦合器擷取訊號來計數馬達轉速,因為轉速極快,非得用組合語言來寫,差不多花一週時間寫完一千多行程式,然後用三個禮拜的時間除錯,雖然最後完成專案很有成就,但是當時發誓以後再也不要再碰組合語言!