Dowiedz się programowania IDL do wizualizacji danych

Ujawnienie: Twoje wsparcie pomaga utrzymać działanie witryny! Pobieramy opłatę za polecenie niektórych usług, które zalecamy na tej stronie.


IDL, czyli Interactive Data Language, to język programowania komputerowego wykorzystywany przede wszystkim do analizy danych i wizualizacji danych. Choć pojawił się po raz pierwszy w 1977 r. (Jego korzenie sięgają jeszcze dalej) i jest nieco specjalistą w zakresie, pozostaje czterdziestoletnim językiem.

IDL jest nadal aktywnie rozwijany i jest szeroko stosowany w nauce o kosmosie – w tym w dużych analizach danych wykonanych przez NASA i Europejską Agencję Kosmiczną.

Historia IDL

Obecna przydatność IDL w analizie danych kosmicznych wynika głównie z jej koncepcji i historii. W latach 70. David Stern pracował na Uniwersytecie Kolorado w Boulder w Laboratorium Fizyki Atmosfery i Kosmosu (LASP).

Podczas gdy tam zaczął pracować nad projektowaniem sposobów umożliwiania naukowcom i innym badaczom samodzielnego testowania hipotez i przeprowadzania analizy danych, bez angażowania programistów komputerowych do opracowywania aplikacji dostosowanych do określonego celu.

Pierwszą próbą tego był program dla PDP-12 o nazwie Rufus. PDP, czyli programowany procesor danych, był rodzajem protomikomputera wykorzystywanego do różnych zadań analizy danych.

Rufus nie był jeszcze językiem, tylko programem kalkulacyjnym napisanym w Fortranie. Rufus ewoluował wraz z różnymi potrzebami w LASP, w tym wersją używaną do analizy danych z misji Mariner na Marsa.

Prace nad Rufusem ostatecznie doprowadziły do ​​powstania pełnoprawnego języka programowania o nazwie SOL. Został zaprojektowany do pracy na PDP-8 (ta sama wersja PDP, której użyto do pracy Marinera) i był bardzo podobny do Fortran pod względem składni i stylu.

David Stern założył firmę o nazwie Research Systems Inc (RSI) w celu komercjalizacji prac rozpoczętych na Rufus. Pierwszym produktem RSI był Interactive Data Language, zaprojektowany do pracy na PDP-11.

Pierwszym klientem RSI była NASA. Kolejne wersje napisane dla platformy VAX / VMS zostały przyjęte przez innych głównych graczy z branży lotniczej i astronomicznej, w tym National Center for Atmospheric Research (NCAR), University of Michigan, University of Colorado oraz Naval Research Laboratory.

Wraz z rozwojem komputerów ogólnego przeznaczenia, RSI przeniosło się na rozwój IDL z VAX / VMS na Unix. Wymagało to przepisania w C, a ta przepisana wersja jest „genetycznym przodkiem” obecnie używanego języka. Jednak język prawie nie pozostał statyczny.

W miarę zmian technologii wprowadzono wiele nowych funkcji do IDL. Na przykład na początku lat 90. wprowadzono graficzny interfejs użytkownika (GUI) sterowany zdarzeniami.

Pod koniec lat 90. wprowadzono zarówno usługi sieciowe, jak i programowanie obiektowe. Język jest obecnie (od tego pisania) w wersji 8.5 i jest dostępny na wszystkich głównych platformach i systemach operacyjnych.

RSI kilkakrotnie zmieniało właścicieli, w tym krótki okres, gdy był własnością Eastmana Kodaka (firmy filmowej).

Firma zmieniła nazwę na Exelis Visual Information Solutions, która była spółką w 100% zależną od Exelis ITT. Exelis został zakupiony przez Harris Corporation w 2015 roku. David Stern nie jest już zaangażowany w rozwój.

IDL był wykorzystywany w wielu ważnych projektach związanych z astronomią. Służył do przetwarzania zdjęć Komety Halleya wykonanych przez statek kosmiczny Giotto Europejskiej Agencji Kosmicznej, a także do diagnozowania problemów z teleskopem Hubble’a.

O języku

IDL to dynamicznie typowany, oparty na wektorach język o składni podobnej do Fortran. Jest szczególnie biegły w radzeniu sobie z tablicami i macierzami. Język zapewnia narzędzia do analizy matematycznej i – co najważniejsze – do wizualizacji danych.

