D Programming Language
Jak niektórzy być może spostrzegli ostatnio blog był nieaktywny. Musiałem wyczarować templatkę całkowicie od nowa, więc są drobne zmiany. Ale jak widać – blog powrócił :)
Przez dłuższy czas śledzę rozwój nowego języka programowania. Wyobraźcie sobie język, który daje nam efektywność działania (szybkość) jak język C/C++, ale jednocześnie daje możliwość znacznego zmniejszenia potrzebnej ilości czasu oraz powstałych bugów – jak np. Java czy Python. Wierzcie lub nie, ale takim właśnie językiem jest D.
D to język autorstwa Waltera Bright – człowieka z Digital Mars, twórców jednej z implementacji kompilatorów C++. Do dyspozycji mamy [1] standardowy kompilator DMD oraz backend dla kompilatora GCC – [2] GDC. Jednakże zdecydowanie polecam oficjalny DMD. Do dyspozycji mamy także wersję [3] linuxową.
O języku D wypowiada się pozytywnie coraz więcej osób. Aby nie kopiować albo nie przytaczać tych samych argumentów, po prostu odeślę do artykułów, gdzie jest porównywana wydajność kodowania w tym języku do tej z innych [4] [5].
To co ja uznałem za najcenniejsze lub najciekawsze to:
- klasa string jest właściwie cechą języka a nie rzeczą przekompilowywaną za każdym razem z wielu szablonów klas standardowej biblioteki
- w porównaniu do Javy czy C# – nadal możemy w prosty sposób używać wskaźników jak w C, ale ogólnie używana jest referencja (praktycznie tak jak w Javie)
- wbudowane wątki, obsługa xml, socketów czy zlib
- na poziomie szybkości C++ wbudowany Garbage Collector, którego jednak nie musimy używać (pomijanie operatora delete jest w tym języku czymś zupełnie normalnym)
- znacznie prostrze do definicji szablony klas
- typ ‘auto’ przy deklarowaniu zmiennej z przypisywaną wartością
- wbudowana synchronizacja wątków jak np. w Javie (słowo kluczowe synchronized)
- wbudowane tablice przy definiowaniu zmiennej np. char[] zmienna;
- po więcej „advantages” odsyłam do [7]
Jeśli chcesz zobaczyć przykładowy kod w tym języku to zapraszam do [6]. Nieprawdaż, że coś to przypomina? ;)
Jedyne czego nam teraz brakuje to dobre IDE dla tego języka. Niektórzy pytają o popularność tego języka – tu chodzi o marketing, który w tym przypadku jest praktycznie zerowy. Jestem w stanie stwierdzić, że ten język ma przyszłość na miejscu C++. Bowiem C++0x ma być „cudowniejszy”, ale jednocześnie zachowywać 100% kompatybilność z aktualnym standardem. Jak oni chcą to zrobić? Nie wiem.
[1] http://www.digitalmars.com/d/2.0/dmd-windows.html
[2] http://dgcc.sourceforge.net/
[3] http://www.digitalmars.com/d/2.0/dmd-linux.html
[4] http://www.linux.com/feature/124320
[5] http://www.digitalmars.com/d/2.0/safed.html
[6] http://www.digitalmars.com/d/2.0/
[7] http://www.digitalmars.com/d/2.0/overview.html
Tagi: D language
Lipiec 8th, 2008 at 13:21
ha! popularność di rośnie! no i kul. sipipi saks. a jeśli idzie o ide to c::b jest ok. poza tym innych też niemało. proszem np. zerknonć na http://www.prowiki.org/wiki4d/wiki.cgi?EditorSupport edytorxi. nie to nie
Lipiec 8th, 2008 at 21:33
freakpp: tak, znam ta liste :) Juz dawno wiele nieaktualne. Testowalem wiele tych niby-IDE. Wtyczka do Eclipse (chyba nazwa Descent) jest dosyć niewygodna, Code::Blocks ma bardzo słabe wsparcie. Na ich forum nikt się tym nie interesował, kiedy postawiłem topic o języku D. „Nawet” był Poseidon, ale pewnie dla jakiejś starej wersji. Jest już dawno nierozwijany i ma za dużo bugów, nieużyteczny. Podobno fajny był SkyIDE ale oficjalna www zniknęła i nigdzie nie można dorwać tego środowiska. Reszta programów to praktycznie zwykłe edytorki pokroju Programmers’ Notepad, Crimson Editor czy Notepad++. A to już nie stricte IDE. Na tej liście to właściwie większość jest ;) Jeszcze było można jakoś kiedyś w VS2k5 dodać obsługę D, ale to już łamanie licencji, wielkie (jak dobrze pamiętam) grzebanie w plikach itd. Ogólnie sux.
Lipiec 14th, 2008 at 16:23
O, wznowiono prace nad SkyIDE:
http://www.techopinion.net/news/?p=1542
http://www.techopinion.net/news/?p=1543
http://www.techopinion.net/news/?p=1544
http://www.techopinion.net/news/?p=1545
http://www.techopinion.net/news/?p=1546 ;)