<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hr">
	<id>https://enciklopedija.cc/index.php?action=history&amp;feed=atom&amp;title=IDL_%28programski_jezik%29</id>
	<title>IDL (programski jezik) - Povijest promjena</title>
	<link rel="self" type="application/atom+xml" href="https://enciklopedija.cc/index.php?action=history&amp;feed=atom&amp;title=IDL_%28programski_jezik%29"/>
	<link rel="alternate" type="text/html" href="https://enciklopedija.cc/index.php?title=IDL_(programski_jezik)&amp;action=history"/>
	<updated>2026-07-14T16:03:53Z</updated>
	<subtitle>Povijest promjena ove stranice na wikiju</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://enciklopedija.cc/index.php?title=IDL_(programski_jezik)&amp;diff=757563&amp;oldid=prev</id>
		<title>Bot1: Automatski uvoz s hrwiki (kategorija: Programski jezici)</title>
		<link rel="alternate" type="text/html" href="https://enciklopedija.cc/index.php?title=IDL_(programski_jezik)&amp;diff=757563&amp;oldid=prev"/>
		<updated>2026-04-17T12:56:33Z</updated>

		<summary type="html">&lt;p&gt;Automatski uvoz s hrwiki (kategorija: Programski jezici)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nova stranica&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{nedostaju izvori}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IDL (Interactive Data Language)&amp;#039;&amp;#039;&amp;#039; je [[programski jezik]] koji se široko koristi u znanstvenim i tehničkim disciplinama za analizu i vizualizaciju podataka. Razvijen je od strane tvrtke [[Exelis Visual Information Solutions|Research Systems Inc.]] (sadašnji naziv je [[Exelis Visual Information Solutions]]) i prvi put je objavljen [[1977.]] godine. IDL je izuzetno moćan [[programski jezik]] koji pruža bogat skup funkcionalnosti za obradu [[Podatak|podataka]], [[Statistika|statistiku]], [[numeričko računanje]], [[Vizualizacija znanja|vizualizaciju]] i još mnogo toga. Sposobnost IDL-a za rad s velikim količinama [[Podatak|podataka]] i lakšu [[Analiza sadržaja|analizu]] čini ga popularnim izborom u područjima kao što su [[astronomija]], [[geofizika]], [[meteorologija]], [[biologija]], [[medicina]] i druga slična područja. Jedna od ključnih karakteristika IDL-a je mogućnost interaktivnog rada. Korisnik može izravno unositi [[Naredba (programiranje)|naredbe]] u [[Komandna linija|komandnu liniju]] i odmah dobiti rezultate. Ovo omogućuje brzu i jednostavnu eksploraciju [[Podatak|podataka]] i testiranje različitih [[Algoritam|algoritama]] bez potrebe za [[Kompilacija|kompilacijom]].&lt;br /&gt;
