我經歷過的技術變革

 手繪機械製圖 -> AutoCAD 電腦繪圖

PC 個人電腦

DOS-Windows 3.1->Windows 95-> Windows xxxxx

程式開發

Basic -> 組合語言(6502->x86) -> C 語言 -> C++ 物件導向 

從 C 轉換到 C++ 是一個很大的思維轉換跳躍,因為物件導向的觀念跟一開始學的程序性開發完全不太一樣 

Dos 程式設計到 Windows 程式設計也是,作業系統從單工變成多工,要開發一個視窗應用程式首先要了解 Windows 的 Event 運作原理,還有要處理 windows 的 callback function 

多工作業系統的特性還不只這些,以前在單工作業系統沒碰過的行程資訊溝通 ( IPC ) ,多執行緒開發.... 

Window 程式設計當年 VB 跟 Delphi 還蠻流行的,但是這些東西還在嗎?

Windows SDK -> MFC 這也是一個很大的轉變,當時看到不少人抱怨 MFC 很難用

MFC 最後也被 .Net 給取代掉

Mac 平台

C 語言 -> C++ ( PowerPlant ) 這部分跟 Windows SDK 到 MFC 是很類似的東西

當年我的主管是很資深的 Mac 程式設計師,他很反對我使用 PowerPlant ,原因跟使用 Windows SDK 轉換到 MFC 不適應的人一樣,封裝了太多的細節

我後來自己用 PowerPlant 在下班時間接了一個數位相機的影像管理程式專案( 日本 Cannon 數位相機 ) ,其實 PowerPlant 是一個很穩定的 framework

Mac 作業系統

OS 8/9 -> OS X 這也是一個很大的跳躍,從 C/C++ 要改成 Objective C 還要學習 Cocoa framework ,當然 Apple 也有提供過度的解決方案,例如使用 Carbon 來將 OS 8/9 的程式轉換到 OS X ,但是 Carbon 還是暫時的,想要開發出 OS X 風格的 GUI 還是要用 Objective C

iOS App 開發  

Objective C -> Swift ,這部分 iOS 開發者應該印象還很深刻

在軟體業唯一不變的大概就是"變"

當然如果開發越底層的程式,變化比較沒那麼大,例如用 C 語言開發系統程式,生命週期比較長一點

但是在你的職涯發展中,很多事情可能不是你能決定的,如果我堅持要用 C 語言過一輩子當然也是可以,但是我可能會面臨到沒有適合我的職缺,當然像 Linus 這樣的大神自己做一個作業系統是最好的 🙂

對了,裡面我都沒提到 Web programming,因為 Web programming 我是最近幾年才比較認真在學習

我也發現到 Desktop application 似乎重要性逐漸被 Web application 取代

從這些技術變革來看,你覺得 Web application 不會被另一種技術給取代嗎?

我從這些技術變革學到一件事 - 持續學習跟適應能力真的還蠻重要的,每一項技術變革都刷掉不少人,我自己也曾經對學習新技術感到疲憊,但是後來發現,這不就是當年第一次看到電腦時吸引我的地方

留言

這個網誌中的熱門文章

使用 AI 專門幫公司內部的流程做最佳化,這個團隊的角色會越來越重要

使用 New Bing 的 Chat 功能來當作閱讀 PDF/網頁文章/程式碼的輔助工具

我的Kindle 2支援中文顯示了