瘋語 - 三賢人系統 與 C 語言
三賢人系統 是 Evanglion中的主電腦 (詳情稍後再說)
事緣 : 有網友說有一幕說 三賢人系統是用 C 寫成的
很不巧, 在下修的是計算機科學
此問題正是小生所研範圍, 雖離題萬丈,
還望其他諸位見諒
(和閣下的討論也真有建設性, 又賺(和撰)了一文)
說在話頭, 以 "掌握" 二字套在電腦語言上在他人眼中或似不通
但在我們則常把電腦語言與電腦程序視作生命體,
算是行內一種奇怪的通用用法,
希望大家瞭解
C 語言是否比一般語言快, 也閉鬲し礞]許比較快 ?
本質上大部份電腦程序都是經過 Compiler 或 Interpreter 編碼
在 machine code level 運行(java, small talk 等用 virutal machine 的算是異數)
C 語言的而且確比較接近 machine code,
但是否就一定比較快? 未必
以接近 machine code, 來說,
assembly 更近,
但作者不會說,
為甚麼?因為不可能...
C 語言能建構三賢人系統嗎? 不大可能
以 C 語言能否建構(掌握)三賢人系統,
不在速度與否上
而在不大可能這個關鍵上
C 語言不能建構三賢人系統的論點如下
1. C 語言是低階語言, 快也許較快, 但其對 programmer 的 support 亦很少, 要在短短時間內做出三賢人系統是不可能的
2. C 語言的設計是用 Structured programming(SP), 我們已在很多年前轉用 Object oriented programming(OOP), 其原因是 SP 不能夠有效控制那時複雜的系統. 現時我們正開發 Aspect-oriented programming, 因為連 OOP 也控制不了我們需要的系統.
三賢 人系統的複雜性就不必多言了
3. 以速度來說, 用 C++ 速度會和 C 一樣, 然而擁有的 support 多很多
4. 在這樣複雜的系統中, 因為人為疏忽難以避免, 必須要有自我修復功能,
C 語言能容許這種情況嗎?
也不大可能, 再來即使改得了, 也不是 C 語言了
誇張來說, 要用 C 語言興建三賢人系統,
就和用匙羹和砂糖複製萬里長城一樣難以完成
以現時科技來說(也以該作的創作日期內說) 可以有的較佳選擇多的是,
可見天某說
>(雖則 C 語言能否掌握如此複雜的三賢人系統有代商榷)
不是無的放矢
但也不能苛求作者有這樣的知識吧...
也算是太偏門了

0 Comments:
Post a Comment
<< Home