和一个老乡聊天,她在做什么?答曰处理数据。无心地问了一句,你们用什么处理数据
呢,答曰: IDL、 MatLab. 出于职业地敏感,我详细地问了一下 IDL 的一些情况,不问不
知道,一问吓一跳,或许是咕噜寡闻,或许是隔行如隔山,如此强大的软件,我竟然不知道
了。实在惭愧!(以前觉得,在数据处理方面,SARS, SPSS, Matlab, Mathematic,Maple,
Fortran 几乎可以打遍天下!)从网上找了些 IDL 的资料,恶补一下。
1、IDL 是什么?
美国 RSI 公司(现并入 ittvis--编者注)的旗舰产品--IDL(Interactive Data
Language)交互式数据语言是进行二维及多维数据可视化表现、分析及应用开发的理想软件
工具。作为面向矩阵、语法简单的第四代可视化语言,IDL 致力于科学数据的可视化和分析,
是跨平台应用开发的最佳选择。早在 1982 年 NASA 的火星飞越航空器的开发就使用 IDL 软件,
到现在 IDL 已经被列为国外许多大学的标准课程,IDL 使科研人员无须编
写传统程序就可直接研究数据
IDL(Interface Definition Language)即接口定义语言,是 CORBA 规范的一部分,是跨平台
开发的基础。IDL 提供一套通用的数据类型,并以这些数据类型来定义更为复杂的数据类型。
可变化 IDL 基本类型 整数类型 OMG IDL 摒弃 int 类型在不同平台上取值范围不同带来的
多义性的问题。常数定义常数可以是整数、字符、浮点数、字符串、Boolean、octet 或枚
举型,不能是 any 类型或用户定义的类型。OMG IDL 数组类型 IDL array 和 sequence,可
以轻易地被映射到实现语言中。序列可以包含所有类型的元素,不管是基本类型还是用户定
义的类型。
2、IDL 语言是什么?
简单的说,IDL 是 VC、VB、JAVA、FORTRAN、MATLAB、OPENGL 等语言的集成。 IDL 语言与大
型图形和 GIS 应用软件相距近,应用 IDL 可以快速的开发出功能强大的三维图形图像处理软
件和三维 GIS 应用系统。
从本质上讲,OMG IDL 接口定义语言不是作为程序设计语言体现在 CORBA 体系结构中的,而
是用来描述产生对象调用请求的客户对象和服务对象之间的接口的语言。OMG IDL 文件描述
数据类型和方法框架,而服务对象则为一个指定的对象实现提供上述数据和方法。
OMG IDL 文件描述了服务器提供的服务功能,客户机可以根据该接口文件描述的方法向
服务器提出业务请求。在大多数 CORBA 产品中都提供 IDL 到相关编程语言的编译器。程序设
计人员只需将定义的接口文件输入编译器,设定编译选项后,就可以得到与程序设计语言相
关的接口框架文件和辅助文件。
IDL 文件应用过程如图 1 所示。