CCL (Compiled Command Language) together with the AppManTM application manager, provides basic support functionality for the OSLO program. CCL is a modern byte-code language designed especially to support a technical application program. It combines the high efficiency of byte-code processing with an extensive support library of math, graphics, string, and database functions to produce unmatched performance.
In the early days of computing, pseudo-code compilers were developed to simplify high-level language processing. These compilers converted source code from languages such as Fortran or Pascal into a stream of bytes. This stream was executed by a pseudo-code interpreter, which translated the high-level code into machine-language function calls. Later, pseudo-code fell into disuse when it was discovered that full compilation of high-level languages into machine language produced faster code. However, full compilation has its own set of problems, such as the extensive computer processing required for address resolution, and the large size of executable programs.
More recently, there has been general recognition that fully-compiled and pseudo-code programs each have their place, and pseudo-code (now called byte-code) languages have reappeared. The interpreter for these languages is now often called a virtual machine. Java is one example of a byte-code language. CCL (which predates Java) is another. It is reported that Microsoft is developing its own language, C#, of this type. But while Java and C# each have extensive object-oriented data structures designed to support computer science, CCL has a much simpler structure and is designed for numerical processing.
CCL is based on C syntax. C has become the lingua franca of computers and serves as the basis of most modern languages. Although some optics codes are still mainly written in Fortran, in the mainstream of software engineering Fortran has all but disappeared. Fortran does not interface well with the graphics windowing systems used in contemporary computers. C, on the other hand, because of its simple structure, is an ideal tool for windows development. In practice, the bulk of most so-called C++ applications are written in C.
The nearly universal acceptance of windows-based operating systems has been a mixed blessing for science and engineering. On the positive side, the graphics interface has greatly simplified the operation of software supporting a wide variety of disciplines. On the negative side, list-based windows programs promote a "coloring-book" approach to engineering that can stultify creativity. More importantly, the complexity of windows programming has made personal computing inaccessible to most engineers having only modest programming skills.
Numerical experiments are an essential part of optical design. CCL provides an efficient, practical, and proven environment for optical engineers to use in conducting such experiments. With nearly ten years of field use, CCL has established a degree of robustness seldom seen in application languages. In fact, CCL has proven so successful that a substantial portion of OSLO is now written in CCL, giving you source-code access to ray tracing, evaluation, and optimization routines that you can easily adapt or extend for your own projects. In Rev 6.1, many CCL Library functions have been rewritten and improved, including:
Because CCL is used for fairly substantial programming projects, OSLO Standard and Premium now include a full licensed version of UltraEdit, a powerful text editor that allows you to edit multiple files with no limit in size, and provides CCL syntax highlighting.
USEFUL TOOLS