当前位置:  开发笔记 > 编程语言 > 正文

交互式数据语言,IDL:有人关心吗?

如何解决《交互式数据语言,IDL:有人关心吗?》经验,为你挑选了2个好方法。

有人使用一种名为Interactive Data Language,IDL的语言吗?它很受科学家欢迎.我认为这是一种糟糕的语言,因为它是专有的(运行它的每个终端必须购买昂贵的许可证)并且它具有最小的支持(尝试搜索IDL,语言,现在在堆栈上).我试图说服我的同事停止使用它并学习C/C++/Python/Fortran/Java/Ruby.有没有人知道甚至关心IDL足以对它有意见?你怎么看呢?我应该告诉我的同事现在不要浪费时间吗?我怎么能说服他们?

编辑:人们会得到我不知道或使用IDL的印象.另外,我说IDL的支持很少,这在某种意义上是正确的,所以我必须澄清科学图书馆确实很大.我一直使用IDL,但这正是问题:我只使用IDL,因为同事使用它.IDL使用的文件格式为.sav,只能在IDL中打开.所以我必须使用IDL来处理这些数据并将数据传回给同事,但我知道我会用另一种语言更有效率.这就像有人在电子邮件附件中向您发送微软word文件,如果您不明白它有多么错,那么您可能会写太多单词而没有足够的代码并且您购买了Microsoft Word.

编辑:作为IDL的替代品,Python很受欢迎.以下是AstroBetter 的IDL优缺点列表(以及缺点):

IDL的优点

成熟的许多数字和天文库可用

广泛的天文用户群

数字方面与语言本身很好地融合

许多本地用户都有丰富的经验

小阵列的速度更快

安装更简单

好的,统一的文档

标准GUI运行/调试工具(IDLDE)

单一小部件系统(无需担心选择或学习)

保存/恢复功能

使用关键字参数作为标志更方便

IDL的缺点

适用范围狭窄,不适合一般编程

大型阵列较慢

阵列功能不那么强大

表支持差

使用C或Fortran扩展的能力有限,这种扩展难以分发和支持

昂贵的,有时与没有或无法负担许可证的其他人合作的问题.

封闭源(只有RSI可以修复bug)

与IRAF任务集成非常尴尬

内存管理更加尴尬

单个小部件系统(如果在另一个框架内工作则无用)

绘图:

对符号和数学文本的尴尬支持

许多字体系统,可移植性问题(v5.1有所缓解)

不是灵活的或可扩展的

绘图窗口本质上不是交互式的(例如,平移和缩放)

Python的优点

非常通用和强大的编程语言,但易于学习.强大但可选的面向对象编程支持

非常大的用户和开发人员社区,非常广泛和广泛的库基础

可以使用C,C++或Fortran进行扩展,提供可移植的分发机制

自由; 非限制性许可; 开源

成为天文学的标准脚本语言

易于使用IRAF任务

STScI应用程序的基础

更一般的阵列功能

更快适用于大型阵列,更好地支持内存映射

提供许多书籍和在线文档资源(针对语言及其库)

更好地支持表结构

绘制

框架(matplotlib)更具可扩展性和通用性

更好的字体支持和可移植性(只有一种方法可以做到)

可用于许多窗口框架(GTK,Tk,WX,Qt ......)

标准绘图功能独立于所使用的框架

图可嵌入其他GUI中

更强大的图像处理(多个同时LUTS,可选的重采样/重新缩放,alpha混合等)

支持许多小部件系统

对于为Python开发的功能具有强大的本地影响力

Python的缺点

更多要单独安装的项目

在天文学界并不被广泛接受(但支持明显增长)

科学图书馆不够成熟:

文档不完整,不统一

在天文图书馆和公用事业方面并不那么深刻

并非所有IDL数值库函数都在Python中具有相应的功能

一些数字结构与语言不完全一致(或者比IDL稍微不方便)

数组索引约定"向后"

小阵列性能较慢

没有标准的GUI运行/调试工具

支持许多小部件系统(关于选择的焦虑)

