http://baike.baidu.com/view/160644.htm
交互式数据语言
全称:Interactive Data Language
IDL是一种数据分析和图像化应用程序及编程语言,先由美国ITT公司所有。最初在七十年代后期用于帮助科学家分析火星探险卫星发回的数据,将浩瀚的数据转换为图形。从此后,IDL得到广泛运用,使用者日众,呈几何级别增长。
IDL使用者可以迅速且方便地运用此软件将数据转换为图象,促进分析和理解。通过软件转化的图像既可以是简单色彩,也可以是全色三维图像和模型。
一、IDL开发环境
IDLDE是用户快速编写、测试并调试代码的最佳环境,用户可以在该环境中方便地进行应用开发。IDLDE具有完善的代码编译、调试环境。IDLGUIBuilder 可以迅速开发跨平台的用户图形界面(GUI),而无需熟悉IDL控件编程知识。用户可以拖放式建立图形用户界面GUI,非常灵活、快速地产生应用程序的界面。IDL GUIBuilder已被集成到Idl开发环境中(IDLDE)。用户还可方便地输出project,生成可执行文件。
二、灵活的数据输入和输出
IDL是完全面向矩阵的,因此它具有快速分析超大规模数据的能力。IDL可以通过灵活方便的I/O分析任何数据。可以读取和输出任意有格式或者无格式的数据类型,支持通用文本及图形数据,并且支持在NASA、TPT、NOAA等机构中大量使用的HDF、CDF及netCDF等科学数据格式,以及医学扫描设备的DICOM标准格式。IDL还支持字符、字节、16位整型、长整型、浮点、双精度、复数等多种数据类型。从IDL5.5起还可以支持MrSID压缩数据格式。
三、快速实现可视化
IDL支持OpenGL软件或硬件加速,可加速交互式的2D及3D数据分析、图像处理及可视化,除了保留传统的直接图形法外,IDL还采用了先进的面向对象技术;可以实现曲面的旋转和飞行; 用多光源进行阴影或照明处理;可观察实体(Volume)内部复杂的细节;一旦创建对象后,可从各个不同的视角对对象进行可视分析,而不用费时地反复重画。
IDL具有强大的数据分析能力,从IDL5.5起支持多进程运算,IDL带有完善的数学分析和统计软件包,提供强大的科学计算模型,支持IMSL函数库。它的图像处理软件包提供了大量方便的分析工具、地图投影变换软件包,使您开发GIS易如反掌。
IDL提供了可缩放的TrueType字体,可以注记中文;能将结果存为标准图像格式或PostScript格式,并尽可能地使图像质量最优化。
例如:2-D绘图等直线分析
四、外部语言接口
IDL支持COM/ActiveX组件,可将您的IDL应用开发集成到与COM兼容的环境中。
从Visual Basic、Visual C++等访问IDL,还可以通过动态连接库和COM组件方式在IDL程序里调用C 、Fortran等程序。
用IDL DataMiner可快速访问、查询并管理与ODBC兼容的数据库,支持Oracle, Informix, Sybase, MS SQL 等数据库。可以创建、删除、查询表格,执行任意的SQL命令,读取、设置、查询、增加、删除记录等操作。
例如:图像和信号处理;3D、4D曲线和曲面分析;三维体数据分析
IDL的小波变换工具包,主要用于信号处理和图像处理、去除噪声、图像压缩、特征提取、提取图像细节、其信息量损失比FFT小得多。
五、应用领域
IDL为用户提供了可视数据分析的解决方案,早在1982年NASA火星飞越航空器的开发就使用了IDL软件。IDL使科学家无须写传统程序就可直接研究数据。IDL还被广泛应用于地球科学、医学影像、图像处理、软件开发、大学教学、实验室研究、测试技术、天文、信号处理、防御工程、数学分析、统计等诸多领域。
六、广泛的支持平台
Microsoft Windows 95/98/2000
Microsoft Windows NT(x86/Alpha)
Open VMS
SunOS
Solaris
Solaris X86
AIX
Digital UNIX
HP-UX
IRIX
Linux(Intel x86)
MacOS
编辑本段接口描述语言
全称:Interface Description Language
使用Java(TM)编写的API提供基于标准的和CORBA的交互性和连接性。
用于描述接口,类似于PRC的.x文件。接口定义语言类似一个协议,来规定接入对象的行为。
用RPC / COM / CORBA技术来编写分布式系统时都需要接口定义语言(IDL)。
特点:
1、IDL是一种规范语言。
2、IDL看上去很像C语言。
3、OMG IDL的目的是定义接口和精简分布对象的过程。
4、IDL分离对象的接口与其实现。
5、IDL剥离了编程语言和硬件的依赖性。
6、使用IDL定义接口的客户机程序员不知道接口背后的实现细节。
7、IDL提供一套通用的数据类型,并以这些数据类型来定义更为复杂的数据类型。
有关的英文说明:
·Used to describe "interfaces"
similar to RPC .x file
Like a contract
Defines protocol to access objects
·Builds on OOP principle of encapsulation
Clear boundary between implementation and interface
·Well-specified, Language-independent
interface specifies names and methods that clients can use (invoke)
same lexical rules as C++ syntax
IDL modules
– logical grouping of interface and type definitions
– defines naming scope
IDL interface
– methods that are available in CORBA objects implementing the interface
– inheritance using ’:’ for example interface Z inherits interfaces A and B interface Z:A,B{ };
IDL methods
– specify signatures
– parameters are labeled as in, out and inout
– one way indicates that client will not be blocked when invoking this method
these methods use maybe invocation semantics
– raises: user-defined exceptions