引用:
|
作者octapult
小弟不是相關行業的,所以有個疑問
Win 2K、XP、Vista、7 都是 NT kernel,只是版本不同
而且開發軟體都採用相同的 framework,軟體操作界面也類似
理論上來說,在 Win 2K 上面開發的軟體不是應該可以用最少的代價,讓軟體可以輕易的在 XP、Vista、7上面執行嗎?(這也是當初 MS 力推 Windows 其中一個賣點)
怎麼實際情況卻沒有想像中的容易?
跨平台要耗費龐大的工程,所費不菲
到後來還得弄出一個 .NET Framework 來?
|
以windows 2000是win xp/vista等的子集來說, 當然推論對.
win2000可以跑, xp, vista就可以跑.
但是前面說過, 為了加速軟體開發時間, 降低成本, 軟體都越來越"肥",
專業一點講, 不是肥, 是軟體IC modularize模組化.
微軟把常用的一些程式設計的動作包裝成一個progarmmer只要呼叫, 傳送參數就
可以完成的module, programmer就可以大大減輕壓力.
XP有directx等module可以呼叫, 多媒體/game的設計者就輕鬆多了, 沒有
direct的NT當然就玩不起來, 2000要更新升級 dirextx.
如果programmer習慣呼叫這些內建module, 怎麼可能轉換平台(要重新學過),
或者去為舊平台設計程式?
理論上最"超級", 最有效率的程式是用"組合語言", 直接呼叫CPU支援的指令.
但是目前的作業系統大部分都用C/C++, 比較輕鬆, 那就要看compiler的效率了.
但是就算用C, 我相信很多程式會開發到"天長地久", VisualBasic就這樣來了.
所以不是很多visualbasic程式需要共用的DLL, C也有啊...
這樣就不需要自己重新寫, 呼叫別人幫你設計好的DLL就好.