当前缺乏与IDL中的SAVE/RESTORE相当的功能

matplotlib还没有所有IDL 2-D绘图功能的等价物(例如,表面图)

使用关键字参数作为标记不太方便

绘图:

相对不成熟,仍在继续发展

缺少一些情节类型(例如,表面)

3-d功能需要VTK(虽然matplotlib具有一些基本的3-d功能)

Rex.. 10

这里有很多IDL粉丝!我也是一名天文学家,我广泛使用过IDL和Python.我只能说IDL幸存至今,因为天文学家的懒惰,他们不能或不想学习新的更好的编程语言.除了Fortran或IDL之外,我的大多数同事都没有使用过任何其他东西.对他们来说,整个世界只有IDL.顺便说一句,许多年轻的天文学学生也都是关于IDL的,甚至不想检查Fortran,或者上帝禁止使用Python或C/C++.这些是程序员和数学家的语言,而不是天文学家的语言.

关于许可费用.已经有多少个IDL版本以及你们大学购买了多少个?我想很多......

是的,继续购买新的IDL 8.x版本.我听说它的新绘图包允许你在生成后修改部分绘图.WOOOW!这太酷了!

ps IDL中没有任何内容无法以更好,更清晰的方式在Python中完成.其中的大多数科学工具都是广泛且非常稳定的.我在matplotlib中绘制各种图表没有任何问题.它的GUI工具非常棒且直观,与蹩脚的IDL"小部件"不同.

这与我的旧大学的情况非常相似,老教授在时间上有点难过,因为他们拒绝学习编程中的任何新东西.他们变得没有竞争力,停止做任何重要的工作.



1> Rex..:

这里有很多IDL粉丝!我也是一名天文学家,我广泛使用过IDL和Python.我只能说IDL幸存至今,因为天文学家的懒惰,他们不能或不想学习新的更好的编程语言.除了Fortran或IDL之外,我的大多数同事都没有使用过任何其他东西.对他们来说,整个世界只有IDL.顺便说一句,许多年轻的天文学学生也都是关于IDL的,甚至不想检查Fortran,或者上帝禁止使用Python或C/C++.这些是程序员和数学家的语言,而不是天文学家的语言.

关于许可费用.已经有多少个IDL版本以及你们大学购买了多少个?我想很多......

是的,继续购买新的IDL 8.x版本.我听说它的新绘图包允许你在生成后修改部分绘图.WOOOW!这太酷了!

ps IDL中没有任何内容无法以更好,更清晰的方式在Python中完成.其中的大多数科学工具都是广泛且非常稳定的.我在matplotlib中绘制各种图表没有任何问题.它的GUI工具非常棒且直观,与蹩脚的IDL"小部件"不同.

这与我的旧大学的情况非常相似,老教授在时间上有点难过,因为他们拒绝学习编程中的任何新东西.他们变得没有竞争力,停止做任何重要的工作.



2> gnovice..:

我是辛辛那提儿童医院的fMRI研究员,多年来,放射学研究人员一直使用IDL开发图像处理软件包(称为CCHIPS).这是一个非常发达的一揽子计划,多年来已经有不少人在扩大其效用.虽然我几乎是一个硬核MATLAB用户,因此倾向于倾向于使用SPM等软件包来进行fMRI图像处理,但我仍然经常使用CCHIPS并编写/编辑一些IDL脚本.它对我来说并不像MATLAB那样"舒服"(毕竟我们都有最喜欢的"空白"),但它相当容易学习.

我想我的观点是......如果一个编程资源运行良好,已经很好地建立,很多人都很好用,并且(最重要的是!)你组织中仍然有人愿意维护/调试/修改/扩展资源那么就没有必要采取危言耸听的立场,即必须立即改变新事物.如果您所在的机构中根本没有人愿意再保留资源,那么这可能会引起紧急关注.否则,我建议你更熟悉你不喜欢的东西,然后施加温和的压力来介绍你认为更好的选择,并以明确的改变理由予以支持.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有