| 2 | 1/1 | 返回列表 |
| 查看: 643 | 回復: 1 | |||
[交流]
總結成功應用軟件的一個經驗 已有1人參與
|
|
縱觀80年代以來的成功應用軟件,凡是獲得長久成功者,絕大多數(shù)具有如下特點: 以一種系統(tǒng)語言(通常是C/C++)于OS API之上提供一高層的應用程序運行時(runtime),包括一個高層次、面向應用進行語義優(yōu)化的虛擬機,一個龐大的應用程序級API庫(基于普通過程的函數(shù)庫,或基于OO的類庫,或基于component的構件庫),一個具有可擴充性的軟件體系架構(尤以插件式結構或面向應用的framework為典型),以及,最理想地,一個面向應用的語言引擎。整個應用以系統(tǒng)語言與應用級語言共同完成。擴展時主要使用應用級語言,亦可使用系統(tǒng)級語言,無論哪種,都必須依賴一個擴展框架。 且看一些例子: 1. Emacs,以C開發(fā)內核,并實現(xiàn)elisp解釋器,可用C及elisp實現(xiàn)原子函數(shù)。整個程序用C及elisp共同完成,并可以任一種方式進行擴充。 2. AutoCAD,以C/C++開發(fā)內核,實現(xiàn)AutoLISP,整個程序用C/C++及AutoLISP共同完成,可用C/C++/AutoLISP/VB擴展。同樣來自Autodesk公司的3D Max亦裝備有Max腳本。 3. Mathematica,以C開發(fā)內核,實現(xiàn)Mathematica語言,整個程序用C及Mathematica語言共同完成,主要使用Mathematica進行應用開發(fā)。 4. Matlab,以C/C++開發(fā)內核,實現(xiàn)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此類例子數(shù)不勝數(shù) 此種思路,屢獲成功,實當為我輩悉心模仿。其核心難點有二,一是runtime的設計,動態(tài)性的實現(xiàn),framework之權衡(需要面向應用,全如Eclipse那般靈活,對于特定應用領域而言并非最優(yōu)),對底層計算平臺的抽象(真正成熟的網(wǎng)絡應用開發(fā),應當將網(wǎng)絡透明化);二是應用級語言的設計與實現(xiàn),設計是關鍵,也是中國程序員之最弱點, 面向應用的高層語言的設計,相當于機械工業(yè)中的大型成套設備制造,是主干行業(yè),核心技術。要設計出好的應用語言,要求設計者一通系統(tǒng)程序設計技術,對解釋器的及其與系統(tǒng)的交互、擴展的實現(xiàn)技術非常熟悉,二要深刻理解程序設計語言理論,精通形式語言理論及語言發(fā)展歷史,能不受困于20年來的主流思想,以最自然的方式提供所需語義,三是要熟悉應用領域,為設計提供方向引導。目前國內的教育體制及浮躁氣息,很難培養(yǎng)出如Larry Wall這樣的大師。 最終我們會走向特定于領域的語言,我覺得這方面的一個典范是Mathematica |
榮譽版主 (知名作家)
| 2 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 286分人工智能專業(yè)請求調劑愿意跨考! +3 | lemonzzn 2026-03-17 | 3/150 |
|
|---|---|---|---|---|
|
[考研] 081700化工學碩調劑 +3 | 【1】 2026-03-16 | 3/150 |
|
|
[考研] 0703化學調劑 +10 | 妮妮ninicgb 2026-03-15 | 14/700 |
|
|
[考研] 288求調劑 +15 | 于海海海海 2026-03-19 | 15/750 |
|
|
[考研] 288求調劑,一志愿華南理工大學071005 +5 | ioodiiij 2026-03-17 | 5/250 |
|
|
[考研] 求調劑,一志愿:南京航空航天大學大學 ,080500材料科學與工程學碩,總分289分 +3 | @taotao 2026-03-19 | 3/150 |
|
|
[考研] 332求調劑 +3 | ydfyh 2026-03-17 | 3/150 |
|
|
[考研] 085410人工智能專碩317求調劑(0854都可以) +3 | xbxudjdn 2026-03-18 | 3/150 |
|
|
[考研] 295求調劑 +3 | 一志愿京區(qū)211 2026-03-18 | 5/250 |
|
|
[考博] 環(huán)境領域全國重點實驗室招收博士1-2名 +3 | QGZDSYS 2026-03-13 | 5/250 |
|
|
[考研] 332求調劑 +6 | Zz版 2026-03-13 | 6/300 |
|
|
[考研]
|
zhouzhen654 2026-03-16 | 3/150 |
|
|
[基金申請]
今年的國基金是打分制嗎?
50+3
|
zhanghaozhu 2026-03-14 | 3/150 |
|
|
[考研] 304求調劑 +3 | 曼殊2266 2026-03-14 | 3/150 |
|
|
[考研] 277材料科學與工程080500求調劑 +3 | 自由煎餅果子 2026-03-16 | 3/150 |
|
|
[考研] 327求調劑 +6 | 拾光任染 2026-03-15 | 11/550 |
|
|
[考研] 288求調劑 +4 | 奇點0314 2026-03-14 | 4/200 |
|
|
[考研] 297求調劑 +4 | 學海漂泊 2026-03-13 | 4/200 |
|
|
[考研] 266求調劑 +4 | 學員97LZgn 2026-03-13 | 4/200 |
|
|
[考研] 070303一志愿西北大學學碩310找調劑 +3 | d如愿上岸 2026-03-13 | 3/150 |
|