데이터 시각화를위한 IDL 프로그래밍 학습

폭로: 귀하의 지원은 사이트 운영을 유지하는 데 도움이됩니다! 이 페이지에서 권장하는 일부 서비스에 대한 추천 수수료가 발생합니다.


IDL (Interactive Data Language)은 주로 데이터 분석 및 데이터 시각화에 사용되는 컴퓨터 프로그래밍 언어입니다. 1977 년에 처음 등장했으며 (뿌리가 더 먼 곳으로 되돌아 가면서) 그 범위에서 약간의 전문가이지만 40 년 동안 중요한 언어로 남아 있습니다..

IDL은 아직 활발히 개발 중이며 NASA와 유럽 우주국 (European Space Agency)의 주요 데이터 분석 작업을 포함하여 우주 과학에 광범위하게 사용됩니다..

IDL의 역사

공간 지향적 데이터 분석에서 IDL의 현재 유용성은 주로 개념과 역사에 기인합니다. 1970 년대 데이비드 스턴 (David Stern)은 LASP (대기 및 우주 물리 연구소)의 볼더에있는 콜로라도 대학교에서 근무하고있었습니다..

그곳에서 그는 과학자와 다른 연구원들이 컴퓨터 프로그래머가 목적에 맞는 응용 프로그램을 개발하도록 유도하지 않고 가설을 테스트하고 스스로 데이터 분석을 수행 할 수있는 방법을 설계하기 시작했습니다..

이에 대한 첫 번째 시도는 Rufus라는 PDP-12를위한 프로그램이었습니다. PDP (Programmed Data Processor)는 다양한 데이터 분석 작업에 사용되는 일종의 프로토 미니 컴퓨터였습니다..

루퍼스는 아직 언어가 아니고 포트란으로 작성된 계산 프로그램 일뿐입니다. 루퍼스는 마리너 임무에서 화성까지의 데이터를 분석하는 데 사용되는 버전을 비롯하여 LASP의 다양한 요구와 함께 발전했습니다..

Rufus에 대한 연구는 결국 SOL이라는 본격적인 프로그래밍 언어로 이어졌습니다. 이것은 PDP-8 (Mariner 작업에 사용 된 것과 동일한 PDP 버전)에서 실행되도록 설계되었으며 구문과 스타일이 Fortran과 매우 유사합니다..

David Stern은 Rufus에서 시작된 작업을 상업화하기 위해 Research Systems Inc (RSI)라는 회사를 설립했습니다. RSI의 첫 번째 제품은 PDP-11에서 실행되도록 설계된 대화식 데이터 언어입니다..

RSI의 첫 번째 고객은 NASA였습니다. VAX / VMS 플랫폼 용으로 작성된 후속 버전은 NAR (National Center for Atmospheric Research), 미시간 대학교, 콜로라도 대학교 및 해군 연구소 등 항공 우주 및 천문학 업계의 다른 주요 업체들이 채택했습니다..

범용 컴퓨터의 등장으로 RSI는 IDL 개발의 초점을 VAX / VMS에서 Unix로 전환했습니다. 이를 위해서는 C로 다시 작성해야하며이 다시 작성된 버전은 현재 사용중인 언어의 “유전 적 조상”입니다. 그러나 언어는 정적으로 거의 유지되지 않았습니다.

기술이 변화함에 따라 많은 새로운 기능이 IDL에 채택되었습니다. 예를 들어, 1990 년대 초에 이벤트 중심 그래픽 사용자 인터페이스 (GUI)가 도입되었습니다..

1990 년대 후반에는 웹 서비스와 객체 지향 프로그래밍이 모두 도입되었습니다. 이 언어는 현재 (이 글을 쓰고있는 현재) 버전 8.5이며 모든 주요 플랫폼 및 운영 체제에서 사용 가능합니다..

RSI는 Eastman Kodak (영화 회사)이 소유 한 짧은 기간을 포함하여 소유자를 몇 차례 변경했습니다..

이 회사는 Exelis ITT의 전액 출자 자회사 인 Exelis Visual Information Solutions로 이름을 변경했습니다. Exelis는 2015 년 Harris Corporation이 인수했습니다. David Stern은 더 이상 개발에 관여하지 않습니다..

IDL은 수많은 중요한 천문학 관련 프로젝트에 사용되었습니다. 그것은 유럽 우주국의 지오토 우주선이 찍은 할리의 혜성 이미지를 처리하는 데 사용되었으며 허블 망원경의 문제를 진단하는데도 사용되었습니다..

언어에 대하여

