データを視覚化するIDLプログラミングを学ぶ

開示: あなたのサポートはサイトの運営を維持するのに役立ちます!このページで推奨する一部のサービスについては、紹介料を稼ぎます.


IDL(Interactive Data Language)は、主にデータ分析とデータ視覚化に使用されるコンピュータープログラミング言語です。それは1977年に最初に登場し(ルーツはさらに遡ります)、その範囲はやや専門的ですが、40年間重要な言語として残っています.

IDLは現在も活発に開発されており、NASAや欧州宇宙機関による主要なデータ分析作業など、宇宙科学で広く使用されています.

IDLの歴史

スペース指向のデータ分析におけるIDLの現在の有用性は、主にその概念と歴史に起因しています。 1970年代、David Sternはコロラド大学ボルダー校の大気宇宙物理学研究所(LASP)で働いていました。.

そこにいる間、彼は科学者や他の研究者が、コンピュータープログラマーを特定目的のアプリケーションを開発させることなく、自分で仮説をテストしてデータ分析を実行できるようにする方法の設計に取り組み始めました。.

これに対する最初の試みは、PDP-12向けのプログラム、Rufusでした。 PDP(Programmed Data Processor)は、さまざまなデータ分析タスクに使用される一種のプロトミニコンピューターでした。.

ルーファスはまだ言語ではなく、単なるFortranで書かれた計算プログラムです。ルーファスは、マリナーミッションから火星までのデータを分析するために使用されるバージョンを含め、LASPでのさまざまなニーズに合わせて進化しました.

Rufusでの作業は、最終的にSOLと呼ばれる本格的なプログラミング言語につながりました。これはPDP-8(マリナーの作業に使用されたのと同じPDPバージョン)で実行するように設計されており、構文とスタイルがFortranに非常に似ていました.

デビッド・スターンは、ルーファスで開始された作業を商業化するために、Research Systems Inc(RSI)という会社を設立しました。 RSIの最初の製品はPDP-11で動作するように設計されたInteractive Data Languageでした.

RSIの最初の顧客はNASAでした。 VAX / VMSプラットフォーム用に作成された後続のバージョンは、国立大気研究センター(NCAR)、ミシガン大学、コロラド大学、および海軍研究所を含む航空宇宙および天文学業界の他の主要企業によって採用されました.

汎用コンピュータの台頭に伴い、RSIはIDL開発の焦点をVAX / VMSからUnixに移しました。これにはCでの書き換えが必要であり、この書き換えられたバージョンは、現在使用されている言語の「遺伝的祖先」です。ただし、言語はほとんど静的にとどまっていません.

テクノロジーの変化に伴い、IDLには多くの新機能が採用されました。たとえば、1990年代初頭に、イベント駆動型のグラフィカルユーザーインターフェイス(GUI)が導入されました.

1990年代後半、Webサービスとオブジェクト指向プログラミングの両方が導入されました。言語は現在(このドキュメントの執筆時点で)バージョン8.5であり、すべての主要なプラットフォームとオペレーティングシステムで使用できます。.

RSIは所有者を数回変更しました。これには、Eastman Kodak(映画会社)が所有していた短い期間も含まれます。.

同社は社名をExelis Visual Information Solutionsに変更しました。これはExelis ITTの完全所有子会社です。 Exelisは2015年にHarris Corporationによって購入されました。DavidSternはもはや開発に関与していません.

IDLは、多くの重要な天文学関連プロジェクトで使用されています。これは、欧州宇宙機関のジョット宇宙船が撮影したハレー彗星の画像を処理するために使用され、ハッブル望遠鏡の問題を診断するためにも使用されました.

言語について

IDLは、動的に型付けされたベクトルベースの言語であり、Fortranに似た構文を備えています。特に、配列と行列の処理に優れています。この言語は、数学的分析のための、そして最も重要なこととして、データ視覚化のためのツールを提供します.

言語の他の機能は次のとおりです。

  • 変数、関数、プロシージャの個別の名前空間
  • マルチスレッドの関数とプロシージャ
  • 関数の引数は参照渡しされます
  • 参照渡しされるキーワードと呼ばれる名前付きパラメーター
  • ネストされたルーチンcでの名前付きパラメーターの継承

    すべて;

  • 別々のルーチン間で変数を共有する共通ブロック宣言とシステム変数
  • オブジェクト指向プログラミングの基本的な形
  • ポインター変数とオブジェクト変数用の永続的なグローバルヒープ
  • 文字列、同種タイプの配列、リスト、ハッシュテーブル、混合データタイプの単純な(非階層的)レコード構造などの複合データタイプ.

資源

オンライン資料

  • JHU / APL / S1R IDLライブラリ:IDL用の600以上の汎用天文学関連ルーチンのライブラリ.
  • Craig MarkwardtのIDLライブラリ:ルーチンとチュートリアル.
  • Learn IDL:テキサスAの教授が管理するルーチンと学習リソースのコレクション&言語について数冊の本を書いたM大学.
  • Coyote’s Guide to IDL Programming:IDLに関する最高のオンライン情報源の1つ。 IDLの専門家1人とマニアの仕事のほぼすべて.
  • IDLのスラッグのガイド:学生向けのIDLの概念の簡単な説明.
  • ロビーのIDLプログラミング:ややまとまりのない個人のIDLプロジェクトとツールのコレクション.
  • MichaelGalloy.com:Modern IDLの作者によるIDL開発に関するブログ.
  • Rob DimeoのIDLプログラム:IDL開発者によるツールの個人コレクション.

ツール

  • Idlwave:IDL Emacs編集とシェルモード
  • Motley IDLライブラリ:ルーチンのコレクション。いくつかのオブジェクトグラフィッククラス、ウィジェットアプリケーションとその上に構築されるいくつかのアプリケーションの基本クラス、軸上のスケーリングされたデータを簡単に表すことができる関数、netCDFファイルにアクセスするクラス、およびいくつかのユーティリティルーチン.
  • TeXtoIDL:IDLでプロットのラベルを作成する際にギリシャ文字、下付き文字、上付き文字を簡単に使用できるようにするルーチンのコレクション.

実装

IDLの正規の実装は現在Harris Corporationによって管理されており、Webサイトで見つけることができます.

2つのオープンソースの選択肢があります。

  • GDUデータ言語
  • 愚かな言語.

IDLに関する書籍

  • IDLによるプログラミング入門:Kenneth BowmanによるInteractive Data Language:プログラミングの経験がほとんどない人にも適した、優れた入門テキスト.
  • Liam Gumleyによる実用的なIDLプログラミング:実際の問題を解決するための実際のIDLプログラムの構築に関する非常に明確で簡単な考察.
  • Ronn KlingによるIDLによるオブジェクト指向プログラミング:1990年代後半にIDLにOOP機能が追加されました。この時点で、それはずっと前のことでしたが、言語使用の文化は、すでに20年の発展を遂げていました。今日でも、多くのIDLプログラマーはOOP技術を使用していません。開始するのにOPPの概念を理解する必要がないこの本は、IDLでオブジェクト指向プログラミング手法を適用する方法を示しています.
  • Ronn KlingによるIDLを使用したアプリケーション開発:この本は、IDL開発者を特定の分析タスクのアドホックプログラミングから言語での本格的なアプリケーションの構築に移行します.

混乱しないように…

IDLは、インターフェイス定義言語の略でもあります。これは特定の言語ではなく、特定のタイプの言語機能の説明です.

IDLは、言語に依存しない方法で2つのソフトウェアシステム間の相互作用を設計するために使用される仕様言語です。インターフェース定義言語は多数あります.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map