&lt;br /&gt;
== Razvoj ==&lt;br /&gt;
[[David Stern]] je razvio IDL [[1977.]] godine kako bi omogućio [[Znanstvenik|znanstvenicima]] lakšu upotrebu i manipulaciju [[Podatak|podacima]]. Ovaj [[Programski jezik|jezik]] je vrlo moćan i fleksibilan, s bogatim skupom funkcija za [[Obrada podataka|obradu]], [[Analiza sadržaja|analizu]] i [[Vizualizacija|vizualizaciju]] [[Podatak|podataka]]. Također podržava interaktivno programiranje, što omogućava korisnicima da direktno [[Komunikacija|komuniciraju]] s [[Program|programom]] i [[Eksperiment|eksperimentiraju]] s različitim [[Fuckcionalnost|funkcionalnostima]]. Prva verzija IDL-a bila je poznata kao IDL 1.x, a naglašavao je interaktivnost i jednostavnost korištenja. Tijekom godina IDL je stalno napredovao, dodavajući nove [[Značajka|značajke]] i [[Poboljšanje|poboljšanja]].&lt;br /&gt;
&lt;br /&gt;
Slijedeće značajne verzije IDL-a uključuju IDL 2.0, koja je objavljena [[1986.]] godine, uvođenjem više jezičnih sposobnosti te poboljšanjem performansi i stabilnosti. IDL 3.x donio je važna ažuriranja u integraciji [[Operativni sistem|operacijskog sustava]], poboljšanju [[Grafika|grafike]] i dodavanju više [[funkcija]].&lt;br /&gt;
&lt;br /&gt;
IDL 4.x, objavljen [[1997.]] godine, donio je podršku za 64-bitne arhitekture te je znatno povećao brzinu izvođenja programa. Sljedeće verzije IDL-a donijele su poboljšanja u mogućnostima vizualizacije podataka, uključujući IDL 5.0, 6.0 i 7.0.&lt;br /&gt;
&lt;br /&gt;
Trenutno je najnovija verzija IDL-a IDL 8.0, koja je objavljena [[2017.]] godine. Ova verzija donosi brojne nove značajke, kao što su unaprijeđena podrška za rad s velikim skupovima [[Podatak|podataka]] i poboljšane [[mogućnosti]] [[Obrada|obrade]] i [[Analiza sadržaja|analize]].&lt;br /&gt;
&lt;br /&gt;
== Programski primjeri ==&lt;br /&gt;
Prvo jedan jednostavan programski primjer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;idl&amp;quot;&amp;gt;&lt;br /&gt;
// Definicija sučelja&lt;br /&gt;
interface IPrimjer {&lt;br /&gt;
  void ispisiPoruku();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Implementacija sučelja&lt;br /&gt;
class Primjer implements IPrimjer {&lt;br /&gt;
  void ispisiPoruku() {&lt;br /&gt;
    print(&amp;quot;Pozdrav iz IDL-a!&amp;quot;);&lt;br /&gt;
  };&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Glavna metoda&lt;br /&gt;
int main() {&lt;br /&gt;
  // Kreiranje objekta klase Primjer&lt;br /&gt;
  IPrimjer objekt = new Primjer();&lt;br /&gt;
&lt;br /&gt;
  // Pozivanje metode sučelja&lt;br /&gt;
  objekt.ispisiPoruku();&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Onda jedan dugački programski primjer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;idl&amp;quot;&amp;gt;&lt;br /&gt;
module Primjer {&lt;br /&gt;
    // Deklaracija strukture&lt;br /&gt;
    struct Student {&lt;br /&gt;
        string ime;&lt;br /&gt;
        string prezime;&lt;br /&gt;
        int broj_indeksa;&lt;br /&gt;
        sequence&amp;lt;string&amp;gt; predmeti;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
// Deklaracija sučelja&lt;br /&gt;
interface IStudentskaSlužba {&lt;br /&gt;
    // Metoda za dodavanje novog studenta&lt;br /&gt;
    void dodajStudenta(in Student student);&lt;br /&gt;
&lt;br /&gt;
    // Metoda za dohvat svih studenata&lt;br /&gt;
    sequence&amp;lt;Student&amp;gt; dohvatiSveStudente();&lt;br /&gt;
&lt;br /&gt;
    // Metoda za pronalazak studenta po broju indeksa&lt;br /&gt;
    Student pronadiStudenta(in int broj_indeksa);&lt;br /&gt;
&lt;br /&gt;
    // Metoda za brisanje studenta&lt;br /&gt;
    void obrisiStudenta(in int broj_indeksa);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Implementacija sučelja&lt;br /&gt;
class StudentskaSlužbaImpl : IStudentskaSlužba {&lt;br /&gt;
    private sequence&amp;lt;Student&amp;gt; listaStudenata;&lt;br /&gt;
&lt;br /&gt;
    // Implementacija metode za dodavanje novog studenta&lt;br /&gt;
    void dodajStudenta(in Student student) {&lt;br /&gt;
        listaStudenata.append(student);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Implementacija metode za dohvat svih studenata&lt;br /&gt;
    sequence&amp;lt;Student&amp;gt; dohvatiSveStudente() {&lt;br /&gt;
        return listaStudenata;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Implementacija metode za pronalazak studenta po broju indeksa&lt;br /&gt;
    Student pronadiStudenta(in int broj_indeksa) {&lt;br /&gt;
        for (int i = 0; i &amp;lt; listaStudenata.length(); i++) {&lt;br /&gt;
            if (listaStudenata[i].broj_indeksa == broj_indeksa) {&lt;br /&gt;
                return listaStudenata[i];&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Implementacija metode za brisanje studenta&lt;br /&gt;
    void obrisiStudenta(in int broj_indeksa) {&lt;br /&gt;
        for (int i = 0; i &amp;lt; listaStudenata.length(); i++) {&lt;br /&gt;
            if (listaStudenata[i].broj_indeksa == broj_indeksa) {&lt;br /&gt;
                listaStudenata.remove(i);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Onda još jedan dugački programski primjer o kalkulatoru:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;idl&amp;quot;&amp;gt;&lt;br /&gt;
// Primjer IDL koda&lt;br /&gt;
&lt;br /&gt;
// Definiraj modul naziva &amp;quot;Math&amp;quot; kako bi se omogućila enkapsulacija matematičkih funkcija&lt;br /&gt;
module Math {&lt;br /&gt;
    // Definiraj sučelje naziva &amp;quot;Calculator&amp;quot; za osnovne aritmetičke operacije&lt;br /&gt;
    interface Calculator {&lt;br /&gt;
        double add(in double a, in double b);&lt;br /&gt;
        double subtract(in double a, in double b);&lt;br /&gt;
        double multiply(in double a, in double b);&lt;br /&gt;
        double divide(in double a, in double b);&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
// Definiraj strukturu naziva &amp;quot;Vector&amp;quot; za reprezentaciju matematičkog vektora&lt;br /&gt;
struct Vector {&lt;br /&gt;
    double x;&lt;br /&gt;
    double y;&lt;br /&gt;
    double z;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Definiraj iznimku naziva &amp;quot;DivisionByZeroException&amp;quot; za pogreške dijeljenja s nulom&lt;br /&gt;
exception DivisionByZeroException {&lt;br /&gt;
    string message;&lt;br /&gt;
};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Definiraj modul naziva &amp;quot;Geometry&amp;quot; kako bi se omogućila enkapsulacija geometrijskih funkcija&lt;br /&gt;
module Geometry {&lt;br /&gt;
    import Math::Calculator;  // Uvezi sučelje Calculator iz modula Math&lt;br /&gt;
&lt;br /&gt;
// Definiraj sučelje naziva &amp;quot;Shape&amp;quot; za geometrijske oblike&lt;br /&gt;
interface Shape {&lt;br /&gt;
    double calculateArea();&lt;br /&gt;
    double calculatePerimeter();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Definiraj klasu naziva &amp;quot;Circle&amp;quot; koja implementira sučelje Shape&lt;br /&gt;
class Circle : Shape {&lt;br /&gt;
    double radius;&lt;br /&gt;
&lt;br /&gt;
    // Konstruktor&lt;br /&gt;
    Circle(in double r) {&lt;br /&gt;
        radius = r;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Implementiraj metode sučelja Shape&lt;br /&gt;
    double calculateArea() {&lt;br /&gt;
        return Math::Calculator.multiply(Math::Calculator.multiply(radius, radius), 3.14159);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    double calculatePerimeter() {&lt;br /&gt;
        return Math::Calculator.multiply(radius, Math::Calculator.multiply(2, 3.14159));&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Definiraj klasu naziva &amp;quot;Rectangle&amp;quot; koja implementira sučelje Shape&lt;br /&gt;
class Rectangle : Shape {&lt;br /&gt;
    double width;&lt;br /&gt;
    double height;&lt;br /&gt;
&lt;br /&gt;
    // Konstruktor&lt;br /&gt;
    Rectangle(in double w, in double h) {&lt;br /&gt;
        width = w;&lt;br /&gt;
        height = h;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Implementiraj metode sučelja Shape&lt;br /&gt;
    double calculateArea() {&lt;br /&gt;
        return Math::Calculator.multiply(width, height);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    double calculatePerimeter() {&lt;br /&gt;
        return Math::Calculator.multiply(Math::Calculator.add(width, height), 2);&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Definiraj glavni modul za demonstraciju korištenja modula Math i Geometry&lt;br /&gt;
module Main {&lt;br /&gt;
    import Geometry::Circle;  // Uvezi klasu Circle iz modula Geometry&lt;br /&gt;
    import Geometry::Rectangle;  // Uvezi klasu Rectangle iz modula Geometry&lt;br /&gt;
    import Math::DivisionByZeroException;  // Uvezi iznimku DivisionByZeroException iz modula Math&lt;br /&gt;
&lt;br /&gt;
// Primjer korištenja&lt;br /&gt;
void main() {&lt;br /&gt;
    Circle circle = new Circle(5.0);&lt;br /&gt;
    Rectangle rectangle = new Rectangle(4.0, 6.0);&lt;br /&gt;
&lt;br /&gt;
    double circleArea = circle.calculateArea();&lt;br /&gt;
    double circlePerimeter = circle.calculatePerimeter();&lt;br /&gt;
&lt;br /&gt;
    double rectangleArea = rectangle.calculateArea();&lt;br /&gt;
    double rectanglePerimeter = rectangle.calculatePerimeter();&lt;br /&gt;
&lt;br /&gt;
    // Ispiši rezultate&lt;br /&gt;
    printf(&amp;quot;Krug\n&amp;quot;);&lt;br /&gt;
    printf(&amp;quot;Površina: %f\n&amp;quot;, circleArea);&lt;br /&gt;
    printf(&amp;quot;Opseg: %f\n&amp;quot;, circlePerimeter);&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;Pravokutnik\n&amp;quot;);&lt;br /&gt;
    printf(&amp;quot;Površina: %f\n&amp;quot;, rectangleArea);&lt;br /&gt;
    printf(&amp;quot;Opseg: %f\n&amp;quot;, rectanglePerimeter);&lt;br /&gt;
};&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Izvori ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vanjske poveznice ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.harrisgeospatial.com/SoftwareandTechnology/IDL.aspx IDL početna stranica] {{Webarchive|url=https://web.archive.org/web/20171024174407/http://www.harrisgeospatial.com/SoftwareandTechnology/IDL.aspx |date=24. listopada 2017. }}&lt;br /&gt;
* [http://www.idlcoyote.com/ Coyoteov vodič za IDL programiranje] {{Webarchive|url=https://web.archive.org/web/20230824163400/http://www.idlcoyote.com/ |date=24. kolovoza 2023. }}&lt;br /&gt;
* [http://idlastro.gsfc.nasa.gov/ IDL Astronomy User&amp;#039;s Library u NASA-i Goddard] {{Webarchive|url=https://web.archive.org/web/20050830053353/http://idlastro.gsfc.nasa.gov/ |date=30. kolovoza 2005. }}&lt;br /&gt;
* [http://www.flxpert.hu/fl/ Fawlty Language početna stranica]&lt;br /&gt;
[[Kategorija:Programski jezici]]&lt;/div&gt;</summary>
		<author><name>Bot1</name></author>
	</entry>
</feed>