| 2 | 1/1 | 返回列表 |
| 查看: 642 | 回復: 1 | |||
[交流]
總結成功應用軟件的一個經驗 已有1人參與
|
|
縱觀80年代以來的成功應用軟件,凡是獲得長久成功者,絕大多數具有如下特點: 以一種系統(tǒng)語言(通常是C/C++)于OS API之上提供一高層的應用程序運行時(runtime),包括一個高層次、面向應用進行語義優(yōu)化的虛擬機,一個龐大的應用程序級API庫(基于普通過程的函數庫,或基于OO的類庫,或基于component的構件庫),一個具有可擴充性的軟件體系架構(尤以插件式結構或面向應用的framework為典型),以及,最理想地,一個面向應用的語言引擎。整個應用以系統(tǒng)語言與應用級語言共同完成。擴展時主要使用應用級語言,亦可使用系統(tǒng)級語言,無論哪種,都必須依賴一個擴展框架。 且看一些例子: 1. Emacs,以C開發(fā)內核,并實現elisp解釋器,可用C及elisp實現原子函數。整個程序用C及elisp共同完成,并可以任一種方式進行擴充。 2. AutoCAD,以C/C++開發(fā)內核,實現AutoLISP,整個程序用C/C++及AutoLISP共同完成,可用C/C++/AutoLISP/VB擴展。同樣來自Autodesk公司的3D Max亦裝備有Max腳本。 3. Mathematica,以C開發(fā)內核,實現Mathematica語言,整個程序用C及Mathematica語言共同完成,主要使用Mathematica進行應用開發(fā)。 4. Matlab,以C/C++開發(fā)內核,實現Matlab語言,整個程序用C/C++及Matlab語言共同完成,主要使用Matlab進行應用開發(fā),也可使用C/C++/Fortran進行擴展。 5. Microsoft Office,基于COM體系,C/C++編寫核心模塊,VB負責整合,并提供VBA供應用開發(fā)。 6. TeX,Pascal編寫核心解釋器,以宏擴展的方式開發(fā)高層系統(tǒng)。 還有如SAP、Perl、Python此類例子數不勝數 此種思路,屢獲成功,實當為我輩悉心模仿。其核心難點有二,一是runtime的設計,動態(tài)性的實現,framework之權衡(需要面向應用,全如Eclipse那般靈活,對于特定應用領域而言并非最優(yōu)),對底層計算平臺的抽象(真正成熟的網絡應用開發(fā),應當將網絡透明化);二是應用級語言的設計與實現,設計是關鍵,也是中國程序員之最弱點, 面向應用的高層語言的設計,相當于機械工業(yè)中的大型成套設備制造,是主干行業(yè),核心技術。要設計出好的應用語言,要求設計者一通系統(tǒng)程序設計技術,對解釋器的及其與系統(tǒng)的交互、擴展的實現技術非常熟悉,二要深刻理解程序設計語言理論,精通形式語言理論及語言發(fā)展歷史,能不受困于20年來的主流思想,以最自然的方式提供所需語義,三是要熟悉應用領域,為設計提供方向引導。目前國內的教育體制及浮躁氣息,很難培養(yǎng)出如Larry Wall這樣的大師。 最終我們會走向特定于領域的語言,我覺得這方面的一個典范是Mathematica |
榮譽版主 (知名作家)
| 2 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 材料學碩318求調劑 +5 | February_Feb 2026-03-19 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 081700化工學碩調劑 +3 | 【1】 2026-03-16 | 3/150 |
|
|
[考研]
|
不想起名字112 2026-03-19 | 3/150 |
|
|
[考研] 0817 化學工程 299分求調劑 有科研經歷 有二區(qū)文章 +18 | rare12345 2026-03-18 | 18/900 |
|
|
[考研] 一志愿天津大學化學工藝專業(yè)(081702)315分求調劑 +11 | yangfz 2026-03-17 | 11/550 |
|
|
[考研] 0703化學調劑 +5 | pupcoco 2026-03-17 | 8/400 |
|
|
[考研] 材料考研調劑 +3 | xwt。 2026-03-19 | 3/150 |
|
|
[考研] 274求調劑 +6 | S.H1 2026-03-18 | 6/300 |
|
|
[考研] 0703化學 305求調劑 +4 | FY_yy 2026-03-14 | 4/200 |
|
|
[考研] 化學工程321分求調劑 +15 | 大米飯! 2026-03-15 | 18/900 |
|
|
[考研] 299求調劑 +5 | △小透明* 2026-03-17 | 5/250 |
|
|
[考研] 工科材料085601 279求調劑 +6 | 困于星晨 2026-03-17 | 6/300 |
|
|
[考研] 301求調劑 +4 | A_JiXing 2026-03-16 | 4/200 |
|
|
[考研] 材料工程專碩274一志愿211求調劑 +6 | 薛云鵬 2026-03-15 | 6/300 |
|
|
[考研] 藥學383 求調劑 +3 | 藥學chy 2026-03-15 | 4/200 |
|
|
[考研] 304求調劑 +5 | 素年祭語 2026-03-15 | 5/250 |
|
|
[考研] 中科院材料273求調劑 +4 | yzydy 2026-03-15 | 4/200 |
|
|
[考研] 070303 總分349求調劑 +3 | LJY9966 2026-03-15 | 5/250 |
|
|
[考研] 326求調劑 +3 | mlpqaz03 2026-03-15 | 3/150 |
|
|
[考研] 本科南京大學一志愿川大藥學327 +3 | 麥田耕者 2026-03-14 | 3/150 |
|