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