D – pryszłość czy tylko nisza?

Dzisiaj trochę wywodów o języku programowania D. Jest to nowy i można stwierdzić, ze nowatorski a na pewno dobrze uporządkowany język programowania. Już kiedyś, gdy ten był w fazie późnego projektowania maiłem z nim styczność, ale wtedy zbagatelizowałem ten produkt…

1. Trochę informacji

Obecną wersją jest bodajże 1.017 która mimo iż jest kompatybilna z wersjami 1.x stara się przygotować nas na wersję 2.0 Ta ma dopiero przynieść rewolucję i wprowadzić kilka ciekawostek znanych z np. C# do środowiska bazującego na C++. Czy to oznacza, żę już niedługo dostaniemy do rąk szybki, prosty i przyjemny język programowania? Jest to bardzo możliwe. Jak bardzo? Przekonamy się niedługo.

2. Popularność

Co najlepiej będzie świadczyło o jego popularności? Ano tylko wyniki testów prowadzonych przez TIOBE. Trzeba przyznać, że popularność rośnie nieliniowo i już niedługo ten język zadomowi się na naszych maszynach developerskich na dobre ;). Jednak taki „suchy” wynik musi zostać z czymś skonfrontowany. Oto jak D prezentuje się na tle innych. 14. miejsce nie jest złym wynikiem. Nie sposób jednak nie zauważyć, że mamy boom na Ruby. Uważam, że jeśli chodzi o aplikacje webowe to Ruby zostanie liderem obok PHP. Natomiast jeśli chodzi o języki kompilowane (nadal odnośnie tabeli) to rządzić będą C# i D.

3. Jak to w ogóle wygląda

Oto przykład krótkiego kodu prosto z Wikipedii:

// Program w D wypisujący argumenty, z jakimi został wywołany
import std.stdio;
int main(char[][] args)
{
foreach(i, a; args)
writefln("args[%d] = '%s'", i, a);
return 0;
}

Jak widać prościzna.

4. Podsumowanie

I tu chyba napiszę najwięcej. W porównaniu do C++ gdzie API jest trochę zagmatwane D wypada lepiej, proste, spójne API, dużo odniesień do dobrych elementów jeżyka C. Domyślnie automatyczne zarządzanie pamięcią, co dla mnie jest dużym ułatwieniem, bo wskaźniki w C pozostały dla mnie nie do końca jasne. W porównaniu do C# który jest tak obiektowy, że aż za bardzo bo nikt nie opanuje kilkunastu tysięcy klas. Język D nie potrzebuje tez zainstalowanego Frameworka. Czyli duży plus. Warto też zapoznać się z porównaniem D z innymi językami programowania na jego oficjalnej stronie.

Teraz pora odpowiedzieć na pytanie postawione w temacie notki. Moim zdaniem jednak przyszłość, ale pod warunkiem odpowiedniego marketingu, bo produkt sam w sobie jest świetny. Osobiście gdy tylko znajdę czas mam zamiar nauczyć się tego języka. Niestety na polskim rynku nie ma książek o tej tematyce. Dlatego tez polecam zapoznanie się z podręcznikiem (niewielkim i w wielu miejscach jeszcze niekompletnym, ale zawsze coś jest) na Wikibooks. Z mojej strony to wszystko, ale sukcesywnie będą się pojawiać notki dotyczące właśnie D.

Podobne artykuły

Ten wpis został opublikowany w kategorii Felietony, MidtermTrading, Programowanie, Technologia, Tematy ogólne i oznaczony tagami , , , , , . Dodaj zakładkę do bezpośredniego odnośnika.

2 odpowiedzi na „D – pryszłość czy tylko nisza?

  1. MalCom pisze:

    Moim zdaniem C tak latwo sie nie podda i utrzyma sie obok C# i D jako przodownikow kompilowanych ;)
    Odnosnie D to dobrze ze mozna wylaczyc ten ‘garbage collector’. Wskazniki w C/C nadawaly magii temu jezykowi :D

    Maxthon Windows XP
  2. Zyx pisze:

    Wiadomo, że nikt normalny nie będzie milionów linijek kodu przepisywać z C na D, zwłaszcza, że języki są ze sobą zgodne na poziomie binarnym (co prawda tylko w stronę C -> D, ale to wystarcza) i skompilowanych już bibliotek można bez trudu używać w nowym środowisku.

    Napisałem już w tym języku pierwszy poważniejszy program, a jego omówienie umieściłem w sieci: http://www.zyxist.com/pokaz.php/jezyk_d_wielowatkowosc – może kogoś zainteresuje ;). Język bardzo mi się podoba.

    Opera 9.21GNU/Linux

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

:alien: :angel: :angry: :blink: :blush: :cheerful: :cool: :cwy: :devil: :dizzy: :ermm: :face: :getlost: :biggrin: :happy: :heart: :kissing: :lol: :ninja: :pinch: :pouty: :sad: :shocked: :sick: :sideways: :silly: :sleeping: :smile: :tongue: :unsure: :w00t: :wassat: :whistle: :wink: :wub: