偷閑了一個小時,翻譯了個CCL Highlights,希望能有更多的人愛上OSLO,愛上光學(xué)設(shè)計,愛上CCL!真正地提高水平 %i\rw*f CCL(編譯的命令語言)與
程序管理器(AppMan)一起發(fā)布,為OSLO提供基礎(chǔ)的功能框架。CCL是一款現(xiàn)代的字節(jié)碼語言,它被專門地設(shè)計于對科學(xué)應(yīng)用
軟件的支持。CCL融合字節(jié)碼高效的對外擴(kuò)展性(如數(shù)學(xué)庫及對圖像、字符串、數(shù)據(jù)庫的處理等),可解決一些比較棘手的問題。
5 SQ!^1R 9 在計算機(jī)的早期年代,偽碼(p-code)編譯器使得編譯處理高級語言變得大為簡化。這些編譯器將諸如Fortran、Pacal等語言的源代碼翻譯成一個字節(jié)流,這個流再由偽碼解釋器翻譯成機(jī)器語言,逐步執(zhí)行。后來發(fā)現(xiàn),若將高級語言的源代碼直接編譯成機(jī)器語言(full compilation),其執(zhí)行效率要快許多,因此字節(jié)碼也就逐漸沒落了。當(dāng)然,直接編譯也有它自身的一些列問題,如大量的地址重地位、可執(zhí)行程序體積很大等。
%i? 近些年來,有很多人意識到直接編譯與偽碼編譯都有它們應(yīng)用的地位,偽碼(又叫字節(jié)碼)語言又大行其道了。這些語言的解釋器現(xiàn)在叫虛擬機(jī),Java就是個典型例子,而CCL則是比Java早的多的字節(jié)碼語言。據(jù)報道稱,微軟正在開發(fā)自己的字節(jié)碼語言C#(看來這篇文檔比較老了)。但Java與C#有大量的以物件為導(dǎo)向的數(shù)據(jù)
結(jié)構(gòu)(面向?qū)ο螅┮赃m應(yīng)計算機(jī)科學(xué)(給碼農(nóng)們編程用的),而CCL的數(shù)據(jù)結(jié)構(gòu)要簡單的多,因為它被設(shè)計于科學(xué)計算。
HW[&q CCL的語法基于C語言(估計只要上過學(xué)的都能看懂,C里面的絕大部分庫函數(shù)可直接拿過來用),C已經(jīng)成為計算機(jī)的通用語言,是大多數(shù)現(xiàn)代語言的基石。盡管一些光學(xué)代碼仍是用Fortran寫的,但主流的工程軟件中已很難見到Fortran的影子了。Fortran與當(dāng)代計算機(jī)的圖形窗口
系統(tǒng)交互地不太好,而C語言,從某種意義上說,由于它簡單的結(jié)構(gòu),使其成為窗口開發(fā)的理想工具。實際上,很多所謂的C++程序,絕大部分還是用C實現(xiàn)的。
.M:&Aj)x16 當(dāng)前人們對以窗口為導(dǎo)向的操作系統(tǒng)的普遍接受,對于科學(xué)工程來說是有好有壞的。正面地講,圖形接口使得總多學(xué)科領(lǐng)域的工程軟件的操作大為簡化,反面地說,這些一連串的窗口程序就像是為工程科學(xué)提供了一本畫冊,使我們的創(chuàng)造力下降。更重要的是,復(fù)雜的窗口編程使得
工程師想實現(xiàn)自己的編程計算尤為困難,如果他不是很牛逼。
UwW@}cy,L 光學(xué)設(shè)計中的數(shù)值試驗是個很重要的一環(huán),CCL為
光學(xué)設(shè)計師提供了高效的、實用的和已被證明了的牛X環(huán)境,以管理實現(xiàn)這些數(shù)值試驗。在近十年的領(lǐng)域應(yīng)用中(估計現(xiàn)在遠(yuǎn)不至了),CCL已經(jīng)成為了少有的穩(wěn)健程序語言。事實上,
OSLO的絕大部分功能用CCL實現(xiàn)已被證明是極大的成功,將對光線追跡、像質(zhì)評價及系統(tǒng)優(yōu)化的程式源碼展現(xiàn)給你,這樣你就可很容易地為自己的項目進(jìn)行相應(yīng)的調(diào)整和擴(kuò)展。在6.1版本中(現(xiàn)在已經(jīng)6.6了),許多CCL庫函數(shù)都被重寫和優(yōu)化,包括:
uT]$R 1、自動產(chǎn)生對話框供
參數(shù)輸入
w~6/p 2、自動繪圖程式。你可以在一個函數(shù)調(diào)用中繪制任何數(shù)據(jù)。
6?,qysm06 3、優(yōu)化提高錯誤處理機(jī)制
J0Yb_(w 由于OSLO的Standard版和Premium版的絕大部分程式都是用CCL實現(xiàn)的,因此這兩個版本還提供了一個授權(quán)的UltraEdit編輯器,這個編輯器可以讓你隨心所欲地編輯很多種語言源代碼,對CCL它也提供了語法高亮顯示(貌似現(xiàn)在是提供Notepad++了吧,GNU開源項目,免費的)。
_!2lnJ4+5 原文:
http://www.sinopt.com/