Inne funkcje języka to:

  • Oddzielne przestrzenie nazw dla zmiennych, funkcji i procedur
  • Funkcje i procedury wielowątkowe
  • Argumenty funkcji są przekazywane przez odwołanie
  • Nazwane parametry nazywane słowami kluczowymi, które są przekazywane przez odwołanie
  • Dziedziczone parametry o nazwach w zagnieżdżonej procedurze c

    wszystko;

  • Wspólne deklaracje blokowe i zmienne systemowe dzielące zmienne między oddzielnymi procedurami
  • Podstawowa forma programowania obiektowego
  • Trwała, globalna sterta zmiennych wskaźników i obiektów
  • Złożone typy danych, takie jak ciągi znaków, tablice typu jednorodnego, listy, tabele skrótów i proste (niehierarchiczne) struktury rekordów o mieszanych typach danych.

Zasoby

Zasoby online

  • Biblioteka IDL JHU / APL / S1R: biblioteka ponad 600 procedur związanych z astronomią ogólnego zastosowania dla IDL.
  • Biblioteka IDL Craiga Markwardta: procedury i samouczki.
  • Dowiedz się IDL: zbiór procedur i zasobów edukacyjnych prowadzonych przez profesora w Texas A.&Uniwersytet M, który napisał kilka książek o tym języku.
  • Przewodnik Coyote po programowaniu IDL: jedno z najlepszych internetowych źródeł informacji o IDL; prawie w całości praca jednego eksperta i entuzjasty IDL.
  • Przewodnik Sluga po IDL: uproszczone wyjaśnienia pojęć IDL dla studentów.
  • Programowanie IDL przez Robbiego: nieco niezorganizowany zbiór osobistych projektów i narzędzi IDL.
  • MichaelGalloy.com: blog o rozwoju IDL autorstwa autora Modern IDL.
  • Programy IDL Roba Dimeo: kolejny osobisty zbiór narzędzi od dewelopera IDL.

Przybory

  • Idlwave: Edycja IDL Emacsa i tryb powłoki
  • Motley IDL Library: zbiór procedur z kilku klas Graphics Object, klasa bazowa dla aplikacji widgetów i kilka aplikacji na nim zbudowanych, funkcje ułatwiające przedstawianie skalowanych danych na osiach, klasy dostępu do plików netCDF i kilka procedur narzędziowych.
  • TeXtoIDL: zbiór procedur, które ułatwiają używanie greckich liter, indeksów dolnych i górnych do tworzenia etykiet dla wykresów w IDL.

Realizacje

Kanoniczną implementacją IDL zarządza teraz Harris Corporation i można ją znaleźć na ich stronie internetowej.

Istnieją dwie alternatywy typu open source:

  • Język danych GDU
  • Fawlty Language.

Książki o IDL

  • Wprowadzenie do programowania za pomocą IDL: Interactive Data Language Kenneth Bowman: świetny tekst wprowadzający odpowiedni nawet dla osób z niewielkim doświadczeniem w programowaniu.
  • Praktyczne programowanie IDL przez Liama ​​Gumleya: bardzo jasne i proste spojrzenie na tworzenie prawdziwych programów IDL do rozwiązywania rzeczywistych problemów.
  • Programowanie obiektowe z użyciem IDL autorstwa Ronn Kling: Pod koniec lat dziewięćdziesiątych dodano możliwość IDO do IDL. W tym momencie to było dawno temu, ale kultura używania języka miała już 20 lat na rozwój. Nawet dzisiaj wielu programistów IDL nie stosuje technik OOP. Ta książka, która nie wymaga znajomości pojęć OPP, aby rozpocząć, pokazuje, jak stosować metodologię programowania obiektowego w IDL.
  • Tworzenie aplikacji z IDL przez Ronn Kling: ta książka przenosi programistę IDL z programowania ad-hoc do określonych zadań analitycznych do budowania pełnowymiarowych aplikacji w języku.

Nie należy mylić…

IDL oznacza również język definicji interfejsu. To nie jest konkretny język, ale raczej opis pewnego rodzaju funkcji językowych.

IDL to języki specyfikacji używane do projektowania interakcji między dwoma systemami oprogramowania w sposób niezależny od języka. Istnieje wiele języków definicji interfejsu.

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