IDL은 포트란과 유사한 구문을 사용하여 동적으로 유형이 지정된 벡터 기반 언어입니다. 배열과 행렬을 다루는 데 특히 적합합니다. 이 언어는 수학적 분석 및 데이터 시각화를위한 도구를 제공합니다..

언어의 다른 기능은 다음과 같습니다.

  • 변수, 함수 및 프로 시저에 대한 별도의 네임 스페이스
  • 멀티 스레드 기능 및 절차
  • 함수 인수는 참조로 전달됩니다.
  • 참조로 전달되는 키워드라는 명명 된 매개 변수
  • 중첩 된 루틴 c에서 명명 된 매개 변수 상속

    모든 것;

  • 별도의 루틴간에 변수를 공유하는 공통 블록 선언 및 시스템 변수
  • 객체 지향 프로그래밍의 기본 형태
  • 포인터 및 객체 변수를위한 지속적인 전역 힙
  • 문자열, 동종 유형 배열, 목록, 해시 테이블 및 혼합 데이터 유형의 단순 (비 계층 적) 레코드 구조와 같은 복합 데이터 유형.

자원

온라인 자료

  • JHU / APL / S1R IDL 라이브러리 : IDL에 대한 600 개 이상의 범용 천문학 관련 루틴 라이브러리.
  • Craig Markwardt의 IDL 라이브러리 : 루틴 및 자습서.
  • IDL 알아보기 : Texas A의 교수가 관리하는 루틴 및 학습 자료 모음&해당 언어로 여러 권의 책을 저술 한 M University.
  • IDL 프로그래밍에 대한 코요테 가이드 : IDL에 대한 최고의 온라인 정보 소스 중 하나; 거의 전적으로 단일 IDL 전문가 및 애호가의 작업.
  • IDL에 대한 슬러그 안내서 : 학생들을위한 IDL 개념에 대한 간단한 설명.
  • 로비의 IDL 프로그래밍 : 다소 개별화되지 않은 개인 IDL 프로젝트 및 도구 모음.
  • MichaelGalloy.com : Modern IDL 저자의 IDL 개발에 관한 블로그.
  • Rob Dimeo의 IDL 프로그램 : IDL 개발자의 다른 개인 도구 모음.

도구

  • Idlwave : IDL 이맥스 편집 및 쉘 모드
  • Motley IDL 라이브러리 : 여러 개체 그래픽 클래스 루틴, 위젯 응용 프로그램의 기본 클래스 및 그 위에 작성된 여러 응용 프로그램, 축의 스케일 된 데이터를 쉽게 표현할 수있는 기능, netCDF 파일 액세스를위한 클래스 및 여러 유틸리티 루틴.
  • TeXtoIDL : IDL에서 도표의 레이블을 만드는 데 그리스 문자, 첨자 및 위첨자를 사용하는 것이 간단한 루틴 모음.

구현

IDL의 정식 구현은 이제 Harris Corporation에서 관리하며 해당 웹 사이트에서 찾을 수 있습니다..

두 가지 오픈 소스 대안이 있습니다.

  • GDU 데이터 언어
  • 파울 티 언어.

IDL에 관한 책

  • IDL을 사용한 프로그래밍 소개 : Kenneth Bowman의 대화식 데이터 언어 : 프로그래밍 경험이 거의없는 사람들에게도 적합한 훌륭한 소개 텍스트.
  • Liam Gumley의 실용 IDL 프로그래밍 : 실제 문제 해결을위한 실제 IDL 프로그램 구축에 대한 매우 명확하고 직접적인 모습.
  • Ronn Kling의 IDL을 사용한 객체 지향 프로그래밍 : OOP 기능은 1990 년대 후반 IDL에 추가되었습니다. 이 시점에서 그것은 오래 전에 이루어졌지만 언어 사용 문화는 이미 20 년이 걸렸습니다. 오늘날에도 많은 IDL 프로그래머는 OOP 기술을 사용하지 않습니다. 시작하기 위해 OPP 개념을 알 필요가없는이 책은 IDL에서 객체 지향 프로그래밍 방법론을 적용하는 방법을 보여줍니다.
  • Ronn Kling의 IDL을 사용한 응용 프로그램 개발 :이 책은 IDL 개발자를 특정 분석 작업을위한 임시 프로그래밍에서 언어로 전체 응용 프로그램을 구축하는 방법으로 옮깁니다..

혼동하지 말고…

IDL은 또한 인터페이스 정의 언어를 나타냅니다. 이것은 특정 언어가 아니라 특정 유형의 언어 기능에 대한 설명입니다..

IDL은 언어 독립적 인 방식으로 두 소프트웨어 시스템 간의 상호 작용을 설계하는 데 사용되는 사양 언어입니다. 많은 인터페이스 정의 언어가 있습니다.

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