Warsztat.GD

Programowanie => Językoznawstwo => Wątek zaczęty przez: Estelhof w Styczeń 14, 2008, 22:19:55

Tytuł: Język D
Wiadomość wysłana przez: Estelhof w Styczeń 14, 2008, 22:19:55
Co myślicie o następcy c++, czyli o jęzku D. Nie wiem czy następca to dobre słowo, bo D nie dobudowany na c++ tak jak to było przy przejściu z c na c++, ale to nowy język. Trochę o nim czytałem i wydaje mi się interesujący, ale nie ma za sobą bazy takiej jak pierwowzór. Egzystencja czy hegemonia dla D? :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: deX(ter) w Styczeń 14, 2008, 22:23:34
Co myślicie o następcy c++, czyli o jęzku D. Nie wiem czy następca to dobre słowo, bo D nie dobudowany na c++ tak jak to było przy przejściu z c na c++, ale to nowy język. Trochę o nim czytałem i wydaje mi się interesujący, ale nie ma za sobą bazy takiej jak pierwowzór. Egzystencja czy hegemonia dla D? :)

D nie jest następcą C++. Jest raczej inną obiektową odmianą C, jak Objective C.

Egzystencja czy hegemonia? ;P. Zawsze fajniej jest jak jest większy wybór.. ;]. Także raczej egzystencja..
Tytuł: Odp: Język D
Wiadomość wysłana przez: eMul w Styczeń 14, 2008, 22:33:09
hegemonia :)
Dlaczego? Bo mamy Javę i .NET. Połączenie C i Javy nie jest nam potrzebne, bo i tak ma mniejsze możliwości od Javy. No chyba, że ktoś chce pisać system operacyjny, ale tego się chyba na codzień nie programuje...
Tytuł: Odp: Język D
Wiadomość wysłana przez: Złośliwiec w Styczeń 14, 2008, 22:36:31
D nie jest następcą C++.

Nie jest i raczej nie będzie. Popatrzmy: kto tego używa? W zasadzie wszystkie ważniejsze nowości wprowadzone w D są już w C#, który ma nieporównanie większe "plecy" za sobą (Microsoft chociażby). A jeśli ograniczymy rozważania do gamedev-u, to tutaj wciąż niepodzielnie króluje C++ :).
Tytuł: Odp: Język D
Wiadomość wysłana przez: Anton Chigurh w Styczeń 14, 2008, 23:00:07
Swego czasu bardzo mnie zainteresował ten język. zacząłem nawet robić na tym mały projekcik w opengl. Na podstawie tych doświadczeń stwierdziłem jednak, że zasób bibliotek w D jest ubogi. Co więcej to, co jest dostępne to najczęściej bardziej lub mniej udolne wrappery na istniejące biblioteki skompilowane w C. Z wielkim trudem udało mi się użyć jakiejś przeportowanej wersji SDL. Dalej przyznam, że programowało się nieźle. Bez rewelacji, ale przypuszczam, że korzystając z tego języka w pełni, można sporo wycisnąć.

Z tego co wyczytałem (dodatkowo) istniały w owym czasie (kiedy się interesowałem ;-) ) problemy z biblioteką standardową (możliwe, że nadal jest to na rzeczy), mianowicie domyślny i zalecany phobos został przez społeczność uznany, za nieoptymalny, skażony nawykami c++-owymi i ogólnie słaby; w momencie, gdy interesowałem się tym językiem był on wypierany przez niby lepsze, ale wciąż świeże Tango. Zobaczywszy taką burzę spakowałem walizeczkę i sobie poszedłem z powrotem do c++.

W skrócie: uważam, że warto się temu od czasu do czasu przyjrzeć. D odrzuca wiele niepotrzebnych elementów zaznych z c++ (dla mnie np. koszmarnie rozwiązane jest definiowanie metod nie-inline), rozszerza podstawowe elementy (najzwyklejsze tablice mają już charakter obiektowy i np. członka (;) ) .size).

Ponad to, i tutaj uważam, że mamy największą zaletę - język jest kompilowany do kodu natywnego. Nikt nie potraktuje Twojego programu reflectorem, wirtualna maszyna javy nie zje Ci połowy pamięci ram na odpalenie arkanoida itp.

Kolejna (chyba ostatnia) sprawa. Język ten jest stworzony przez ludzi zajmujących się wcześniej tworzeniem kompilatora (z tego co widziałem niezłego) a nie idealistów, czy za ledwie rzemieślników szarego, codziennego c++'a. Ma to dobre i złe strony. Dobre - aplikacje będą ładnie optymalizowane, na prawdę małe i szybkie. Złe - język jest bardzo pragmatyczny. Jest obiektowy, ale nie w 100%(jak Java/C#). Nie zniechęca do używania skótów haków itp. Dla mnie to minus.
W praktyce (imo) nie wiele różni się od c++'a wspartego dobrze zrozumianym std::x.
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Styczeń 15, 2008, 00:37:34
Hehm rok temu pisalem o D i nawet spory watek sie z tego zrobil:

http://forum.warsztat.gd/index.php/topic,2509.0.html -> moze zintegrowac ?

Co sie od tamtego czasu zmienilo ? Hmmm raczej niewiele.

Najwiekszym problemem nadal jest brak dedykowanego IDE z prawdziwego zdarzenia. Jest projekt pluginu pod Eclipse ( jak ja nie lubie tego ide :/ ) ktory dostarcza naprawde dobrego uzupelniania kodu i integracje z GDB. Ja jednak uzywam i tak Code::Blocks narazie.

Spatchowany GDB + Code::Blocks pod Windowsem dzialaja bardzo dobrze jako debugger, wiec ten problem zniknal nieco. Brak uzupelniania skladni jest moze meczacy ale powiedzmy sobie szczerze - to jest tylko ulatwienie, a wielu z nas juz nie moze sie bez tego obejsc ;p Ale sie da.

Uzylem D w paru mniejszych, konsolowych programach uzytkowych ;p Pisalo mi sie naprawde wygodnie, no ale to male projekty... Chcialem napisac jakas niewieka gre i dac ja na GPL, tak zeby moze ludzi przekonac ze gamedev rowniez sie da w nim robic, ale mam juz tyle tych planow ze nie wiem czy znajde czas.

Porownywac z C# czy Javy nie ma co, bo to jezyki do innych z zalozenia zastosowan niz D, bardziej "nakierowane" na biznes i RAD. Owszem, pewne rozwiazania skladniowe z Javy czy C# sa, ale to naturalne, bo po prostu upraszcza to skladnie, ktora w C++ jest nieco przerosnieta, choc rowniez logiczna oczywiscie.

D nie jest rozszerzeniem C, tylko zupelnie nowym jezykiem o naprawde sporych mozliwosciach ( radze poczytac ), a to wszystko bez potrzeby posiadania maszyny wirtualnej czy jakiegokolwiek srodowiska uruchomieniowego.

Ja sam nie mialem problemow z podlaczeniem SDL. Oczywiste jest ze nie ma wielu bibliotek, ale fakt ze jezyk jest na poziomie binarnym zgodny z C daje tutaj ogromne pole do popisu w robieniu prostych bindingow ( jedynie "naglowki" funkcji - w cudzyslowiu bo jako tako naglowkow nie ma ;) ). Ponoc w przyszlej wersji ma wspolpracowac takze z klasami z C++ - zobaczymy.

Ja sam widze ten jezyk w Gamedevie. Potrzebne sa jednak narzedzia na dobrym poziomie :/ Widzialem projekty silnikow pisane w calosci w tym jezyku.

Sami tworcy przyznaja ze nie jest to jezyk dla poczatkujacych. Nie jest moze trudny, ale wlasnie ze wzgledu na pewne myki warto przedtem miec pewna wiedze. Ale o C++ tez tak mowia, a jakos na nim sie nauczylem programowac ( moze nie "nauczylem", bo czlowiek tego sie cale zycie uczy, ale wiadomo o co chodzi :D )

Wedlug mnie:

+ Kompilowalny, szybki kod wynikowy
+ Nowoczesna, intuicyjna skladnia, [prostsza niz C++
+ Wszystkie mozliwosci C++ ( poza wielokrotnym dziedziczeniem oczywiscie, za to interfejsy ) i wiele wiecej
+ Garbage Collector - ale opcjonalny ! Nawet podczas jego dzialania pamiec mozna zwalniac bezposrednio, a poza tym mozna go po prostu wylaczyc ;]
+ Nieprawdopodobna szybkosc kompilacji w porownaniu do C++ a nawet do C. Niewielkie programy mozna praktycznie kompilowac "w locie" przed uruchomieniem. Pamietam ze program zlozony ze 150 tys linijek skompilowal sie u mnie na kompie w 30 sekund... A to wszystko dlatego ze skladnia D jest o wiele prostsza i brak naglowkow.

= Wieloparadygmatowy - dla niektorych to minus, ale wedlug mnie dobrze jest miec dowolnosc. Raza mnie mikre programiki w C# albo w Javie posiadajace jedna klasa i pare statycznych metod. Wyglada to sztucznie.

- brak wsparcja wielkich firm - i nie zanosi sie zeby to sie mialo zmienic :/ Microsoft brnie w .NET ( ciekawe jak to sie skonczy ? )
- nadal brak porzadnego IDE, aby mozna bylo bezstresowo pisac programy
- kurde nie wiem juz :) To naprawde dobry jezyk zarowno z punktu widzenia programisty ( wygodny ) jak i uzytkownika ( brak runtime'u )
Tytuł: Odp: Język D
Wiadomość wysłana przez: Reg w Styczeń 15, 2008, 12:00:16
Przeglądałem ogólne informacje na temat języka D i myślę, że to po prostu język doskonały. Dokładnie taki, jak powinien wyglądać C++, gdyby się rozwijał, szedł z duchem czasu i we właściwym kierunku. Szczególnie dobry do programowania gier - kompilowany do natywnego kodu, dostatecznie niskopoziomowy a równocześnie wygodny. Dlatego bardzo ubolewam, że nie jest popularny i nie ma dobrego wsparcia ze strony narzędzi i bibliotek :( :( :(
Tytuł: Odp: Język D
Wiadomość wysłana przez: Anton Chigurh w Styczeń 15, 2008, 13:21:03
To może dodaćby to do warsztatowej dystrybucji linuksa wraz z popularniejszymi wrapperami? Nie powinno zająć dużo miejsca, a byłoby "dobrym uczynkiem" nagradzającym dobre chęci digital mars-ów. I jaknajbardziej jest a'propos gamedev'u.

Jakby ktośjeszcze nie znał to tu : http://www.asahi-net.or.jp/~cs8k-cyu/ jest trochę fajnych gier pisanych w D (chyba w niektórych/wszystkich można też znaleźć źródła)
Tytuł: Odp: Język D
Wiadomość wysłana przez: deX(ter) w Styczeń 15, 2008, 13:39:52
Spoko.. A jak się nazywa kompilator D? Może nazwę paczki pod Debiana znasz, bo mi się szukać nie chce :P.
Tytuł: Odp: Język D
Wiadomość wysłana przez: albireo w Styczeń 15, 2008, 13:47:05
Zdaje się że są dwa dmd i gdc (ten drugi to chyba tylko frontend do gcc), ale sprawdź na oficjalnej stronie języka: http://www.digitalmars.com/
Tytuł: Odp: Język D
Wiadomość wysłana przez: deX(ter) w Styczeń 15, 2008, 13:59:23
Zdaje się że są dwa dmd i gdc (ten drugi to chyba tylko frontend do gcc), ale sprawdź na oficjalnej stronie języka: http://www.digitalmars.com/

Ooo.. Dzięki bardzo.. Użyję GDC, bo tak jak mówiłeś, to frontend do GCC, a zależy mi na jak najmniejszym rozmiarze obrazu ;].
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Styczeń 15, 2008, 14:15:19
Frontend do GDC to bardzo dobre rozwiazanie, nawet skompilowalem swoj crosscompiler GDC, dla mojego blizej nieokreslonego projektu malego OS'a ;p Ktory wlasnie mam zamiar pisac w calosci w D. Ciekawe co z tego wyjdzie... No ale to po sesji najwczesniej :/

Eh.. gdyby tylko bylo jakies IDE w pelni dobre. Mysle ze Code::Blocks jako baza by sie swientnie do tego nadawal. Ma dobry system pluginow, jest przenosny i szybki nie jak Eclipse... Infrastruktura zwiazana z systemem budowania juz jest, debugger tez, wystarczyloby tylko uzupelniania kodu... Nawet chcialem sie sam za to zabrac :D Ale eh za duzo rzeczy chce a czasu nie ma wiele :(

Moze z tego pluginu do Eclipse cos wyjdzie ( gdyby ktos byl zainteresowany: Descent ) juz od biedy moglbym pod tym molochem pracowac :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Luty 14, 2008, 12:31:08
Jezyk D nadal nie daje mi spokoju ;)

Ostatnio cos sie ruszylo. Wyszla nowa wersja tego pluginu do Eclipse - Descent. I musze powiedziec ze jestem pod wrazeniem. Uzupelnianie kodu dziala bardzo dobrze, lacznie z podkreslaniem niektorych bledow skladniowych ( jak w C# czy w Javie ). Malo tego, wyswietla takze dokumentacje, zarowno do naszych funkcji jak i do funkcji z biblioteki standardowej. Mozna tez uzywac debuggera z poziomu Eclipse ( np. GDB, ktory sprawuje sie bardzo dobrze. )

Niestety, autorzy nadal pracuja nad systemem budowania programow, wiec tymczasowo trzeba korzystac z jakiegos zewnetrznego narzedza, Make, albo jakiegos sytemu przeznaczonego specjalnie dla D, np. Rebuild, ktory swoja droga naprawde robi wrazenie ( kompiluje pliki z zgodnie z dyrektywami 'import', nie potrzeba wiec zadnego pliku konfiguracyjnego )

Mam nadzieje ze Descent niedlugo stanie sie porzadnym IDE dla D, szkoda tylko ze jest pod Eclipse :(

http://www.dsource.org/projects/descent

***

Inna rzecza ktora znalazlem jest projekt gry FPS pisanej calkiem w jezyku D, w bardzo zaawansowanym stadium... pisanej przez Polakow. ( A moze sa tez na warsztacie ? )

http://deadlock.team0xf.com/index.php
Tytuł: Odp: Język D
Wiadomość wysłana przez: Elwis w Luty 16, 2008, 11:25:13
Język bardzo fajny. Duże możliwości. Używam go w moim małym projekciku. Puki co jeszcze nie wyszedłem z konsoli, więc jest raj. Zobaczymy co będzie potem, choć myślę, jakoś sobie poradzę, w końcu mogę użyć bibliotek C
Tytuł: Odp: Język D
Wiadomość wysłana przez: RageX w Luty 16, 2008, 14:50:17
A jak tak patrzę że ten D to odpowiedź na Javke i C#, czyli żadna rewolucja. Teraz jak się uczyć czegoś nowego to jakiegoś dynamicznego języka. Najlepiej żeby się dawał interpretować i mozliwie kompilowac na wezwanie. Sam na czekam na jeszcze taki który będzie się poruszał między wszystkimi warstwami abstrakcji, będzie dawał manipulować każdą w wygodny sposób (np. opcode'y wyrażane funkcjami i enumami) dynamicznie . Ale to takie małe marzenie, idea na przyszłość. :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Luty 16, 2008, 16:03:44
Bo to zadna rewolucja nie miala byc. Wlasnie ewolucja C++, ale w nieco innym kierunku niz ten w ktory poszly C# i Java.
Tytuł: Odp: Język D
Wiadomość wysłana przez: RageX w Luty 16, 2008, 16:43:29
Z tego co wyczytałem to cała różnica od wyżej wymienionych to to, że nie ma wsparcia żadnej korporacji.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Elwis w Luty 16, 2008, 17:05:30
Ja myślę, że to jednak rewolucja. C#, czy Java ma programowanie kontraktowe? Jest sporo fajnych rzeczy, których zdaje się w nich nie ma.
Poza tym D daje się interpretować, bądź uruchamiać w czasie kompilacji.
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Luty 16, 2008, 18:32:20
Z tego co wyczytałem to cała różnica od wyżej wymienionych to to, że nie ma wsparcia żadnej korporacji.

Przede wszystkim jest kompilowany do kodu maszynowego, pozwala na niskopoziomowe konstrukcje zwiazane ze wskaznikami, posiada wbudowany inline assembler a garbage collector nie stanowi czesci jezyka a czesc biblioteki standardowej, przez co mozna go po prostu wylaczyc. Wydaje mi sie ze ten jezyk posiada duzo wieksze mozlwosci niz Java czy C#, ktore sa przywiazane do swojej maszyny wirtualnej i bez niej nie moga nic... Szcegolnie dla programisty gier.

Interpretacja czy uruchamianie w czasie kompilacji jest zwiazane z tym ze kompilacja jest bardzo szybka, przez co proste programy mozna po prostu kompilowac przy uruchomieniu, co daje wrazenie ze jezyk dziala jak zwykly skrypt.
Tytuł: Odp: Język D
Wiadomość wysłana przez: yfan w Luty 17, 2008, 14:52:47
W języku D pisane są projekty Kenty Cho, genialnego twórcy shótem-apów. Chyba niezbyt ma sie do działu językoznawstwa, ale dla mnie jest jak znaczek jakości.

http://www.asahi-net.or.jp/~cs8k-cyu/windows/tf_e.html Tumiki Fighters są świetne :), choć ja grywam na padzie i myślę, że na myszy mogą sporo stracić. Nie mniej odsyłam! Rozsiewam!
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Luty 17, 2008, 21:11:52
W języku D pisane są projekty Kenty Cho, genialnego twórcy shótem-apów. Chyba niezbyt ma sie do działu językoznawstwa, ale dla mnie jest jak znaczek jakości.
O, to ten gość od rRootage? Nie wiedziałem, że robi tych gier takie ilości... Gameplay mnie nigdy nie szokował, ale grafikę robi pierwszorzędną - dokładnie taki styl jaki lubię. Wydajność też bez zarzutu, nawet przy takiej kosmicznej liczbie pocisków... Może jednak warto byłoby się tym D zainteresować? ;)
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Luty 18, 2008, 01:00:13
Warto ;)

Jezeli juz mowa o linkach, juz go tutaj dawalem ale jakos nikt nie zwrocil uwagi ;) A moim zdaniem JEST na co zwrocic uwage:

http://deadlock.team0xf.com/index.php

Projekt FPS,a w calosci napisanego w D, lacznie z silnikiem. Przez studentow z Uniwersystetu Warszawskiego......
Tytuł: Odp: Język D
Wiadomość wysłana przez: xallor w Luty 18, 2008, 01:24:05
Warto ;)

Jezeli juz mowa o linkach, juz go tutaj dawalem ale jakos nikt nie zwrocil uwagi ;) A moim zdaniem JEST na co zwrocic uwage:

http://deadlock.team0xf.com/index.php

Projekt FPS,a w calosci napisanego w D, lacznie z silnikiem. Przez studentow z Uniwersystetu Warszawskiego......
Raczej Uniwersytetu Toruńskiego UMK.
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Luty 18, 2008, 02:12:58
Jezeli tak to sory... w sumie nie wiem dlaczego tak napisalem :| Za pozno juz ;) Ide spac ;]
Tytuł: Odp: Język D
Wiadomość wysłana przez: Reg w Luty 18, 2008, 10:57:06
Hej, mam pytanie do tych którzy zajęli się dokładniej językiem D:
Jak tam jest z używaniem bibliotek posiadających interfejs C, takich jak Zlib?
Czy można użyć DirectX-a?
Tytuł: Odp: Język D
Wiadomość wysłana przez: Elwis w Luty 18, 2008, 11:04:44
Używanie bibliotek z interfejsem C jest nieco utrudnione, aczkolwiek możliwe( D posiada tryb zgodności z C i na dodatek jest przydatne narzędzie do zmiany plików nagłówkowych *.h w pliki źródłowe *.d zawierające zawarte w nich informacje.
Co do DirectX nie mam pojęcia, nie śledzę wsparcia Małego Miękkiego ;)
Tytuł: Odp: Język D
Wiadomość wysłana przez: Xion w Luty 18, 2008, 11:37:34
Jak twierdzi Wikipedia, D może obsługiwać obiekty COM, więc od tego do DirectX-a jeden krok :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: mINA87 w Luty 18, 2008, 11:50:15
Mnie się spodobało to, że w języku D można w szablonach operować sobie normalnie na stringach :)
Widzicie jakie to stwarza możliwości? Hashowanie w czasie kompilacji (np. mamy kontener typu mapa, w trybie debug do kontenera lecą stringi, w release hashe), różne operacje na stringach w compile time itp. Ponadto łatwo tam zrealizować warstwę refleksji.
Z jednej strony reprezentuję postawę C++ jihad, z drugiej mam coraz większą ochotę na zabawę tym językiem... 
Tytuł: Odp: Język D
Wiadomość wysłana przez: freakpp w Luty 18, 2008, 12:31:22
Hey, dud3s:
tu (http://www.prowiki.org/wiki4d/wiki.cgi?LanguagesVersusD) jest fajne porównanie D z innymi językami. Wypisane są różne ficzery i określone jest (nie)posiadanie ich przez różne języki (ex. C, C++, C-szarp, Java, Delphi, Pajton itp.). Jak widać na załączonym obrazku: "D żondźi!11!". Others sux. :D

++:
tu (http://www.digitalmars.com/d/2.0/comparison.html), na oficjalnym sajcie jest też coś w tym stylu: wypisane ficzery D i trochę opisu. O.
Tytuł: Odp: Język D
Wiadomość wysłana przez: RageX w Luty 18, 2008, 14:59:03
Tak patrzę na porównanie... no i niestety. D jest mocno statyczny. W porównaniu do CLR w tej dziedzinie - strasznie przegrywa. Jeśli ktoś nie zna Javy ani C# to można się na D rzucić. W innym przypadku to marnowanie czasu moim zdaniem.
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Luty 18, 2008, 16:52:56
Jezeli ktos chce jezyk dynamiczny to sie rzuca na Pythona i Ruby a nie na C# czy Jave moim zdaniem...

D nie mial byc jezykiem dynamicznym i taki nie jest. W zalozeniach nie jest tez jezykiem do tych samych zastosowan co Java czy C#.... Nie jest dla nich bezposrednim konkurentem, jest nim raczej dla C++ i C.
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Kwiecień 13, 2008, 10:24:48
Jakos niedawno wyszla ksiazka ( jedna z pierwszych jezeli nie pierwsza ) o jezyku D, wprawdzie po angielsku, ale to chyba zrozumiale ;) Ciekawe czy ktos ja kiedys wyda w Polsce.

http://www.amazon.com/gp/product/1590599608?ie=UTF8&tag=classicempire&linkCode=as2&camp=1789&creative=9325&creativeASIN=1590599608 (http://www.amazon.com/gp/product/1590599608?ie=UTF8&tag=classicempire&linkCode=as2&camp=1789&creative=9325&creativeASIN=1590599608)

Ksiazka nie jest do nauki programowania od podstaw, pokazuje zwiezle elementy jezyka D i opisuje biblioteke standardowa Tango ( ta od community ). Zawsze cos lepszego niz surowa specyfikacja jezyka ;) ( ktora tez nie jest taka zla )
Tytuł: Odp: Język D
Wiadomość wysłana przez: h3r3tic w Kwiecień 14, 2008, 23:19:59
... A jesli ktos studiuje na WMiI UMK w Toruniu to moze sobie te ksiazke wypozyczyc z biblioteki i zapisac sie na wyklad+laby z D ^^
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Kwiecień 16, 2008, 14:11:13
Hm, a to czasem nie wasz team pisze tego FPS w D ? :]

Bo ogladalem i filmik i zdjecia i naprawde dobra robota...
Tytuł: Odp: Język D
Wiadomość wysłana przez: Elwis w Kwiecień 16, 2008, 14:39:57
Ja piszę interfejs dla SDL pod D :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: h3r3tic w Kwiecień 16, 2008, 15:14:36
vashpan: Dzieki :D Faktycznie, nasz team. Upolowalem ten watek i przy okazji postanowilem przypomniec sobie o warsztacie/gamedev.pl ::)
Generalnie u siebie na uni propagujemy D ile sie da. Prowadzilismy tez warsztaty D, z ktorych materialy mozna obejrzec pod adresem: http://workshop.team0xf.com/index.php?n=Main.Zajecia
Obecnie przy pisaniu samej gierki mamy troche przerwe z powodu natloku roboty na uni, ale np magisterki bedziemy pisali pod katem integracji z enginem (system renderingu, animacji, particli) :)

Elwis: Jesli jakis interfejs wysokiego poziomu, to spoko. Jesli wrapper niskiego, to obawiam sie ze niepotrzebnie, gdyz jest np Derelict.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Elwis w Kwiecień 16, 2008, 15:17:34
Oczywiście, że wysokiego. Co do Derelicta, IMHO trochę ssie, bo nawet porządnego skryptu instalacyjnego nie ma :/
Tytuł: Odp: Język D
Wiadomość wysłana przez: h3r3tic w Kwiecień 16, 2008, 15:22:58
Fakt... Ja zazwyczaj wyrywam pokatalogi 'derelict' z katalogow DerelictGL, DerelictAL, ..., wrzucam do katalogu swojego projektu, a pozniej juz Rebuild / Bu[il]d robi swoje. Byc moze ten (juz troche podstarzaly) tekst bedzie pomocny: http://dmedia.dprogramming.com/?n=Tutorials.SdlGlTutorial1
Tytuł: Odp: Język D
Wiadomość wysłana przez: Elwis w Kwiecień 16, 2008, 16:25:33
Nie trzeba. Wystarczy zwykły kurs SDLa, przepisać parę nagłówków to żaden problem, a chyba przytym nieco bardziej oszczędny
Tytuł: Odp: Język D
Wiadomość wysłana przez: h3r3tic w Kwiecień 16, 2008, 18:11:44
Nie sugerowalem ze potrzebny bedzie kurs obslugi SDL'a ;) Po prostu tam w tutorialu napisalem jak ja zawsze instaluje i uzywam Derelicta. Jesli nie do SDL'a, to Derelict moze przydac sie np do FreeType.
BTW, czemu kolegow piszacych w D nie ma na #d na freenode? Jeszcze troche Polakow to przejmiemy ten kanal :P
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Kwiecień 16, 2008, 19:25:06
Mnie nie ma na zadnym kanale ;), ale warto wiedziec i pewnie sie zglosze bo powolutku zaczynam pisac maly hobbystyczny systemik operacyjny w D ( lepiej jednak przy takim projekcie nie zapeszac ), i tutaj problemow moze byc nieco.

Hmm... ja z Derelict nie mialem wiekszych problemow, ale rzeczywiscie troche jest rozbuchany. Jak napiszesz juz prosty wrapper to tez go pokaz, bo mi nigdy sie nie chcialo przepisywac tych naglowkow ;)
Tytuł: Odp: Język D
Wiadomość wysłana przez: h3r3tic w Kwiecień 16, 2008, 19:32:25
Aha, jeszcze jedno. jesli ktos korzysta z DSSS, Derelicta mozna zainstalowac komenda "dsss net install derelict". Osobiscie go nie uzywam, ale np w Defend'zie (RTS w D) zdaje sie dzialac.
PS. Powodzenia z tym OS'em vashpan :P
Tytuł: Odp: Język D
Wiadomość wysłana przez: JCoder w Kwiecień 17, 2008, 13:09:52
1. Brakuje dynamicznego ładowania klas/modułów. Czyli podobnie jak C++ do aplikacji korporacyjnych nadaje się słabo (nie da się np. napisać kontenera IoC). Podobnie realizacja pluginów jest mocno utrudniona.

2. GC, które jest tylko opcjonalnym dodatkiem do języka natywnie kompilowanego nigdy nie będzie tak wydajne jak GC maszyny wirtualnej. W C++ też mogę mieć podobne GC poprzez doinstalowanie odp. bibliotek np. BDW. Dodatkowo umożliwienie programistom uzywania delete ręcznie powoduje całą masę potencjalnych błędów znanych z C++. Czyli połowa efektu GC idzie na marne - zostaje jedynie ochrona przed przeciekami.

3. Javę też można kompilować natywnie przez GCJ (kiepskie bo kiepskie, ale czasem działa) lub JET (dobre, ale płatne).

4. Design by contract - nie ma żadnego problemu by dodać to w Javie/C# i są duże szanse, że w którejś wersji będzie. Na razie są zwykłe asercje.

5. Brak jakiejkolwiek ochrony przed buffer overflow, off by one itp. Do aplikacji sieciowych teoretycznie odpada.

Ogólnie dla mnie nie jest to jakaś nowa jakość. Dlatego raczej ma małe szanse na szerszą adopcję. Moim zdaniem w biznesie nie ma szans z Javą i C#, w grach na razie z C i C++, w aplikacjach webowych z Javą, PHP, Ruby, w AI z LISPem i Prologiem, a w obliczeniach numerycznych z C, C++, Fortranem i (ostatnio) Javą. Żeby sie przebić musi być w jakiejś dziedzinie świetne lub bardzo oryginalne.
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Kwiecień 17, 2008, 18:47:23
@JCoder: < twoja propaganda nawet tutaj dotarla ? ;) >

1. To jezyk kompilowalny wiec z zalozenia nie moze byc czegos takiego. Zreszta nie rozumiem do konca tego o co ci dokladnie chodzi :)

2. Czy swoje twierdzenie opierasz na jakichs testach ? Owszem w C++ mozna tak miec, ale tutaj masz "od zaraz". Jaka masa bledow powstaje w wyniku uzywania delete ? Ja widze tutaj tylko plusy - GC jest ale nieobowizakowy ( bo GC to nie jest idealne rozwiazanie "na zawsze" ), mamy wieksza kontrole nad pamiecia... W Javie wykonuje sie jakies akrobacje zeby zoptymalizowac GC, wywolywac trzeba specjalne metody zwalniajace "nie pamieciowe" metody... Nigdy nie wiesz co sie gdzie znajduje. W programowniu systemowym, do czego tworzony byl D, te rzeczy sa istotne.

4. Moze bedzie ale narazie nie ma... Nie ma w Javie tez wbudowanych unittestow - w D piszesz w module: unittest { <testy> }, albo w klasie: invariant { <testy> }  i po klopocie -> niebo a ziemia w porownaniu z JUnit. Programowanie kontraktowe naprawde daje duze mozliwosci kontroli jakosci oprogramowania.

5. Jezyk D nie byl tworzony z mysla o zastosowaniach sieciowych.

Nowosc jest w tym sensie ze to narazie jedyny kompilowalny i tak wydajny jezyk posiadajacy nowoczesna skladnie i metodyke, bioracy to co najlepsze z C++ i wygode programowania z Javy i C#.  W zalozeniu ma byc konkurencja dla C i C++, Jave rowniez moze wygryzc z niektorych zastosowan... Nadawalby tez sie doskonale do RAD, ale to potrzeba powaznej firmy ktora by stworzyla odpowiednie srodowisko. Znaczacym plusem w porownaniu do C++ jest tez czas kompilacji - o rzedy szybszy niz porownalnej ilosci kodu C++, mniej wiecej na poziomie Javy czy C#

@h3r3tic:

Tak z ciekowosci - Uzywacie jakiegos IDE do swojego projektu ? Czy tak na waleta lecicie ? Bo jak narazie, poki Descent sie nie ustabilizuje nie ma za duzo opcji i to mnie najbardziej boli :(
Tytuł: Odp: Język D
Wiadomość wysłana przez: Elwis w Kwiecień 17, 2008, 19:21:04
Tak z ciekowosci - Uzywacie jakiegos IDE do swojego projektu ? Czy tak na waleta lecicie ? Bo jak narazie, poki Descent sie nie ustabilizuje nie ma za duzo opcji i to mnie najbardziej boli :(
Ja używam Vima ;)
Tytuł: Odp: Język D
Wiadomość wysłana przez: h3r3tic w Kwiecień 17, 2008, 19:33:14
JCoder:
1. Nie calkiem. Mozna to zrobic jako lib. Na windowsy jest DDL (to nie typo), na linuxy Rodin. W Deadlocku uzywalismy DDL'a do automatycznego przegladania pluginow pod katem klas implementujacych odpowiednie interfejsy; pozniej tworzone byly ich instancje, integrowane dalej z reszta engine'u.
2. Faktycznie, obecny GC w Tango / Phobos jest wolny w porownaniu do np. Javy ale nie ma to nic wspolnego z byciem zintegrowanym z jezykiem lub nie. (Bardziej np z obecnoscia unii w jezyku) GC w D jest czescia runtime'a, aby mozna bylo podmienic go na bardziej odpowiedni. Semantyka niektorych elementow jezyka zalezy od GC - np dynamiczne tablice - slicing / konkatenacja.
delete jest dla ludzi ktorzy wiedza co robia, jego istnienie w jezyku jest jak najbardziej plusem. W przeciwienstwie np. do Javy, D nie zaklada ze programista jest debilem.
3. Mozna Jave skompilowac do kodu natywnego... ale wymagania pamieciowe sa straszne a np. genericsy zwalniaja kod zamiast go potencjalnie przyspieszac, jak w wypadku szablonow.
4. Wiec co za problem? Moze w C# / Javie bedzie, ok. Ale w D jest od dawna.
5. Array bounds checking

Anyway, nie rozumiem na czym polega wymienienie kilku losowych cech jezyka / bibliotek, podanie watpliwej jakosci interpretacji i opinii, a w rezultacie skomentowanie ze to nic nowego. Prawde rzecz biorac, od czasow Lispa nie ma wiele nowego w swiecie jezykow programowania...
Co do dalszych zarzutow, wg mnie D swietnie nadaje sie do pisania gier. Byc moze toolchain nie jest obecnie na wysokim poziomie, ale mix wydajnosci kodu wynikowego, ekspresywnosci jezyka, szybkosci kompilacji i latwosci debuggowania czynia D dobrym kandydatem do szerokich zastosowan wsrod 'systems programming'.

vashpan:
Ja uzywam Entice; kumple - Entice, Visual Studio i Vima. Jak ostatnio bawilem sie Descentem, bardzo mi sie nie podobal :S
Tytuł: Odp: Język D
Wiadomość wysłana przez: JCoder w Kwiecień 18, 2008, 13:13:09
JCoder:
1. Nie calkiem. Mozna to zrobic jako lib. Na windowsy jest DDL (to nie typo), na linuxy Rodin. W Deadlocku uzywalismy DDL'a do automatycznego przegladania pluginow pod katem klas implementujacych odpowiednie interfejsy; pozniej tworzone byly ich instancje, integrowane dalej z reszta engine'u.

Na tej zasadzie Java ma Design by Contract. Np. contract4j. Ale to nie to samo, co wsparcie ze strony języka.

Cytuj
2. delete jest dla ludzi ktorzy wiedza co robia, jego istnienie w jezyku jest jak najbardziej plusem. W przeciwienstwie np. do Javy, D nie zaklada ze programista jest debilem.
Znam dobrych programistow, ktorzy stracili całe dni na szukanie błędu spowodowanego delete na UŻYWANYM obiekcie. Może w programie na 100 linii tego typu błąd jest świadectwem debilizmu. Ale w programie na 2 mln linii kodu pisanym przez 10 osób przez 2 lata naprawdę wszystko może się zdarzyć i wtedy dodatkowa ochrona jest błogosławieństwem. Dlatego kontrakty są właśnie bardzo dobrą rzeczą w D :)

5. Ok, czyli częściowa jakaś ochrona jest. Ale gwarancji takiej jak w Java/C# nie ma.

Cytuj
Anyway, nie rozumiem na czym polega wymienienie kilku losowych cech jezyka / bibliotek, podanie watpliwej jakosci interpretacji i opinii, a w rezultacie skomentowanie ze to nic nowego. Prawde rzecz biorac, od czasow L
Ot, po prostu nie robi na mnie wrażenia. Na pewno fajnie, że jest takie ulepszone C++. Jestem jednak sceptyczny odnośnie szerszej adopcji. Może zajmie jakieś nisze. W każdym razie nie jest to "następna duża rzecz" tak jak C było po assemblerach, C++ po C i Java/C# po C++. Zauważ, że każda następna technologia wprowadzała istotne zmiany  w sposobie kodowania projektów. C dało przenośność kodu źródłowego, C++ dało możliwość programowania obiektowego i generycznego przy zachowaniu dużej wydajności, Java dała przenośność kodu wykonywalnego przy dostatecznie dużej wydajności.

Tytuł: Odp: Język D
Wiadomość wysłana przez: h3r3tic w Kwiecień 18, 2008, 14:59:45
Cytuj
Może w programie na 100 linii tego typu błąd jest świadectwem debilizmu. Ale w programie na 2 mln linii kodu pisanym przez 10 osób przez 2 lata naprawdę wszystko może się zdarzyć i wtedy dodatkowa ochrona jest błogosławieństwem.
Pewnie. Wtedy nie blad, lecz samo uzycie delete moze byc swiadectwem debilizmu ;) Jednak z drugiej strony brak mozliwosci recznego zarzadzania pamiecia powodowal by koszmary programistow aplikacji real-time. Sam fakt istnienia pewnego feature'a w jezyku nie zmusza programisty do jego uzycia.

Cytuj
W każdym razie nie jest to "następna duża rzecz" tak jak C było po assemblerach, C++ po C i Java/C# po C++. Zauważ, że każda następna technologia wprowadzała istotne zmiany  w sposobie kodowania projektów. C dało przenośność kodu źródłowego, C++ dało możliwość programowania obiektowego i generycznego przy zachowaniu dużej wydajności, Java dała przenośność kodu wykonywalnego przy dostatecznie dużej wydajności.
Zgodze sie, ze D nie wydaje sie miec zadnego "killer feature". Faktycznie nowi programisci D mowia ze po przejsciu na D nie musieli uczyc sie wielu nowych podejsc, jezyk wydawal sie zblizony do C++. Jednak gdy ci sami ludzie proboja po jakims czasie znow napisac cos w C++, mozna zaobserwowac roznego rodzaju zalamania psychiczne ;) Najczesiej brakuje delegatek, array slice'ingu, foreach'a, GC, krotkich czasow kompilacji oraz prostego w uzyciu systemu meta-programowania.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Kwiecień 19, 2008, 15:40:08
Code::Blocks obsługuje GDC.
Tytuł: Odp: Język D
Wiadomość wysłana przez: nameczanin w Kwiecień 20, 2008, 15:11:41
Code::Blocks obsługuje GDC.

A także oficjalne DMD.

A co z bibliotekami? Ma ktoś jakieś info na temat dystrybuowania lib'ów? Chodzi mi o to, czy można zrobić tak jak w C++: mamy bibliotekę (plik .lib w static albo dodatkowo z DLL) oraz zero kodu źródłowego prócz headerów.

Z tego co doczytałem, to opcja -H w DMD tworzy interface'y. Na stronie oficjalnej pisze, że są podobne do headerów, ale nie są do tych samych zastosowań. Teraz nie bardzo wiem jak to rozumieć.

Da się stwarzać te lib'y w D tak jak w C? (Swoją drogą, jest jeszcze problem outputu OMF / COFF)


EDIT:
Gdzieś wyczytałem, że jedną z cech języka D jest to, iż nie zawiera samych deklaracji funkcji, zawsze od razu definicje. Dlatego też ma powyższe pytanie. Sprawdziłem jednak tą opcje -H, która "generate `header` file". Otworzyłem plik wynikowy, a tam nawet funkcja main jest przepisana tak jak była.

Jeśli dobrze rozumiem, to ten język nadaje się tylko do pisania gotowych aplikacji i bibliotek w Open Source?
Tytuł: Odp: Język D
Wiadomość wysłana przez: krajek w Kwiecień 20, 2008, 16:09:22
Da się stwarzać te lib'y w D tak jak w C?
http://www.digitalmars.com/d/2.0/dll.html (http://www.digitalmars.com/d/2.0/dll.html) O to chodzi?
Tytuł: Odp: Język D
Wiadomość wysłana przez: nameczanin w Kwiecień 20, 2008, 16:18:52
Mniej więcej tak :P Byłem tutaj i obczytałem. Nie do końca o to mi chodziło. Chodzi mi wyłącznie o te headery.

EDIT:
Kurcze, fakt. Nie doczytałem tego wcześniej. Wystarczy instrukcja export. Wtedy można stworzyć deklarację funkcji.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Marzec 29, 2009, 12:55:25
D z sukcesem wkracza na demoscenę:

http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.bugs&article_id=16493 :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Maj 14, 2009, 13:02:21
Znalazłem fajną prezentację jako wprowadzenie do D – całkiem treściwa. Jeśli ktoś chce "obejrzeć sobie" najistotniejsze ficzery języka i tooli na szybko, to w sam raz. :)

http://peter.modzelewski.googlepages.com/dprogramminglanguage
http://peter.modzelewski.googlepages.com/wyk1.pdf
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Maj 23, 2009, 22:41:33
Odgrzeję jeszcze raz kotleta i z radością zaanonsuję, że wyszła nowa wersja Descenta , oznaczona jako 0.5.5. Naprawdę fajne z tego już jest IDE :-).

Info:
http://www.dsource.org/projects/descent/
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Maj 24, 2009, 12:13:05
Przydalaby sie jakas lista zmian :)

Poza tym z niecierpliwoscia czekam na system budowania. Owszem mozna podlaczyc jakies zewnetrzne narzedzie ale to nie to samo... :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Maj 24, 2009, 12:15:38
Osobiście liczę bardziej na lepszą integrację z zewnętrznym narzędziem, bo nie lubię systemów budowania zintegrowanych betonowo z IDE. :) Zwłaszcza, że DSSS sprawdza się naprawdę nieźle.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Yarek w Maj 24, 2009, 12:49:25
A ja czekam na paczkę: IDE + kompilator + system budowania + biblioteki i wszystko instalowane  przez 2 kliknięcia myszą :/
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Maj 24, 2009, 13:40:35
A ja czekam na paczkę: IDE + kompilator + system budowania + biblioteki i wszystko instalowane  przez 2 kliknięcia myszą :/

Oczywiscie to byla ironia ? :)

Ja osobiscie moge bez problemu pisac w D i z dziesiejszymi narzedziami... Aczkolwiek IMO dla nowoczesnego jezyka kilka podstawowych funkcjonalnosci jest niezbedne: edytor+podpowiadanie skladni"+system budowania+debugger. D to wszystko posiada, tylko ze porozrzucane i rozdrobnione na wiele roznych narzedzi... Brak czegos spojnego. IMO Descent moze sie w cos takiego zmienic...

Osobiście liczę bardziej na lepszą integrację z zewnętrznym narzędziem, bo nie lubię systemów budowania zintegrowanych betonowo z IDE. :) Zwłaszcza, że DSSS sprawdza się naprawdę nieźle.

Hmm, musze w takim razie sie jeszcze raz jemu przyjrzec bo mi jakos nie przypadl do gustu :) Nie lubie idei idacej za tym systemem :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Maj 24, 2009, 13:46:23
Nie wiem, jaka idzie za nim idea (fakt, że Scons, do którego przywykłem, miał troszkę inny sposób na configi), ale wg mnie sprawdza się całkiem nieźle. Choć nie zdążyłem go jeszcze wypróbować na dłuższą metę :).
Tytuł: Odp: Język D
Wiadomość wysłana przez: Sabre w Czerwiec 10, 2009, 15:07:08
D to zdecydowanie najlepszy język z tych, w których nikt  nie programuje :-P To nie jest krytyka - to fakt. Ten jezyk naprawde ma wszystko - z wyjatkim wsparcia jakiejs korporacji. Wiem jak to brzmi, ale bez tego D pozostanie tym, czym jest teraz - ciekawostka. A byłaby to duża strata - to naprawde wspanialy jezyk z potencjalem.
Tytuł: Odp: Język D
Wiadomość wysłana przez: JCoder w Czerwiec 12, 2009, 23:36:39
Problem w tym, że wcale nie ma wszystkiego. C# czy Scala mają dużo więcej fajnych rzeczy w języku. Np. dynamiczne ładowanie klas. Zresztą jest multum innych języków, które są dużo ciekawsze niż D (D to takie pomieszanie Javy, C# i C++), np. Ruby i Python. :P
Tytuł: Odp: Język D
Wiadomość wysłana przez: Dab w Czerwiec 13, 2009, 01:10:18
Ale jako jedyny z wymienionych kompiluje się do natywnego kodu, więc bez flejmu, ok? :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Czerwiec 13, 2009, 13:52:42
Problem w tym, że wcale nie ma wszystkiego. C# czy Scala mają dużo więcej fajnych rzeczy w języku. Np. dynamiczne ładowanie klas. Zresztą jest multum innych języków, które są dużo ciekawsze niż D (D to takie pomieszanie Javy, C# i C++), np. Ruby i Python. :P

Dynamiczne ladowanie klas to raczej nie jest "feature" jezyka a korzysc z maszyny wirtualnej i glownej specyfikacji C# na CLR. AFAIK w specyfikacji C# nie ma nic o jakims ladowaniu klas. Aczkolwiek moge sie mylic :) Poza tym C# moze byc kompilowany do natywnego kodu ( w zasadzie ;) ) ( system Singularity i kompilator Bartok )
Tytuł: Odp: Język D
Wiadomość wysłana przez: JCoder w Czerwiec 13, 2009, 14:55:33
Python też może być kompilowany do kodu natywnego - Jython -> klasy JVM -> Excelsior JET lub GCJ -> natywne binarki.
Trochę karkołomne, ale powinno się udać :) .NET IronPython podobnie.


Śmieszne jest to, że się niektórzy tak podniecają "statyczną kompilacją do kodu natywnego" bo to naprawdę nie ona odpowiada za wysoką wydajność. Jak napiszesz program w D korzystający ze wszystkich super udogodnień D, jak np. GC, czy kontrakty, to mimo całej kompilacji do kodu natywnego, wydajność będzie gorsza niż dobrych VMów. Oczywiście w grach tego się nie będzie używać bo programistów będzie bolał każdy tracony % wydajności. Chcę użyć GC i innych udogodnień zwiększających stabilność i ułatwiających poprawianie błędów, wezmę Javę lub C#. Nie chcę GC, napiszę program niskopoziomowo w C lub C++, bo to już znam i ma dobre wsparcie. Na D jest tu trochę mało miejsca.
Tytuł: Odp: Język D
Wiadomość wysłana przez: nameczanin w Czerwiec 13, 2009, 15:30:41
Cytat: JCoder
Śmieszne jest to, że się niektórzy tak podniecają "statyczną kompilacją do kodu natywnego" bo to naprawdę nie ona odpowiada za wysoką wydajność.
Obawiam się, że to nie tylko o wydajność chodzi. Wiele szarych userów ma wiele przeciwko jeżeli musi instalować .NET Framework czy Java Runtime Environment. "A na co mi to?!" <--- częste.

Zresztą, z DirectX nie było inaczej. Ale producenci gier dołączali go na swoje płytki i sam się instalował jak go nie było. Takie coś powino być i tutaj.


Cytat: JCoder
Jak napiszesz program w D korzystający ze wszystkich super udogodnień D, jak np. GC, czy kontrakty, to mimo całej kompilacji do kodu natywnego, wydajność będzie gorsza niż dobrych VMów.
Yyyyyyy? Nie wiem czy nie zauważyłeś że ten kod jest kompilowany do statycznych instrukcji i wykonują się tylko one, są z góry założone. W ten sposób feature'y języka nie mają żadnego znaczenia. Co do GC -> wiele gier (także właśnie pisanych w C++!) używa czegoś takiego jak menadżery zasobów i to praktycznie to samo jest... Także nie wiem skąd Twój pogląd, że natywne progsy D mają być takie słabe. Nie uważam, że Java jest wolna, ale nie potwierdzam, że D musi być wolny - bo nie musi jak Ty to uważasz.


Cytat: JCoder
Oczywiście w grach tego się nie będzie używać bo programistów będzie bolał każdy tracony % wydajności.
W grach właśnie się to przydaje baaardzo. Masz coś bardzo przeciwko, widzę, temu, że D ma opcjonalny GC.

Cytat: JCoder
Chcę użyć GC i innych udogodnień zwiększających stabilność i ułatwiających poprawianie błędów, wezmę Javę lub C#. Nie chcę GC, napiszę program niskopoziomowo w C lub C++, bo to już znam i ma dobre wsparcie
Kurcze, wybierasz języki do swoich programów kategorią "czy ma GC"? Słusznie, ale jeżeli to jest Twój główny aspekt wyboru...


Cytat: JCoder
Na D jest tu trochę mało miejsca.
Jeżeli "miejsce" jest metaforą użyteczności, to D ma tutaj szerokie miejsce. Argumenty - myślę - powyżej.
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Czerwiec 13, 2009, 18:23:44
Wbrew pozorom wlasnie kompilacja statyczna odpowiada za wydajnosc.

Wielu ludzi mowilo ze kompilacja JIT jest/bedzie lepsza i potencjalnie moze generowac wydajniejszy kod, jednakze, bazujac na empirycznym doswiadczeniu i paru swoich eksperymentach - to grube nagiecie faktow, owszem metody sa kompilowane do kodu maszynowego, ale jest on gorszy niz kod skompilowany statycznie. Proste programy w C#, w calosci skompilowane do kodu maszynowego, czy to przez ngen'a czy nie, maja po prostu gorszy kod i gorsze optymalizacje, co mnie niezmiernie zdziwilo. A do tego dochodzi jednak narzut VM, bo co by nie bylo - on istnieje, glownie pamieciowy, ale wydajnosciowy takze ( poprzez rozne sprawdzania ) GC to akurat najmniejszy pikus.


Co do jezyka D: kontrakty w ogole nie sa kompilowane w wersji release ( jezeli nie powiemy inaczej ), podobnie jak rozne sprawdzanie runtime, jak chociazby kontrola rozmiaru tablic. GC jak bylo wspomniane mozna wylaczyc/usunac/napisac swoj - bo jest czescia biblioteki standardowej. D nie ma tez zadnego runtime' u oprocz standardowej biblioteki ( podobnie jak C++ )  Z innych "super udogodnien" pozostaja te zwiazane ze skladnia samego jezyka, gdzie narzutu nie ma wcale. Jednakze trzeba przyznac ze GC w D nie grzeszy wydajnoscia i jest wolniejszy od tych z Javy i C#, glownie dlatego ze nie jest na VM, nie takiej kontroli nad srodowiskiem. Na pewno jest to wada.

Jeszcze co do wydajnosci to warto podkreslic ze kompilatory Digital Mars na pewno nie optymalizuja kodu tak dobrze jak GCC czy MSVCP... Aczkolwiek nawet pomimo tego, jezyk D nie odstaje za bardzo od tego samego kodu napisanego w C++
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Czerwiec 13, 2009, 18:25:54
A co mają "ficzery językowe typu kontrakty" do wydajności? Kompilujesz release, wyłączasz asserty, nie ma tematu. Unit testy też są złe, bo "długo trwają i spowalniają program"? :)

Cytuj
Obawiam się, że to nie tylko o wydajność chodzi. Wiele szarych userów ma wiele przeciwko jeżeli musi instalować .NET Framework czy Java Runtime Environment. "A na co mi to?!" <--- częste.

Zresztą, z DirectX nie było inaczej. Ale producenci gier dołączali go na swoje płytki i sam się instalował jak go nie było. Takie coś powino być i tutaj.
Trafna uwaga. To "i tutaj", które wspominasz, AFAICR jest rozwiązane przez np. Java Web Start. Natomiast jeśli chodzi o takie rzeczy jak redisty VS, których brak wyrzuca nic nieznaczący błąd, lub .NET (j.w., tylko błąd bardziej treściwy), to zgadzam się z Tobą. Duże niedopatrzenie ze strony MS, że o to nie zadbali.



@topic: Sam widzę D jako "język podobny do C++ z fajniejszą składnią, bardziej dzisiejszym podejściem do wielu problemów oraz systemem szablonów z kosmosu".
System szablonów z kosmosu = dużo zabawy dla metaprogramistów (ktoś zrobił raytracer działający w compile-time), pozostałe dwa = szybsze i wygodniejsze programowanie.
Szybsze i wygodniejsze programowanie = większa produktywność. A czym się powinniśmy sugerować wybierając język pod dany problem, jeśli nie produktywnością, jaką osiągniemy tworząc zadowalające nas rozwiązanie?

Poza tym fajniejsza składnia to w tym przypadku łatwo parsowalna składnia, co też odbija się na toolach. Poczekajcie, aż chłopy od Descenta skończą klepać rewrite dla drzewka składni i będą mogli podpiąć masę fajnego kodu do refactoringu z Javy (kto kodował w Javie pod Eclipse, ten wie). Będziemy wtedy rozmawiać, który język ma lepsze toole, hihi :-)

Ludzie, ten język ma ile... dwa lata? A już jest o nim coraz głośniej, nawet u nas. Dajmy mu rozwinąć skrzydła, kto wie czy za 5-10 lat nie będzie popularny w branży i nie zacznie wypierać C++ jak onegdaj C++ zastąpił C? Według mnie jest na tyle fajny, że w masie zastosowań z pewnością by mógł.


Btw, ostatnio przez parę miesięcy kodowałem po trochu we wszystkim, tylko nie w C++. Gdy się do niego przysiadłem, moje pierwsze wrażenie brzmiało: "Aaa, to był ten dziwny język, w którym trzeba rozdziabywać każdy moduł na dwa osobne pliki, łolaboga!" :)

edit->
Cytuj
Jeszcze co do wydajnosci to warto podkreslic ze kompilatory Digital Mars na pewno nie optymalizuja kodu tak dobrze jak GCC czy MSVCP...
Ale jest przecież rozwijany GDC, który korzysta z dobrodziejstw pakietu gcc, więc nie jest to znowu taki duży problem.
Tytuł: Odp: Język D
Wiadomość wysłana przez: JCoder w Czerwiec 13, 2009, 20:14:26
Cytuj
Wielu ludzi mowilo ze kompilacja JIT jest/bedzie lepsza i potencjalnie moze generowac wydajniejszy kod, jednakze, bazujac na empirycznym doswiadczeniu i paru swoich eksperymentach - to grube nagiecie faktow, owszem metody sa kompilowane do kodu maszynowego, ale jest on gorszy niz kod skompilowany statycznie.

Nie musi być wcale gorszy. Po prostu OBECNE kompilatory HotSpot są jeszcze za młode / słabe. Dobry kompilator HotSpot / JIT jest napisać dużo trudniej niż optymalizator statyczny. Do tego kompilatory C/C++ istnieją o wiele dłużej. VMy nadal przyspieszają z wersji na wersję (patrz np. tu:
http://lingpipe-blog.com/2009/03/30/jdk-7-twice-as-fast-as-jdk-6-for-arrays-and-arithmetic/). Kompilatory C++ stoją w miejscu - tu już nic nowego zrobić się nie da, co najwyżej dostrajać najniższe warstwy do nowych modeli procesorów.

Obecnie HotSpot w wielu przypadkach jest lepszy, tylko równoważone jest to przez dodatkowe sprawdzenia. Zobacz, ile z tych benchmarków testuje proste obliczenia numeryczne na tablicach. W takich benchmarkach kod zarządzany jest od razu na straconej pozycji - tzn. kompilator musi napracować się dużo bardziej niż w przypadku C++ aby wycisnąć tę samą wydajność, bo dochodzi choćby eliminowanie tych sprawdzeń, co się nie zawsze udaje.

Jednak jest też druga strona medalu, której prawie nikt nie benchmarkuje (przynajmniej nie widziałem w sieci) - kwestia pisania kodu modularnego, wielowątkowego. I tutaj już kompilatory C++ mają dużo gorzej - np. nie potrafią tak agresywnie inlineować pomiędzy modułami (w tym funkcji wirtualnych), nie potrafią usuwać nadmiarowych blokad (ostatnio coraz ważniejsze przy procesorach wielordzeniowych), nie potrafią automatycznie przenieść alokacji niektórych obiektów ze sterty na stos. Przy małych benchmarkach to nie jest problem napisać kod tak, aby to nie miało znaczenia (a miały znaczenie rzutowania czy tablice), przy realnych dużych programach, gdzie często korzysta się z prekompilowanych bibliotek i linkowania dynamicznego, już takie rzeczy mogą mieć znaczenie.

A, no i w przypadku języków dynamicznych jak Ruby czy Python napisanie kompilatora statycznego produkującego wydajny kod w ogóle jest niemożliwe. Tutaj VMy to przyszłość.

Wracając do języka D, to na pewno dużym plusem jest pozbycie się tych cholernych plików nagłówkowych. Natomiast cała reszta to kosmetyka, a przy okazji nie można korzystać z bibliotek w C++ (choć "biblioteka w C++" to raczej oksymoron - nie ma ustandaryzowanego ABI, to nie można robić prawdziwych bibliotek, jak w C). Dla mnie remis i nie ma sensu się przenosić. Ale zobaczymy jak to się rozwinie. W końcu C++ też wsparcia korporacyjnego nie miał.
Tytuł: Odp: Język D
Wiadomość wysłana przez: rm-f w Czerwiec 13, 2009, 20:31:00
Kompilatory C++ stoją w miejscu - tu już nic nowego zrobić się nie da, co najwyżej dostrajać najniższe warstwy do nowych modeli procesorów.
Da się, lecz problemem jest to że nie opłaca się tego pisać.
Tytuł: Odp: Język D
Wiadomość wysłana przez: _MtZ_ w Czerwiec 13, 2009, 21:55:58
JCoder ma tu naprawdę sporo racji. Ja w D nie pisałem, ale przeglądałem listę cech tego języka i ogromną większość z nich znajdę w innych językach (tych mających jakieś "plecy" za sobą :) ). Byćmoże D to fajny język. Byćmoże niedoceniany, ale nie wyobrażam sobie aby wyszedł poza ramy "ciekawostki". Jak to ładnie JCoder określił "Na D jest tu trochę mało miejsca." Jeśli miałbym do wyboru 50 najpopularniejszych języków, to D byłoby wysoko, ale napewno za C++, C#, Javą czy Ruby. Jakby to powiedziała moja znajoma: "Szału nie ma" :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Czerwiec 13, 2009, 22:41:06
@JCoder: Kiedys nawet chyba o tym pisalem, ale raz na uczelni znalazlem ksiazke o Javie z 1996 roku i juz tam autor przywidywal swietlana przyszlosc dla kompilacji JIT i ze juz "lada dzien" bedzie szybsza niz kompilacja statyczna. To bylo 13 lat temu... ;) Taka mala ironia moze, ALE:

Ja osobiscie tez chcialbym zeby istniala uniwersalna maszyna wirtualna i mogl pod nia pisac we wszystkich jezykach jakie mi sie zamarza ( CLR i .NET Framework najblizej temu ) i byla wydajniejsza niz skompilowany kod maszynowy. Obysmy tego doczekali :)


_MtZ_ - jeszcze raz: ogromna liste tych cech owszem znajdziesz w innych jezykach, ale D jest kompilowany do kodu maszynowego, tzn. ze mozesz sobie korzystac z tych cech piszac system operacyjny, badz wypasiony silnik do gry ;)

Jak dla mnie to ze D jest uproszczonym skladniowo C++ to juz wystarczajacy powod zeby z C++ powoli rezygnowac. O reszcie napisal Kos... :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: _MtZ_ w Czerwiec 14, 2009, 12:11:18
Ja się kłócić nie będę, bo D nie znam i chciałem żebyście poznali opinię programisty patrzącego z dystansu na ten język.

A co do pisania systemów operacyjnych w C# to polecam ten projekt: http://www.gocosmos.org/index.en.aspx (Jako ciekawostkę :) )

Tytuł: Odp: Język D
Wiadomość wysłana przez: lukaszw w Czerwiec 14, 2009, 15:36:23
https://pl.spoj.pl/problems/PRIME_T/ (https://pl.spoj.pl/problems/PRIME_T/)
D - 0.03s
C++ 0.00s
:D
Tytuł: Odp: Język D
Wiadomość wysłana przez: JCoder w Czerwiec 14, 2009, 22:18:14
A mógłbyś zapodać kod i metodykę testów? Bo inaczej to mało przekonywające jest :D
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Czerwiec 15, 2009, 00:02:05
Ja tam w ogole nie wiem co to mialoby niby oznaczac ?
Tytuł: Odp: Język D
Wiadomość wysłana przez: wine w Czerwiec 15, 2009, 00:05:39
Ja tam w ogole nie wiem co to mialoby niby oznaczac ?
to że według tego kod C++ magicznie nie wykonuje się - w końcu nic nie robienie nie wymaga czasu...
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Czerwiec 15, 2009, 06:24:29
Albo po prostu dziala na tyle szybko ze jest to mniej niz dokladnosc tego tam timera :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: wine w Czerwiec 15, 2009, 09:34:48
Albo po prostu dziala na tyle szybko ze jest to mniej niz dokladnosc tego tam timera :)
psujesz teorię spiskową ;)
Tytuł: Odp: Język D
Wiadomość wysłana przez: lukaszw w Czerwiec 15, 2009, 19:24:06
Ja tam w ogole nie wiem co to mialoby niby oznaczac ?
To, że nie udaje mi się napisać kodu w D, który będzie działał szybciej od kodu w C++ :D
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Czerwiec 15, 2009, 20:35:57
Podales jeden przyklad ;p , w tym przypadku roznica to zapewne rozne optymalizacje kompilatorow... Moznaby porownac kod wynikowy w asmie dla ciekawosci.

Poza tym, raczej nie ma nic szybszego od skompilowanego kodu, czy to skompilowanego z C, C++ czy z D ;) Wiec to takie szukanie czegos co nie istnieje... Byc moze recznie napisany kod w asmie bylby jeszcze ciut szybszy, ale tez nie zawsze juz dzis...

A poza tym jak wspominalem, D to mlody jezyk kompilatory nie optymalizuja kodu jeszcze tak jak dla C czy C++ a i tak jest wydajnosciowo jest porownywalny.

la pewnosci sie spytam jeszcze, jak mierzyles ten czas ?
Tytuł: Odp: Język D
Wiadomość wysłana przez: lukaszw w Czerwiec 15, 2009, 20:46:54
la pewnosci sie spytam jeszcze, jak mierzyles ten czas ?
Jest to wynik ze spoj'a: https://pl.spoj.pl/ranks/PRIME_T/ (https://pl.spoj.pl/ranks/PRIME_T/)
W chwili obecnej udało mi się w D osiągnąć czas 0.01 :) Również jestem zdania, że to słabsze optymalizacje kompilatora D od kompilatorów C/C++.
edit: Osiągnąłem upragnione 0.00 w D :D :D
Tytuł: Odp: Język D
Wiadomość wysłana przez: wine w Czerwiec 15, 2009, 21:46:37
edit: Osiągnąłem upragnione 0.00 w D :D :D
no to teraz trzeba zasięgnąć większej precyzji obliczenia czasu...
Tytuł: Odp: Język D
Wiadomość wysłana przez: lukaszw w Czerwiec 16, 2009, 00:12:25
edit: Osiągnąłem upragnione 0.00 w D :D :D
no to teraz trzeba zasięgnąć większej precyzji obliczenia czasu...
Nie, ja już podziękuję :) Uważam, że kompilatory D nie produkują jeszcze wystarczająco optymalnego kodu - jest to jednak tylko moje zdanie. Pomijając fakt, że program rozwiązujący to zadane ze spoj'a był moim pierwszym i jedynym programem w D, programy pisane w C/C++ są nieco wydajniejsze. Mimo, iż programy działały porównywalnie szybko, to w D trzeba było się nad tym więcej napracować :P Nie twierdzę, że nie da się już stworzyć szybszej wersji programu w D, gdyż (jak pisałem) nie mam doświadczenia w pisaniu w tym nowym języku.

Pozdrawiam!
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Czerwiec 16, 2009, 13:56:45
Nie, ja już podziękuję :) Uważam, że kompilatory D nie produkują jeszcze wystarczająco optymalnego kodu - jest to jednak tylko moje zdanie.
Kompilatory? Tj sprawdziłeś wszystkie 3? :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: Aithne w Czerwiec 16, 2009, 14:12:14
Kos, a są 4. Ale zgoda, jeden generuje CIL, więc się nie liczy ;). Ogólnie to mogę powiedzieć tyle - optymalizacje w dmd szczególnie dobre nie są, gdc ma dobre, o ldc nic nie wiem a D Compiler for .NET jest zależny od tego, jak JITowi zechce się optymalizować ;).

@down: Uściślając, D ma 2 lata, C++ 26.
Tytuł: Odp: Język D
Wiadomość wysłana przez: bs.mechanik w Czerwiec 16, 2009, 14:24:56
Chciałbym powiedzieć tylko tyle, że aktualnie mówienie, że kompilatory D nie generuja dostatecznie optymalnego kodu, nie jest dobrym argumentem przeciwko temu językowi. D ma przecież dopiero kilka lat, zaś C++ 20. Na razie faktycznie, można traktować ten język jako ciekawostkę, ale to tylko kwestia czasu by stał się coraz bardziej popularny.
Tytuł: Odp: Język D
Wiadomość wysłana przez: skoti w Czerwiec 16, 2009, 16:55:32
Chciałbym powiedzieć tylko tyle, że aktualnie mówienie, że kompilatory D nie generuja dostatecznie optymalnego kodu, nie jest dobrym argumentem przeciwko temu językowi. D ma przecież dopiero kilka lat, zaś C++ 20. Na razie faktycznie, można traktować ten język jako ciekawostkę, ale to tylko kwestia czasu by stał się coraz bardziej popularny.
Nie do końca można się zgodzić z tym twierdzeniem, bo sposoby optymalizacji ewoluowały przez te 20+ lat, a kompilatory D mogą od razu je zaimplementować optymalizacje znane dzisiaj (to tak jak powiedzieć, że firma rozpoczynająca pisanie gier musi robić gry na poziomie pierwszych gier i sama musi dojść do wszystkiego).
Tytuł: Odp: Język D
Wiadomość wysłana przez: yarpen w Czerwiec 16, 2009, 17:49:34
Nie mowiac o tym, ze stwierdzenie, iz to "kwestia czasu" az D zdobedzie jakas wieksza popularnosc tez jest naciagane. Sa jezyki, ktore nigdy sie nie przebily i ciezko powiedziec, co tak naprawde decyduje o sukcesie (nie jakosc, to na pewno :)).
Tytuł: Odp: Język D
Wiadomość wysłana przez: wine w Czerwiec 16, 2009, 17:52:03
Nie mowiac o tym, ze stwierdzenie, iz to "kwestia czasu" az D zdobedzie jakas wieksza popularnosc tez jest naciagane. Sa jezyki, ktore nigdy sie nie przebily i ciezko powiedziec, co tak naprawde decyduje o sukcesie (nie jakosc, to na pewno :)).
wsparcie gigantów w wyniku czego powstaje taki Visual C++. Gdyby nie Visuale itd. to nikt by z C++ nie korzystał w dzisiejszych czasach...
Tytuł: Odp: Język D
Wiadomość wysłana przez: yarpen w Czerwiec 16, 2009, 18:27:23
Nie mowiac o tym, ze stwierdzenie, iz to "kwestia czasu" az D zdobedzie jakas wieksza popularnosc tez jest naciagane. Sa jezyki, ktore nigdy sie nie przebily i ciezko powiedziec, co tak naprawde decyduje o sukcesie (nie jakosc, to na pewno :)).
wsparcie gigantów w wyniku czego powstaje taki Visual C++. Gdyby nie Visuale itd. to nikt by z C++ nie korzystał w dzisiejszych czasach...
W czym zatem pisano by gry? I czemu na PS3 tez pisze sie w C++ (a Visuala nie ma (kompilatora))?
Tytuł: Odp: Język D
Wiadomość wysłana przez: Nazar w Czerwiec 16, 2009, 18:33:40
Ale jest wsparcie innego giganta - Sony, które taki wariant umożliwia.
Tytuł: Odp: Język D
Wiadomość wysłana przez: bs.mechanik w Czerwiec 16, 2009, 18:42:26
C juz byl wystarczająco popularny jeszcze przed PSX i PS2. nauka jezyka specjalnie 'pod konsole' nie bylaby dobrym rozwiazaniem.
Tytuł: Odp: Język D
Wiadomość wysłana przez: wine w Czerwiec 16, 2009, 21:11:06
C juz byl wystarczająco popularny jeszcze przed PSX i PS2. nauka jezyka specjalnie 'pod konsole' nie bylaby dobrym rozwiazaniem.
bo C był nowinką po assemblerze. W tamtych czasach nie trzeba było całego IDE, programiści nie byli AŻ tak leniwi*... ;)

---
* - chociażby InteliSense - wygoda okupiona lenistwem
Tytuł: Odp: Język D
Wiadomość wysłana przez: mosowski w Czerwiec 16, 2009, 21:39:34
Cytuj
chociażby InteliSense - wygoda okupiona lenistwem
Raczej narzędzie, dzięki któremu nie marnujesz czasu na pisanie długich nazw i spoglądanie do dokumentacji, gdy nie jesteś pewien kolejności słów ;)
Tytuł: Odp: Język D
Wiadomość wysłana przez: wine w Czerwiec 16, 2009, 21:46:12
Cytuj
chociażby InteliSense - wygoda okupiona lenistwem
Raczej narzędzie, dzięki któremu nie marnujesz czasu na pisanie długich nazw i spoglądanie do dokumentacji, gdy nie jesteś pewien kolejności słów ;)
ale za czasów świetności C nie marzono nawet o tym
Tytuł: Odp: Język D
Wiadomość wysłana przez: yarpen w Czerwiec 16, 2009, 21:49:53
Cytuj
chociażby InteliSense - wygoda okupiona lenistwem
Raczej narzędzie, dzięki któremu nie marnujesz czasu na pisanie długich nazw i spoglądanie do dokumentacji, gdy nie jesteś pewien kolejności słów ;)
ale za czasów świetności C nie marzono nawet o tym
Huh? Sprawdz ile lat ma VIM.
Tytuł: Odp: Język D
Wiadomość wysłana przez: wine w Czerwiec 16, 2009, 21:52:19
Cytuj
chociażby InteliSense - wygoda okupiona lenistwem
Raczej narzędzie, dzięki któremu nie marnujesz czasu na pisanie długich nazw i spoglądanie do dokumentacji, gdy nie jesteś pewien kolejności słów ;)
ale za czasów świetności C nie marzono nawet o tym
Huh? Sprawdz ile lat ma VIM.
z 1991 roku. A C to 1972 rok. Różnica jest.
Tytuł: Odp: Język D
Wiadomość wysłana przez: skoti w Czerwiec 16, 2009, 22:03:40
C juz byl wystarczająco popularny jeszcze przed PSX i PS2. nauka jezyka specjalnie 'pod konsole' nie bylaby dobrym rozwiazaniem.
bo C był nowinką po assemblerze. W tamtych czasach nie trzeba było całego IDE, programiści nie byli AŻ tak leniwi*... ;)

---
* - chociażby InteliSense - wygoda okupiona lenistwem
Nie był "nowinką po assemblerze", a było już wiele innych języków (choćby poprzedzający B).

Wsparcie gigantów (no poza IBM który stworzył Eclipse) też nie ma nic do wygody, bo wygodę też masz w D korzystając z Eclipse + wtyczka do D.

z 1991 roku. A C to 1972 rok. Różnica jest.
yarpen miał na myśli VI (Vim jest jego klonem) z 1976. Był jeszcze Emacs.
Tytuł: Odp: Język D
Wiadomość wysłana przez: iniside w Czerwiec 17, 2009, 08:19:10
C juz byl wystarczająco popularny jeszcze przed PSX i PS2. nauka jezyka specjalnie 'pod konsole' nie bylaby dobrym rozwiazaniem.
bo C był nowinką po assemblerze. W tamtych czasach nie trzeba było całego IDE, programiści nie byli AŻ tak leniwi*... ;)

---
* - chociażby InteliSense - wygoda okupiona lenistwem

No nie wiem, a potworki w stylu chociazby dsr_ba, albo chrr, tudziez wrsl, to ciekawe skad sie braly ;p (oczywiscie nazwy zmyslone), ale chyba kazdy spotakl taki kod, ze sie gapil tepym wzrokiem i myslal co autor mial na mysli nadajac taka nazwe. Teraz w dobie IntelliSense, poprostu tworzysz nazwe na 50 liter i sama sie opisuje ;p.
Tytuł: Odp: Język D
Wiadomość wysłana przez: wine w Czerwiec 17, 2009, 09:28:03
Wsparcie gigantów (no poza IBM który stworzył Eclipse) też nie ma nic do wygody, bo wygodę też masz w D korzystając z Eclipse + wtyczka do D.
wtyczka ta jest jeszcze niedopracowana
Tytuł: Odp: Język D
Wiadomość wysłana przez: JCoder w Czerwiec 17, 2009, 12:30:37
No napisał przecież dosadnie, że ta wtyczka jest do D. Po co powtarzać? :D
Tytuł: Odp: Język D
Wiadomość wysłana przez: wine w Czerwiec 17, 2009, 13:16:02
No napisał przecież dosadnie, że ta wtyczka jest do D. Po co powtarzać? :D
Wtyczka do Eclipse "Descent" jest jeszcze niedopracowana. Pozatym eclipse to nigdy nie będzie visual
Tytuł: Odp: Język D
Wiadomość wysłana przez: nietopereek w Czerwiec 17, 2009, 13:41:35
Nie mowiac o tym, ze stwierdzenie, iz to "kwestia czasu" az D zdobedzie jakas wieksza popularnosc tez jest naciagane. Sa jezyki, ktore nigdy sie nie przebily i ciezko powiedziec, co tak naprawde decyduje o sukcesie (nie jakosc, to na pewno :)).
wsparcie gigantów w wyniku czego powstaje taki Visual C++. Gdyby nie Visuale itd. to nikt by z C++ nie korzystał w dzisiejszych czasach...

świat nie kończy się na visual c++....
Tytuł: Odp: Język D
Wiadomość wysłana przez: wine w Czerwiec 17, 2009, 13:48:55
świat nie kończy się na visual c++....
ale większość poważnych projektów jest na nim pisana.
Tytuł: Odp: Język D
Wiadomość wysłana przez: skoti w Czerwiec 17, 2009, 17:25:59
Pozatym eclipse to nigdy nie będzie visual
Udał Ci się żart  :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: rm-f w Czerwiec 17, 2009, 17:29:18
ale większość poważnych projektów jest na nim pisana.
A masz jakies statystyki?
Tytuł: Odp: Język D
Wiadomość wysłana przez: mosowski w Czerwiec 17, 2009, 23:10:04
Pozatym eclipse to nigdy nie będzie visual
Udał Ci się żart  :)
W Eclipse brak mi debuggera, który radzi sobie ze strukturami stl'a, automatycznie pozwala podglądać i zmieniać dowolne zmienne (nie tylko lokalne) i intelisense, który podpowiada automatycznie (bez konieczności wciskania Ctrl+Space, tylko po wpisaniu jednego, dwóch znaków)  ::)  Może idzie to jakoś ustawić, ale nie mam pojęcia jak, a powinno działać out-of-box. Wersja Galileo, OS to Ubuntu.
Tytuł: Odp: Język D
Wiadomość wysłana przez: wine w Czerwiec 18, 2009, 00:00:09
A masz jakies statystyki?
Idź do pierwszej lepszej firmy
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Czerwiec 18, 2009, 00:29:05
Pozatym eclipse to nigdy nie będzie visual
Udał Ci się żart  :)
W Eclipse brak mi debuggera, który radzi sobie ze strukturami stl'a, automatycznie pozwala podglądać i zmieniać dowolne zmienne (nie tylko lokalne) i intelisense, który podpowiada automatycznie (bez konieczności wciskania Ctrl+Space, tylko po wpisaniu jednego, dwóch znaków)  ::)  Może idzie to jakoś ustawić, ale nie mam pojęcia jak, a powinno działać out-of-box. Wersja Galileo, OS to Ubuntu.

Nie wiem za bardzo jak dokladnie jest w CDT pod Eclipse, ale nawet gui do GDB pod C::B pozwala na podgladanie dowolnych zmiennych, okreslonych miejsc w pamieci, czy podglad zmiennej aktualnie znajdujacej sie pod myszka, a nawet pojawila sie wlasnie niedawno jakas wtyczka do kontenerow STL ;) No ale dziala to srednio szczerze mowiac... Debugger w VS jest naprawde elegancko zintegrowany, trzeba to przyznac.
Tytuł: Odp: Język D
Wiadomość wysłana przez: skoti w Czerwiec 18, 2009, 01:19:12
W Eclipse brak mi debuggera, który radzi sobie ze strukturami stl'a, automatycznie pozwala podglądać i zmieniać dowolne zmienne (nie tylko lokalne) i intelisense, który podpowiada automatycznie (bez konieczności wciskania Ctrl+Space, tylko po wpisaniu jednego, dwóch znaków)  ::)  Może idzie to jakoś ustawić, ale nie mam pojęcia jak, a powinno działać out-of-box. Wersja Galileo, OS to Ubuntu.
Też ubolewam nad brakiem STL w GDB - ale nie jest to dla mnie tak wielką wadą jak brak valgrind pod windowsem, a prace nad Archer trwają (projekt skupiający się na polepszeniu obsługi C++ w GDB). A od kiedy nie pozwala przeglądać i zmieniać dowolnych zmiennych? Co do automatycznego pojawiania się podpowiedzi to mnie to tylko denerwuje - wolę kiedy potrzebuję poprosić (ale za tydzień pojawi się eclipse galileo, w którym automatycznie jest ustawione podpowiadanie po . -> i ::, a zwykłe nazwy zmiennych standardowo pod skrótem).
http://people.redhat.com/ebachalo/video/archer-pretty-printing-no-audio.swf
http://people.redhat.com/ebachalo/video/archer-namespace.swf
http://people.redhat.com/ebachalo/video/archer-async-demo.swf
Tytuł: Odp: Język D
Wiadomość wysłana przez: mosowski w Czerwiec 18, 2009, 13:03:13
Cytuj
A od kiedy nie pozwala przeglądać i zmieniać dowolnych zmiennych?
Nie tyle nie pozwala, co nie umożliwia bez ustawiania podczas debugowania. Jak mam jakiś ważny global np. SceneManager  i najadę myszką to nici z podglądu pół, muszę dodać ręcznie watch na ten global...  Z valgrinda korzystam sporadycznie (jeżeli kod jest portable), co jakiś czas by sprawdzić, czy wszystko jest ok, nie zmuszając się do pracy w eclipsie. A ten Archer zapowiada się ciekawie...
Tytuł: Odp: Język D
Wiadomość wysłana przez: Avaj w Czerwiec 18, 2009, 13:21:41
Mi tak debugger nie jest AŻ tak potrzebny. Jak coś to do cout dane wypluwam albo asserty stawiam.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Syriusz w Czerwiec 18, 2009, 13:37:35
Cytuj
Mi tak debugger nie jest AŻ tak potrzebny. Jak coś to do cout dane wypluwam albo asserty stawiam.
To, albo mało piszesz, albo nie wiesz co tracisz ;P.  Swoją drogą ja też tak kiedyś uważałem...;)
Tytuł: Odp: Język D
Wiadomość wysłana przez: yarpen w Czerwiec 18, 2009, 14:18:14
Mi tak debugger nie jest AŻ tak potrzebny. Jak coś to do cout dane wypluwam albo asserty stawiam.
Wow. Dobrze, ze uzywasz komputera, w koncu mozna to wszystko zasymulowac na bramkach logicznych.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Czerwiec 21, 2009, 18:27:27
Wtyczka do Eclipse "Descent" jest jeszcze niedopracowana. Pozatym eclipse to nigdy nie będzie visual
Wtyczka niedopracowana, jak i sam język. Co nie znaczy, że jedno i drugie nie posuwa się do przodu w niezłym tempie. C++ też jest jeszcze niedopracowany (łatają parę spraw w 0x), masz mu to za złe :)?
A z faktu, że Eclipse to nie VS, się naprawdę szczerze cieszę.

świat nie kończy się na visual c++....
ale większość poważnych projektów jest na nim pisana.
Ok - czyli np. taki Symbian, wraz z IDE wspieranym przez Nokię i opartym o Eclipse, albo jest w dzisiejszych czasach mniejszością, albo niepoważny :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: Charibo w Czerwiec 21, 2009, 18:30:20
Ok - czyli np. taki Symbian, wraz z IDE wspieranym przez Nokię i opartym o Eclipse, albo jest w dzisiejszych czasach mniejszością, albo niepoważny :)
Znajomy, który pisze komercyjny soft i na Symbiana i na Windows Mobile zwierzał się swego czasu, że bardzo kiepskie środowisko to jedna z większych wad systemu Nokii, i że zdecydowanie woli prostotę obsługi i bycie "straightforward" Visuala. Ale to tylko Pan Microsoft, więc może to nie do końca trafna opinia. ;)
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Czerwiec 21, 2009, 18:33:26
W sumie, gdy ostatnio sprawdzałem (luty, marzec?), to mieli w Carbide trochę przedpotopową wersję wtyczki do C++. :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: mosowski w Czerwiec 21, 2009, 19:03:54
Wtyczka do Eclipse "Descent" jest jeszcze niedopracowana. Pozatym eclipse to nigdy nie będzie visual
Wtyczka niedopracowana, jak i sam język. Co nie znaczy, że jedno i drugie nie posuwa się do przodu w niezłym tempie. C++ też jest jeszcze niedopracowany (łatają parę spraw w 0x), masz mu to za złe :)?
A z faktu, że Eclipse to nie VS, się naprawdę szczerze cieszę.

świat nie kończy się na visual c++....
ale większość poważnych projektów jest na nim pisana.
Ok - czyli np. taki Symbian, wraz z IDE wspieranym przez Nokię i opartym o Eclipse, albo jest w dzisiejszych czasach mniejszością, albo niepoważny :)
Jeśli ograniczymy się  tylko  do projektów PC, to większość tych poważnych faktycznie jest pisana w Visualu, ponieważ większość programów dziś powstaje na Windows.
Tytuł: Odp: Język D
Wiadomość wysłana przez: rm-f w Czerwiec 21, 2009, 19:31:11
Jeśli ograniczymy się  tylko  do projektów PC
A ja się pytam CZEMU?
Dodam jeszcze coś, VS nie nadaje się o pisania na uC :]
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Czerwiec 22, 2009, 00:40:21
A ja bym radzil watek zmienic bo temat zgola nieco co innego mowi ;)
Tytuł: Odp: Język D
Wiadomość wysłana przez: wine w Czerwiec 22, 2009, 00:46:13
Dodam jeszcze coś, VS nie nadaje się o pisania na uC :]
VS się nadaje, gdy dołączy się specjalny (czyt. stworzony dla) kompilator dla uC.
Tytuł: Odp: Język D
Wiadomość wysłana przez: rm-f w Czerwiec 22, 2009, 01:45:05
VS się nadaje, gdy dołączy się specjalny (czyt. stworzony dla) kompilator dla uC.
Specjalny, hmm czy mówisz o GCC? Bo jego używałem. :<
Czekaj, czekaj a czy czasem odpada wasz wspaniały Debugger? O jejciu...
Tytuł: Odp: Język D
Wiadomość wysłana przez: skoti w Czerwiec 22, 2009, 02:02:36
Specjalny, hmm czy mówisz o GCC? Bo jego używałem. :<
Czekaj, czekaj a czy czasem odpada wasz wspaniały Debugger? O jejciu...
Co do debuggera to nowy gdb sie sprawuje dobrze z eclipse i c::b (nie chcialo mi sie budowac to zainstalowalem z rpm fedory (fedora11 zostala wydana z nowym gdb))
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Czerwiec 22, 2009, 15:18:58
Specjalny, hmm czy mówisz o GCC? Bo jego używałem. :<
Czekaj, czekaj a czy czasem odpada wasz wspaniały Debugger? O jejciu...
Co do debuggera to nowy gdb sie sprawuje dobrze z eclipse i c::b (nie chcialo mi sie budowac to zainstalowalem z rpm fedory (fedora11 zostala wydana z nowym gdb))

Nowy tzn, jaki ? ;p 7.0 ?
Tytuł: Odp: Język D
Wiadomość wysłana przez: skoti w Czerwiec 22, 2009, 15:24:55
Nowy tzn, jaki ? ;p 7.0 ?
Nie. Fedora została wydana z gdb z projektu archer, o którym pisałem który, będzie nową wersją gdb, ale póki co nie jest - zgłasza się jako "GNU gdb (GDB) Fedora (6.8.50.20090302-27.fc11)"

BTW. na mirrorach jest już wersja ostateczna galileo ftp://ftp.man.poznan.pl/pub/eclipse/technology/epp/downloads/release/galileo/R/
Problem z tym że jak się używa STL i tego debuggera to się gubi :/ (c::b nie)... trzeba poczekać na aktualizację eclipse cdt pewnie parę dni.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Yarek w Czerwiec 22, 2009, 17:18:36
A jaki ma to związek z "D"??
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Czerwiec 23, 2009, 11:31:23
Nowy tzn, jaki ? ;p 7.0 ?
Nie. Fedora została wydana z gdb z projektu archer, o którym pisałem który, będzie nową wersją gdb, ale póki co nie jest - zgłasza się jako "GNU gdb (GDB) Fedora (6.8.50.20090302-27.fc11)"

BTW. na mirrorach jest już wersja ostateczna galileo ftp://ftp.man.poznan.pl/pub/eclipse/technology/epp/downloads/release/galileo/R/
Problem z tym że jak się używa STL i tego debuggera to się gubi :/ (c::b nie)... trzeba poczekać na aktualizację eclipse cdt pewnie parę dni.

Tylko ktora wersja ma byc ten archer ? :) Z tego co wnioskowalem na stronie GDB, kolejna wersja bedzie wlasnie 7.0 a jego wydanie jest planowane jest jeszcze w tym miesiacu..
http://www.gnu.org/software/gdb/schedule/

Pytanie tylko czy ten Archer bedzie uwzgledniony ?

PS: I naprawde prosilbym moderatorow zeby jakos wydzieleli te pare postow do jakeigos watku, dajmy na to o GDB, debuggerach czy IDE :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: skoti w Czerwiec 23, 2009, 11:59:53
Tylko ktora wersja ma byc ten archer ? :) Z tego co wnioskowalem na stronie GDB, kolejna wersja bedzie wlasnie 7.0 a jego wydanie jest planowane jest jeszcze w tym miesiacu..
http://www.gnu.org/software/gdb/schedule/

Pytanie tylko czy ten Archer bedzie uwzgledniony ?

PS: I naprawde prosilbym moderatorow zeby jakos wydzieleli te pare postow do jakeigos watku, dajmy na to o GDB, debuggerach czy IDE :)
Archer to branch gdb rozwijany przez programistów z redhat i ma być w 7.0 (przynajmniej część patrząc na opis co ma zawierać gdb w wersji 7.0 (wsparcie dla skryptów pythona czy Pretty Printing dla vectorów i innych rzeczy))..., a że fedora to poligon doświadczalny redhata to wydali brunch w stabilnej dystrybucji (tak samo jak z firefox 3.5 beta4 i innymi) - nie chciało mi się budować, bo zaraz się pojawi w repo archa jak zostanie oficjalnie wydana to zainstalowałem kompilację z fedory na chwilę, aby przetestować.
Tytuł: Odp: Język D
Wiadomość wysłana przez: MadBonsai w Sierpień 18, 2009, 03:23:10
Jestem na tym forum "gościem z doskoku". Ale jak patrzę na Językoznawstwo, to naprawdę wydaję mi się, że mądrym posunięciem byłoby wywalenie działa JavaScript/HTML/CSS i zamiast niego wrzucenie działu dla D, gdyż:
1. Jeśli ktoś naprawdę rozwija się w kierunku JS czy CSS, to forum nie jest nie dla niego. Poza tym ten dział można by przecież śmiało połączyć z PHP - to naturalni sąsiedzi, a nie będzie już dwóch pseudoaktywnych działów, a jeden ;)
2. W tym dziale jest 6 wątków, z czego wszystkie martwe. A w 4 ostatnia wiadomość odchodzi sprzed ponad 2,5 roku!
3. D mimo wszystko jest językiem perspektywicznym - największe forum game devu w Polsce mogłoby jednak stawiać na rozwój ciekawych technologii.
A już z tego chociażby wątku widać, że powstaje więcej gier w D niż w CSS :P :P

Dajmy trochę wygody ludziom, którzy chcą brnąć w to D. Jak widać, tematów raczej będzie przybywać niż ubywać. A jeśli nawet mamy "zamienić jedno nieużywane na drugie nieużywane" (jak ktoś tu gdzieś napisał), to jest już lepsze od skostniałego układu "o HTML nikt nic nie piszę, ale lepiej nic zmieniać, bo świat zawali się na głowę".
To jest forum game devu, które w teorii powinno dość dynamicznie reagować na zmiany, a nie ich unikać.
Wiem, wiem, dział "Nowe technologie" leży odłogiem. Ale on jest po prostu... zbyt ogólny. Dla każdego tematu tam da się znaleźć miejsce w innym, istniejącym dziale - jak np. dla tematów o D. Dział D nie cierpiał na taką bolączką ;)


Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Sierpień 19, 2009, 10:16:29
A już z tego chociażby wątku widać, że powstaje więcej gier w D niż w CSS :P :P
Na ten temat mam inne zdanie, jakkolwiek bym D nie lubił. :)

Cytuj
Dajmy trochę wygody ludziom, którzy chcą brnąć w to D.

Starych działów nikt nie usunie, bo po co usuwać. A jeśli będzie dużo tematów o D (bo ile jest teraz, cztery, pięć?), to adminownia sama nam nowy dział bez proszenia założy i tematy przeniesie. :)
Zatem lepiej nie pisz takich 'meta-postów', tylko śmiało dyskutuj o D do woli i działem się nie przejmuj.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Esidar w Sierpień 19, 2009, 12:30:06
Jestem na tym forum "gościem z doskoku". Ale ......
Nie ten dział.
Tytuł: Odp: Język D
Wiadomość wysłana przez: nameczanin w Sierpień 26, 2009, 03:06:20
Jestem na tym forum "gościem z doskoku". Ale ......
Nie ten dział.
Nie ten dział.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Listopad 02, 2009, 22:22:33
Jeah! Na razie mamy na świecie tylko jedną książkę (um, broszurę?) o D - z radością donoszę że sytuacja powoli się zmienia na lepsze. W chwili obecnej pisze się dzieło pod tytułem "The D Programming Language", mające z założenia być konkretnym opisem samego języka od A do Z, podobnie jak tytuł do którego nawiązuje.
Książka ma już >300 stron i pisze się dalej. Wieści z frontu i przykładowy rozdział można odnaleźć na stronie autora:
http://erdani.com/
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Styczeń 03, 2010, 15:25:19
Język D skończył wczoraj trzy latka! Stoo-lat, stoo-lat! ^^
Tytuł: Odp: Język D
Wiadomość wysłana przez: Aithne w Styczeń 03, 2010, 20:12:30
Język D skończył wczoraj trzy latka! Stoo-lat, stoo-lat! ^^
I ciągle żadnych porządnych narzędzi... Naprawili już może ten bug linkera od DM, który powodował, że zlinkowanie czegoś większego niż Hello World było niemożliwe?
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Styczeń 03, 2010, 20:54:50
Linker się aktualnie przepisuje (http://dblog.aldacron.net/2009/11/30/rewriting-optlink/) z asma na C w celu poczynienia dalszych usprawnień w ludzki sposób.

Strzelę, że D ma 10 razy lepsze narzędzia, niż w C++ w jego wieku :P.

Edit: Hej, Aithne, ja tam jestem cichy człowiek, ale Ty przecież masz zadatki na Głos Ludu, zawsze lubisz wtrącić dobrą ripostę - powiedz mi, co tak na dobrą sprawę Cię tak sceptycznie nastawia i powstrzymuje od kibicowania Młodemu Frontowi Wiele Wygodniejszego Języka? Mogłabyś przecież swoje zdolności wykorzystać w szczytnym celu :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: Yarek w Styczeń 03, 2010, 22:54:14
Linker się aktualnie przepisuje (http://dblog.aldacron.net/2009/11/30/rewriting-optlink/) z asma na C w celu poczynienia dalszych usprawnień w ludzki sposób.

Ło Boże domyślam się, że to pozostałości po jakimś antycznym projekcie i wykorzystali go bo był "pod ręką" ;]
Ja wciąż czekam na wsparcie D w NetBeansie bo jak na razie pisanie czegokolwiek jest ponad moje nerwy!
Tytuł: Odp: Język D
Wiadomość wysłana przez: MadBonsai w Styczeń 15, 2010, 17:12:01
Linker się aktualnie przepisuje (http://dblog.aldacron.net/2009/11/30/rewriting-optlink/) z asma na C w celu poczynienia dalszych usprawnień w ludzki sposób.

Ło Boże domyślam się, że to pozostałości po jakimś antycznym projekcie i wykorzystali go bo był "pod ręką" ;]
Ja wciąż czekam na wsparcie D w NetBeansie bo jak na razie pisanie czegokolwiek jest ponad moje nerwy!
Hmm... A Eclipse przypadkiem już nie wspiera?  ::)
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Styczeń 15, 2010, 18:04:03
Sam Eclipse oficjalnie nie wspiera oczywiscie, ale plugin Descent o ktorym jak mniemam mowa, dalej istnieje :)

Co do linkera to tak- wzieli go bo byl pod reka, Digital Mars robili/robia tez kompilatory C i C++, stad ten linker ;p
Tytuł: Odp: Język D
Wiadomość wysłana przez: lukaszw w Marzec 06, 2010, 22:09:20
Przejrzałem swoje posty w tym temacie i stwierdzam teraz, że nie były one zbyt mądre. Tak więc wybaczcie :(
Tytuł: Odp: Język D
Wiadomość wysłana przez: nameczanin w Marzec 30, 2010, 19:40:47
Ostatnio powstaje ciekawe środowisko -> D-IDE (http://d-ide.sourceforge.net/). Mam kontakt z twórcą i stwierdzam, że rozwój idzie dosyć prężnie. Są aspekty minusowe. Nie wspiera wciąż Tango a kompilator raczej w wersji 2.0, co moim zdaniem jest fail-em. Namawiałem autora do zmiany tegoż, zobaczymy :P Uwaga: najlepiej ściągnąć wersję z SVN.

Póki co, najprostsze środowisko jakie widziałem (autoreklama), bez instalacji itd., do języka D, to mój DCIDE (http://namek.eu/dcide). Większość (jak nie wszystkie) środowisk trzeba albo coś dziwnie ustawiać albo nie wiadomo co gdzie kopiować. Tak to wygląda dla osoby początkującej, która wcześniej miała styczność tylko z Visualem, który kompilator instaluje automatycznie.

Ktoś jeszcze coś kodzi w D tutaj, jakieś osiągnięcia? U mnie żadnych ;P Więcej czytam o tym języku niż coś robię w nim :D Ale zabieram się do stworzenia jednego projekciku właśnie w nim :>
Tytuł: Odp: Język D
Wiadomość wysłana przez: ConayR w Marzec 30, 2010, 19:46:00
Nie wspiera wciąż Tango a kompilator raczej w wersji 2.0, co moim zdaniem jest fail-em.
Dlaczego 2.0 jest failem?
Tytuł: Odp: Język D
Wiadomość wysłana przez: nameczanin w Marzec 30, 2010, 19:59:01
Bo wciąż nie jest zdecydowane :) Co chwilę rzeczy w tym stylu:
Cytat: Changelog D 2.0
Use of length inside of [ ] is now deprecated, use $ instead
Czyli za częste zmiany nawet w prostych rzeczach, a drugi znaczący moment failu to brak supportu dla Tango, który ma parę ciekawszych rzeczy jak np. SSL. Jak się człek tylko bawi, to jest ok. Ale większy projekt - jak parę miesięcy temu - wciąż może irytować przez te zmiany.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Marzec 30, 2010, 20:54:50
D 2.0 uważam za taki obiecujący playground Waltera, ale D1 wg mnie nadaje się do produkcyjnego kodu (planuję go użyć w pracy inżynierskiej). Co do osiągnięć, udało mi się zaembedować Pythona i gładko wrapować klasy (jest wrapper na poziomie Boost::Python). :) Nic pożytecznego niemniej na dziś dzień jeszcze nie zrobiłem.

Co do IDE, to nadal będę wszystkim polecam Descenta - mimo że niegotowy, pożyczył dużo kodu z JDT i przez to jest bardzo dobry na wielu polach. Poleciłem chłopom, by zgłosili go do GSoC :) Mielibyśmy na bank gotowe IDE na po wakacjach.
Tytuł: Odp: Język D
Wiadomość wysłana przez: ConayR w Marzec 30, 2010, 22:27:32
Bo wciąż nie jest zdecydowane :) Co chwilę rzeczy w tym stylu:
Cytat: Changelog D 2.0
Use of length inside of [ ] is now deprecated, use $ instead
Czyli za częste zmiany nawet w prostych rzeczach, a drugi znaczący moment failu to brak supportu dla Tango, który ma parę ciekawszych rzeczy jak np. SSL. Jak się człek tylko bawi, to jest ok. Ale większy projekt - jak parę miesięcy temu - wciąż może irytować przez te zmiany.
No jasne, ale zanim IDE będzie w pełni funkcjonalne, przetestowane i znajdzie odpowiednią rzeszę odbiorców, D2.0 może już być dużo bardziej stabilne. Nie za bardzo widzę sens marnowania czasu przy budowie IDE dla technologii "tu i teraz", jeśli już widać na horyzoncie technologię na jutro. :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: nameczanin w Marzec 30, 2010, 22:42:30
Bo wciąż nie jest zdecydowane :) Co chwilę rzeczy w tym stylu:
Cytat: Changelog D 2.0
Use of length inside of [ ] is now deprecated, use $ instead
Czyli za częste zmiany nawet w prostych rzeczach, a drugi znaczący moment failu to brak supportu dla Tango, który ma parę ciekawszych rzeczy jak np. SSL. Jak się człek tylko bawi, to jest ok. Ale większy projekt - jak parę miesięcy temu - wciąż może irytować przez te zmiany.
No jasne, ale zanim IDE będzie w pełni funkcjonalne, przetestowane i znajdzie odpowiednią rzeszę odbiorców, D2.0 może już być dużo bardziej stabilne. Nie za bardzo widzę sens marnowania czasu przy budowie IDE dla technologii "tu i teraz", jeśli już widać na horyzoncie technologię na jutro. :)

Tango JEST technologią jutra :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: ConayR w Marzec 31, 2010, 00:08:53
Mówię o D 2.0. ;) AFAIK jest jakiś kompatybilny z 2.0 branch Tango. :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: Avaj w Sierpień 27, 2010, 19:55:16
bump

Widzę, że tu duże skupisko fanów D. Oglądam sobie ten język i wydaje mi się bardzo fajny, bo to jest taki bardziej nowoczesne pole minowe C++, a nie kaftan bezpieczeństwa Java/.NET. Czy coś się zmieniło jeśli chodzi o ten linker i IDE? Bo jeśli narzędzia pozwalają zaledwie na napisanie Hello worlda to nie chcę na razie w ogóle w to wchodzić...
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Sierpień 27, 2010, 21:49:20
Narzedzia pozwalaja na wiecej, ale IDE afaik nadal jest w rozsypce. Tymczasowo polecam sie zapoznac z nowa ksiaza Alexei Alexandrescu ( tego 'guru' od C++ ) "The D Programming Language" ;)
Tytuł: Odp: Język D
Wiadomość wysłana przez: nameczanin w Wrzesień 03, 2010, 01:49:02
Panowie niech lepiej sprawdzą D-IDE (http://d-ide.sourceforge.net/) ;)
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Wrzesień 03, 2010, 09:46:55
Hmm, sprawdzam i tego sie niestety nie da jeszcze uzywac :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: Dab w Wrzesień 03, 2010, 13:11:31
Poza tym, IDE do D napisane w C#? To się nie godzi ;)
Tytuł: Odp: Język D
Wiadomość wysłana przez: Groshu w Wrzesień 03, 2010, 14:23:43
Jak widzę pod Mono nie ma szans..
Tytuł: Odp: Język D
Wiadomość wysłana przez: ConayR w Wrzesień 03, 2010, 15:16:41
Poza tym, IDE do D napisane w C#? To się nie godzi ;)
Visual Studio 2010 najwyraźniej otworzyło drogę IDE ciężkim i uruchamiającym się wieki. ;]
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Wrzesień 03, 2010, 15:20:04
Poza tym, IDE do D napisane w C#? To się nie godzi ;)
To chyba taki konkurs: Każdy pisze IDE do D w swojej ulubionej technologii i komu wyjdzie najfajniejsze :) Jest już na Eclipse (Descent i parę innych... prób), w D (Poseidon, btw. zrobiony w DWT - też technologia z Eclipse w sumie, tylko sportowana), teraz to D-IDE w C#... Zgroza :)

BTW, nie rozumiem idei robienia nowego IDE do języka XYZ od zera, skoro codebase Eclipse ma już 90% potrzebnego w tym celu kodu gotowe :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: rm-f w Wrzesień 03, 2010, 15:27:14
BTW, nie rozumiem idei robienia nowego IDE do języka XYZ od zera, skoro codebase Eclipse ma już 90% potrzebnego w tym celu kodu gotowe :)
No...
i mogli by wrzucić do repo debiana, coś godnego do D na Eclipse...
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Wrzesień 03, 2010, 19:51:48
BTW, nie rozumiem idei robienia nowego IDE do języka XYZ od zera, skoro codebase Eclipse ma już 90% potrzebnego w tym celu kodu gotowe :)
No...
i mogli by wrzucić do repo debiana, coś godnego do D na Eclipse...
Mogliby najpierw w ogóle skończyć coś godnego do D na Eclipse ;) Szkoda, że chłopy od Descenta nie zgłosili projektu do GSoC, gdy im zasugerowałem, może by poszło trochę do przodu.
Tytuł: Odp: Język D
Wiadomość wysłana przez: vashpan w Wrzesień 03, 2010, 20:00:28
Poza tym, IDE do D napisane w C#? To się nie godzi ;)
To chyba taki konkurs: Każdy pisze IDE do D w swojej ulubionej technologii i komu wyjdzie najfajniejsze :) Jest już na Eclipse (Descent i parę innych... prób), w D (Poseidon, btw. zrobiony w DWT - też technologia z Eclipse w sumie, tylko sportowana), teraz to D-IDE w C#... Zgroza :)

BTW, nie rozumiem idei robienia nowego IDE do języka XYZ od zera, skoro codebase Eclipse ma już 90% potrzebnego w tym celu kodu gotowe :)

Hmm, a ten D-IDE czasem nie jest na bazie SharpDevelop ( calkiem fajne, 'lzejsze' IDE do C# pod Windowsa, intellisense i debugowanie dziala calkiem sprawnie... ;) ) ? Wprawdzie w kod nie zagladalem, ale wyglada znajomo z 'wygladu'... ( ale glowy nie dam )

Co do Descenta - bawia sie tam w pierdoly a nie moga zrobic 'normalnego' systemu budowania... Co to za IDE ktore nie moze zbudowac projektu ??

Budowanie->Debugowanie->Podpowiadanie Skladni, to powinny byc w tej kolejnosci najwazniejsze i priorytetowe skladniki kazdego normalnego IDE, a tamci zaczeli od konca ;) ( wprawdzie najciekawsza czesc, bo D jest o tyle skladniowo jasnym jezykiem ze dosc prosto da sie zrobic podpowiadanie skladni na poziomie tego co mamy w Javie czy C#.... )
Tytuł: Odp: Język D
Wiadomość wysłana przez: nameczanin w Wrzesień 08, 2010, 18:17:01
D-IDE kiedyś u mnie całkiem sensownie działało. Oczywiście używałem wersji z repo SVN. Na początku wspierało tylko wersję 1.0 ale namówiłem autora (via mail) na kompilator w wersji 2.0. Co do kodu to jest go dużo i aż odechciało mi sie jakiejkolwiek modyfikacji. Na jeszcze jedną rzecz kładłem nacisk podczas e-mailowania. Mianowicie instalator. Powinien dostarczać kompilator i ewentualnie biblioteki razem z programem, żeby już tego nie konfigurować i nie babrać się z PATH-ami. W tym punkcie jednak zawiódł, przestali (ktoś mu pomagał w instalatorze) to rozwijać pod tym kątem chyba :/ No, może na SVN teraz jest więcej niż na stronie głównej. Anyway, zacząłem tworzyć w XNA (C#) i już mnie to nie interesuje  ; D
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Wrzesień 08, 2010, 20:17:16
Budowanie->Debugowanie->Podpowiadanie Skladni, to powinny byc w tej kolejnosci najwazniejsze i priorytetowe skladniki kazdego normalnego IDE, a tamci zaczeli od konca ;) ( wprawdzie najciekawsza czesc, bo D jest o tyle skladniowo jasnym jezykiem ze dosc prosto da sie zrobic podpowiadanie skladni na poziomie tego co mamy w Javie czy C#.... )

Już odpowiadam:
- Zaczęli od końca, bo skopiowali masę kodu Java Development Tooling, podmienili parser i drzewo składni na to od D (z czego większość wysiłku poszła na tłumaczenie kawałka kompilatora na Javę :)) i po drobnych poprawkach wystarczyło, by masa rzeczy zaczęła działać - kolorowanie i podpowiadanie składni wliczając.

- Z systemem budowania przy Descencie zbierali, bo (bodaj) asterite się uparł, że fajniej będzie, jeśli zrobią nie tyle takie jak w CDT (klikasz ctrl+b albo run i się buduje), ale - korzystając z szybkości kompilacji D - takie, jak ma Java: moduł buduje się w tle i nawet o tym nie wiesz.

Słuszności tej decyzji nie skomentuję :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: Dab w Wrzesień 11, 2010, 12:50:42
Jakis czas temu mialem pobozne zyczenie:
Nie no, D wygląda na calkiem sensowny kompromis i chętnie bym go wypróbował, jeżeli tylko pojawiłby się Visual D :)

I prosze, ktos posluchal: http://www.dsource.org/projects/visuald :D

Jak tylko wroce do domu, to ostro potestuje.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Avaj w Wrzesień 11, 2010, 12:57:33
btw, jak byłem na kanale #d to ludzie mi powiedzieli, że kończą prace magisterskie co w D zaczęli i uciekają bo jest to tonący okręt :P
Tytuł: Odp: Język D
Wiadomość wysłana przez: nembutal w Wrzesień 11, 2010, 13:03:49
btw, jak byłem na kanale #d to ludzie mi powiedzieli, że kończą prace magisterskie co w D zaczęli i uciekają bo jest to tonący okręt :P
A powiedzieli dlaczego?
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Wrzesień 11, 2010, 13:14:04
btw, jak byłem na kanale #d to ludzie mi powiedzieli, że kończą prace magisterskie co w D zaczęli i uciekają bo jest to tonący okręt :P
A powiedzieli dlaczego?
Obstawiam, że przez niezbyt rozwojowe podejście Waltera Brighta (twórcy języka), który wg niektórych bardziej go traktuje jak osobistą zabawę w pisanie kompilatora :). I przez brak dobrej organizacji na zapleczu. Co jest poniekąd powiązane z pierwszym, jak mniemam.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Arthes w Kwiecień 29, 2011, 16:46:19
Mam pytanko- jest może jakiś port SDL'a do D?
Tytuł: Odp: Język D
Wiadomość wysłana przez: Avaj w Kwiecień 29, 2011, 16:59:14
ściągnij sobie Derelict2, to jest paczka bindingów do SDL, OpenGL i paru innych przydatnych bibliotek
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Maj 04, 2011, 18:34:30
Derelict is the way to go, ale ogólnie każdej biblioteki z interfejsem w C (w przeciwieństwie do C++) i ew. dostępnymi źródłami (lub binarką jako DLL) da się z marszu używać w D... a przynajmniej powinno się dać. :)

Miałem arta na ten temat DLL-ek, był w dziale "Porady" na forum, ale nie mam pojęcia, gdzie jest teraz ten dział, więc nie pokieruję. :P
Tytuł: Odp: Język D
Wiadomość wysłana przez: Arthes w Maj 07, 2011, 21:27:03
A znacie jakieś ciekawe IDE dla D, poza D-IDE? Bo D-IDE często się zawiesza, i ma wiele błędów ;/
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kalvot w Maj 08, 2011, 01:13:04
sendfile.pl/54372/DerelictIDE.exe (http://sendfile.pl/54372/DerelictIDE.exe)

w sumie to tylko notatnik z kompilatorem, ale się nie sypie. dodatkowo dołączyłem derelict1. Z tego co pamiętam raczej powinno działać po instalacji, ale jak coś to pisz.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Arthes w Maj 08, 2011, 09:45:52
No właśnie coś nie bardzo działa, wywala błąd przy kompilacji:
object.d: Error: module object is in file 'object.d' which cannot be read
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kalvot w Maj 08, 2011, 11:52:43
Dziwne u mnie wszystko działa. Może spróbuj zainstalować jeszcze raz. W czystym dmd się kompiluje?
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Lipiec 31, 2011, 23:12:55
Ciekawy wątek na stackoverflow, parę uwag przeciwko D (i to ciekawszych uwag niż "nie ma dobrego IDE i jest bałagan w bibliotekach"):

http://programmers.stackexchange.com/questions/97207/what-does-c-do-better-than-d
Tytuł: Odp: Język D
Wiadomość wysłana przez: msieradzki w Sierpień 01, 2011, 00:32:39
Pisanie w D to większe samobójstwo niż pisanie w Haskellu, naprawdę niezłą rzecz D osiągnęło. :P Jeżeli chciałbym "uprzątnięty C++" z GC to wziąłbym C# po prostu. Nie bije się leżącego jak C++, praktycznie wszystko projektowane znając jego błędy będzie lepsze. Nie znaczy to wcale, że coś takiego znajdzie wystarczająco użytkowników, żeby nie zdechnąć jak D, przykładowo te nisze są już zajęte:
skrypty - Lua/Python
"enterprajz" - C#/Java
funkcyjne - F#/Haskell/ML/Ocaml/Erlang
OS - C
blisko OS - C++
Na dodatek C++11 ma już ficzery, którymi D się tak chwali - auto, tuple itd. Jak przejrzy się rzeczy za wg Davisa to nie ma tam niczego czego nie można zastąpić megabajtami Boosta.

BTW Dodawanie jakichś [pure] w języku imperatywnym to nieporozumienie.

Jedna z tych odpowiedzi jest naprawdę dobrze udokumentowana, dzięki za linka. :P
Tytuł: Odp: Język D
Wiadomość wysłana przez: lmmilewski w Sierpień 01, 2011, 01:47:00
C++ nie ma modułów (nawet w najnowszym standardzie). Jest tylko propozycja. D ma.
Dlaczego [pure] to nieporozumienie w języku imperatywnym?
Tytuł: Odp: Język D
Wiadomość wysłana przez: Avaj w Sierpień 01, 2011, 02:06:49
Jeśli by mnie ktoś pytał to bym powiedział, że niepotrzebnie D się pchał w te różne funkcyjne bajery, od pure przez te różne map/reduce/filtery w bibliotece standardowej po consty/immutable (tak, wiem że to nie jest funkcyjne, ale już podczepiam). Same problemy przez to, a biblioteka standardowa dziwnie wygląda momentami (szczególnie std.algorithm).
Tytuł: Odp: Język D
Wiadomość wysłana przez: rm-f w Sierpień 01, 2011, 02:48:34
Co jak co, ale map i filter uważam za coś boskiego jeżeli chodzi o programowanie.


Kilka filtrów kilka mapowań, sortowań i z sceny mamy listę paczek <tekstury,shader,uniformy,vbo> wprost do rysowania. ;)
Tytuł: Odp: Język D
Wiadomość wysłana przez: msieradzki w Sierpień 01, 2011, 03:41:33
impure to złe domyślne ustawienia, dodawania pure później co niby robi? Wszystkie lokalne for(int i=0;i<n;++i) nadal się kumulują. Każdy kto pisał kod imperatywny i funkcyjny wie jak wiele błędów znika jak przestajemy używać ':='. (nie twierdzę, że można wszędzie się tego pozbyć)
Używając Haskella to pure vs impure z D to mniej więcej różnica pomiędzy ST a czystą funkcją.
Jeżeli zmienne "lokalne" wewnątrz pure można zmieniać do woli to jak niby zaimplementować efektywnie pamięć transakcyjną?

Cytuj
As a concession to practicality, a pure function can:

    allocate memory via a NewExpression
    terminate the program
    read and write the floating point exception flags
    read and write the floating point mode flags, as long as those flags are restored to their initial state upon function entry
    perform impure operations in statements that are in a ConditionalStatement controlled by a DebugCondition.
TERMINATE PROGRAM?! WTF?! Te wyjątki coś tu trochę śmierdzą.

map, filter itp. daje kod krótszy niż jechanie z ifami. Jeżeli dana biblioteka zapewnia zamianę map f . map g w map (f . g) (co pozbywa się wielu list/wektorów/itp. oraz przechodzenia wiele razy) to działa tak szybko jak C/C++. Jeżeli można dopasować fold do unfold to znika cała lista/wektor i obliczenie można wykonać w miejscu nawet na rejestrach procesora.
Tytuł: Odp: Język D
Wiadomość wysłana przez: shd w Wrzesień 28, 2011, 19:47:16
A znacie jakieś ciekawe IDE dla D, poza D-IDE? Bo D-IDE często się zawiesza, i ma wiele błędów ;/
Na wypadek gdyby ktoś czytał ten wątek w przyszłości, to ja używam DDT i sobie chwalę. O ile nie jestem fanem responsywności eclipse'a to w porównaniu do d-ide, visualD, code::Blocks - myślę że te ide jest całkiem wygodne.
Ktoś pytał o bindingi, to ja używam generatora wrapperów SWIG w parze z CMakeD. Oczywiście nie dla każdego te rozwiązanie może być dobre.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Arthes w Sierpień 14, 2012, 23:32:32
Wybaczcie za mega odkop, ale nie chcę zakładać nowego tematu.
Jak to teraz jest z tym D? Jest to jakoś szerzej używane, czy dalej tak jak wcześniej - ciekawostka, którą bawi się kilka osób? Język bardzo mi się podoba, dlatego chciałbym wiedzieć, czy coś się z nim dzieje - bo nie chcę się uczyć czegoś, co nie jest/nie będzie rozwijane, ani wspierane przez innych programistów.
Tytuł: Odp: Język D
Wiadomość wysłana przez: nameczanin w Sierpień 14, 2012, 23:42:20
Dla siebie moim zdaniem warto. Jeżeli myślisz o rozwijaniu się pod kątem jakichś firm, zatrudnienia itd., to daj sobie spokój z D. Czy szerzej używane? No, id software na pewno tego nie używa ;P Rozwijane w pewnym sensie na pewno jest. Autor języka ciągle poprawia kompilator, tak samo autor D-IDE. Już dawno były porty includów dla OGL czy SDL, więc coś się chyba da w tym zrobić.
Tytuł: Odp: Język D
Wiadomość wysłana przez: shd w Sierpień 15, 2012, 00:04:15
Jeżeli chodzi o stabilność do projektów, których niewykonanie na czas będzie bolesne, to lepiej jeszcze poczekać.
Jeżeli to Twój pierwszy język, albo interesuje cię tylko inwestowanie czasu w coś co na 100% przyda ci się w pracy to nadal nie wiadomo czy język chwyci komercyjnie, a nawet jeżeli chwyci, to najprawdopodobniej nie będziesz pracował jako programista D w ciągu najbliższych kilku lat.
Jeżeli natomiast chcesz pisać produktywnie, z przyjemnością, w miarę wydajnie, a przy okazji się trochę nauczyć, to warto spróbować.

Nadal dużo błędów, jednak jest o wiele lepiej niż kiedyś. Biblioteka standardowa (phobos) nie jest jeszcze bardzo stabilna, ale zmiany, których musiałem dokonywać w moim kodzie były trywialne.

Cytuj
No, id software na pewno tego nie używa ;P
Nikt o zdrowych zmysłach nie napisał by wysokobudżetowego projektu w D, ale J. Carmack wspomniał o D pozytywnie.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Avaj w Listopad 19, 2012, 18:44:48
http://www.kickstarter.com/projects/2083649206/the-d-programming-language-conference-2013-0

jak ktoś ma za dużo kasy, brakuje $1.500, jeszcze zbiórka przez 50 godzin :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: shd w Listopad 19, 2012, 21:44:48
http://www.kickstarter.com/projects/2083649206/the-d-programming-language-conference-2013-0

jak ktoś ma za dużo kasy, brakuje $1.500, jeszcze zbiórka przez 50 godzin :)
damy radę :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Listopad 19, 2012, 21:57:16
Meh, obejrzałem ostatnio jednego talka o Go i od razu mi się w głowie zapaliła lampka "przecież D to w sumie to tylko takie C++ z posprzątaną składnią". To nie jest podobne do mojego entuzjazmu sprzed lat, prove me wrong! W jaki sposób D pozwala pisać lepszy kod niż C++, poza oszczędzaniem palców? Czy jest szersze paradygmatycznie?
Tytuł: Odp: Język D
Wiadomość wysłana przez: goshki w Listopad 19, 2012, 22:06:14
Czy jest szersze paradygmatycznie?

Chyba tak, chociażby paradygmat funkcjonalny: http://dlang.org/function.html#pure-functions

Jednak co do entuzjamu, to mam podobnie. W okolicach roku 2008 byłem oczarowany D. Obecnie podchodzę do tego bardziej pragmatycznie.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Avaj w Listopad 19, 2012, 22:14:00
Meh, obejrzałem ostatnio jednego talka o Go i od razu mi się w głowie zapaliła lampka "przecież D to w sumie to tylko takie C++ z posprzątaną składnią". To nie jest podobne do mojego entuzjazmu sprzed lat, prove me wrong! W jaki sposób D pozwala pisać lepszy kod niż C++, poza oszczędzaniem palców? Czy jest szersze paradygmatycznie?
C++ z posprzątaną składnią to wbrew pozorom dużo. Sam fakt odejścia od header files dla mnie wystarczy, żeby pisać w D zamiast w C/C++. Bo to nie jest nawet pisanie dwa razy tego samego, trzeba kombinować, niektóre rzeczy tu, niektóre (szablony) muszą być w .h  i takie bajery. XML w stdlib (kijowy bo kijowy ale działa) też fajna rzecz, może w czasach C++ fajnie było mieć osobne 10 bibliotek do tego, ale teraz są czasy Javy i C#, wpisuję DOMDocumentBuilder, wciskam ctrl-spacja i chcę mieć wczytanego XMLa.

<rant>
A garbage collector też dla mnie jest fajną rzeczą, chociaż gdyby samo RAII było to też bym się nie gniewał. Najgorzej jak jest i jedno i drugie i trzeba kombinować. W ogóle moim zdaniem D niepotrzebnie się w szablony ładował, można było generyki zrobić albo coś w tym stylu, i tak większość ludzi używa szablonów tylko, żeby sobie listę albo vectora konkretyzować. No i jeszcze są te problemy, że język to nie wszystko, a wokół D też super nie jest - każda biblioteka ma inny sposób budowania, tu bud, tu rdmd, tu makefile, tu dsss jeszcze a tu jeszcze coś i trzeba się nieźle napocić, żeby uzyskać pliczki .lib/.a które chcemy (a w D rządzą linuxiarze więc binarek nie ma).
</rant>

Ale i tak jestem dobrej myśli, nie można się pogrążać.
Tytuł: Odp: Język D
Wiadomość wysłana przez: 11 w Listopad 19, 2012, 22:15:52
Dojrzałość, z definicji, przyjdzie z czasem. ;)
Tytuł: Odp: Język D
Wiadomość wysłana przez: shd w Listopad 19, 2012, 22:29:24
W ogóle moim zdaniem D niepotrzebnie się w szablony ładował, można było generyki zrobić albo coś w tym stylu, i tak większość ludzi używa szablonów tylko, żeby sobie listę albo vectora konkretyzować.
Dla odmiany - dla mnie jedną z najlepszych zalet tego języka to możliwości metaprogramowania.
Oczywiście, nie każdemu się to podoba bo oczywiście ma to swoje wady, ale nikt nie zabrania używać ich w wersji minimalistycznej.
Garbage collectora fanem nie jestem, ale dzięki jego obecności zacząłem się w końcu porządnie zastanawiać nad zarządzaniem pamięcią, a w szczególności mark/release. Jest to problem, który nie ucieknie, a przecież jego waga w aplikacja wysokowydajnych jest dość znacząca. Tak więc, trzeba patrzeć na pozytywną stronę życia :)
Tytuł: Odp: Język D
Wiadomość wysłana przez: Avaj w Listopad 19, 2012, 22:54:31
Dla odmiany - dla mnie jedną z najlepszych zalet tego języka to możliwości metaprogramowania.
Oczywiście, nie każdemu się to podoba bo oczywiście ma to swoje wady, ale nikt nie zabrania używać ich w wersji minimalistycznej.
Tyle teoria, a jednak wszelkie ficzery od szablonów po mixiny/define'y skutecznie ubijają próby podpowiadania składni i dają bardzo interesujące błędy kompilacji (w D i tak jest lepiej z tym niż w C++, chociaż manglowane nazwy też dają popalić).
Garbage collectora fanem nie jestem, ale dzięki jego obecności zacząłem się w końcu porządnie zastanawiać nad zarządzaniem pamięcią, a w szczególności mark/release. Jest to problem, który nie ucieknie, a przecież jego waga w aplikacja wysokowydajnych jest dość znacząca. Tak więc, trzeba patrzeć na pozytywną stronę życia :)
taki paradoks. Mówi się, że w C++ trzeba zastanawiać się nad zarządzaniem pamięcią, ale faktycznie jest tak, że tu i tu się zastanawiasz, tylko w inny sposób. W c++ bardziej się zastanawiasz jak zrobić, żeby wszystko zwolnić co trzeba, a w garbage collected zastanawiasz się jak zrobić żeby aplikacja zbytnio nie zwolniła :D
Tytuł: Odp: Język D
Wiadomość wysłana przez: shd w Listopad 19, 2012, 23:03:59
Tyle teoria, a jednak wszelkie ficzery od szablonów po mixiny/define'y skutecznie ubijają próby podpowiadania składni i dają bardzo interesujące błędy kompilacji (w D i tak jest lepiej z tym niż w C++, chociaż manglowane nazwy też dają popalić).
No tak, ale myślę, że widok compile-time jaki był w descencie, plus odpowiednio rygorystyczny duck typing w definicji szablonów zaradzi temu problemowi. Po prostu D potrzebuje biblioteki współdzielącej AST przez zarówno kompilatory jak i narzędzia (w szczególności IDE). Jakiś czas temu był dość duży wątek w tej sprawie i mam nadzieję, że niedługo się coś ruszy w tej sprawie.
Tytuł: Odp: Język D
Wiadomość wysłana przez: nembutal w Listopad 20, 2012, 00:13:08
Dojrzałość, z definicji, przyjdzie z czasem. ;)
Jak się zasiało chwasta to może dojrzewać i dojrzewać, ale zawsze będzie to chwast a nie pomidor. Sory za tą metaforę. Nie wiem jak to jest z D, ale przypuszczam, że nie wprowadzą nigdy żadnych zmian, które by skasowały kompatybilność z już napisanym kodem.
Np. C++ w swoim czasie to był język cholernie dobrze zaprojektowany. Stroustroup nawet popełnił książkę tylko o tym dlaczego podjął takie a nie inne decyzje projektowe. Nie wiem czy ktokolwiek po nim tak poważnie podszedł do projektowania języka ogólnego przeznaczenia.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Avaj w Listopad 20, 2012, 00:19:51
Jak się zasiało chwasta to może dojrzewać i dojrzewać, ale zawsze będzie to chwast a nie pomidor. Sory za tą metaforę. Nie wiem jak to jest z D, ale przypuszczam, że nie wprowadzą nigdy żadnych zmian, które by skasowały kompatybilność z już napisanym kodem.
Np. C++ w swoim czasie to był język cholernie dobrze zaprojektowany. Stroustroup nawet popełnił książkę tylko o tym dlaczego podjął takie a nie inne decyzje projektowe. Nie wiem czy ktokolwiek po nim tak poważnie podszedł do projektowania języka ogólnego przeznaczenia.
D 2.0 zerwał kompatybilność wsteczną z D 1.0. Aczkolwiek teraz dążą do ustabilizowania języka i bardzo ostrożnie wdrażają jakiekolwiek zmiany, które mogłyby uszkodzić istniejący kod.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Listopad 20, 2012, 09:26:55
A w jaki sposób rozwija się biblioteka standardowa? Pamiętam straszny syf z tym, jest teraz lepiej? Jak wygląda proces wdrażania do niej nowych bibliotek? Czy jest coś na kształt Pythonowych PEP?

Jak wygląda zarządzanie pakietami? Jest powszechne repozytorium pakietów, do którego ludzie mogą łatwo podpinać swoje libki (np przez githuba) i które inni mogą instalować w konkretnej wersji z linii komend?
Tytuł: Odp: Język D
Wiadomość wysłana przez: 11 w Listopad 20, 2012, 11:53:42
Jak się zasiało chwasta to może dojrzewać i dojrzewać, ale zawsze będzie to chwast a nie pomidor.  ...
Np. C++ w swoim czasie to był język cholernie dobrze zaprojektowany. Stroustroup nawet popełnił książkę tylko o tym dlaczego podjął takie a nie inne decyzje projektowe. Nie wiem czy ktokolwiek po nim tak poważnie podszedł do projektowania języka ogólnego przeznaczenia.
Rozbawiłeś mnie, prawie spadłem z krzesła. C++ to jeden z najgorzej zaprojektowanych języków, właśnie ten język można porównać do chwasta. I to takiego, który rośnie wszędzie sam z siebie.

A co do "powagi" Stroustrupa - mało chyba wiesz o językach. Rationale pisane jest bardzo często.
Tytuł: Odp: Język D
Wiadomość wysłana przez: nembutal w Listopad 20, 2012, 14:36:44
Rozbawiłeś mnie, prawie spadłem z krzesła. C++ to jeden z najgorzej zaprojektowanych języków, właśnie ten język można porównać do chwasta. I to takiego, który rośnie wszędzie sam z siebie.
C++ zaprojektowany został chyba ze 30 lat temu. A ciągle ludzie wybierają go z własnej nieprzymuszonej woli (co oczywiście staje się kłopotliwe bo są nowe platformy, które do tego nie zachęcają). Jeżeli to nie świadczy o dobrym designie języka to ja nie wiem co może świadczyć. Poczekamy, zobaczymy, gdzie obecne nowe wynalazki będą za ok. 20 lat.
Oczywiście dyskusja staje się subiektywna np. dla mnie chwastem jest C# - serwowanym w wielkiej znanej restauracji, polanym wyśmienitym sosem i posypanym toną cukru, ale ciągle chwastem.

A co do "powagi" Stroustrupa - mało chyba wiesz o językach. Rationale pisane jest bardzo często.
Który jeszcze z nowych języków ma coś w stylu "The Design and Evolution of C++"?
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Listopad 20, 2012, 14:51:56
@up jak nie lubisz czegoś w C#, to sam powinieneś rozumieć, że jakość języka (jakkolwiek rozumiana) i jego market share to dwie różne rzeczy.

C++ się nie wybiera do nowych projektów bo ma dobry design (no big deal, wiele języków ma dobry design, często przy mniejszym nakładzie archaizmów sprzed 30 lat), tylko dlatego, że jest sprawdzony, dobrze działa, jest rozwijany, ma biblioteki, ma narzędzia, można zatrudnić ludzi którzy go dobrze znają.
Tytuł: Odp: Język D
Wiadomość wysłana przez: 11 w Listopad 20, 2012, 14:53:35
Który jeszcze z nowych języków ma coś w stylu "The Design and Evolution of C++"?
Chociażby Ada 2005/2012.
W książce "The D programming language" Alexandrescu również przedstawia rationale dla składników języka D.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Avaj w Listopad 20, 2012, 22:14:41
http://www.kickstarter.com/projects/2083649206/the-d-programming-language-conference-2013-0

WIN!
Tytuł: Odp: Język D
Wiadomość wysłana przez: Avaj w Maj 17, 2013, 21:56:47
DConf 2013 Day 1 Talk 5: Using D Alongside a Game Engine by Manu Evans (http://www.youtube.com/watch?v=FKceA691Wcg)
Tytuł: Odp: Język D
Wiadomość wysłana przez: Paweł w Maj 17, 2013, 23:02:10
A możesz w kilku(nastu) zdaniach streścić?
Tytuł: Odp: Język D
Wiadomość wysłana przez: Avaj w Maj 17, 2013, 23:20:36
http://dconf.org/talks/evans_1.pdf tu są slajdy

TL;DR:

"Rozważaliśmy język jako skryptowy do gry, rozważaliśmy Lua, C#, C++ ładowany z DLLki. W końcu zdecydowaliśmy się na D i fajnie to wyszło, mamy fajne ficzery. Niestety garbage collector ssie więc z niego praktycznie nie korzystaliśmy".
Tytuł: Odp: Język D
Wiadomość wysłana przez: Avaj w Maj 31, 2013, 10:58:33
Wyszła nowa wersja kompilatora DMD - 2.063.

Do pobrania: http://dlang.org/download.html

Changelog z bugfixami i uzasadnieniem zmian: http://dlang.org/changelog.html
Tytuł: Odp: Język D
Wiadomość wysłana przez: timus w Kwiecień 13, 2015, 15:28:34
Trochę odkopuje, no ale trudno.

Przez ostanie dni postanowiłem rzucić okiem na ten język, początkowo bylem nastawiony sceptycznie, naukę zacząłem od przeczytania "Programming in D" pana Ali Çehreli i dość się zdziwiłem ponieważ sam język okazał się bardzo ciekawy i dziwi mnie fakt, że jest tak mało popularny. Według mojej opinii bije na głowę c++ i jego przestarzała koncepcje używania preprocessora.

Z tego co wyczytałem z poprzednich postów to ludzie narzekaj na brak dobrego IDE dla D. Ja osobiście wybrałem Visual Studio 2013 Community + Visual D, ta kombinacja daje mi obsługę debuggera i pełny intelisense. Oczywiście istnieją również pluginy do innych IDE jak Eclipse, XamarinStudio/MonoDevelop czy nawet Code::Blocks. Jak ktoś woli to można również autocomplete podpiąć pod VIM, Emacs czy SublimeText.

Za jakiś czas na warsztacie powinien pojawić się mój pierwszy projekt gry w D, wtedy będę mógł więcej powiedzieć o praktycznej stronie języka.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Xirdus w Kwiecień 13, 2015, 15:52:14
Gdzieś czytałem, że D się nie przyjął, bo mimo że jest bezsprzecznie lepszy od C++ pod każdym względem, to jednak jest za mało lepszy żeby opłacało się przepisywać wszystko i przebranżowić wszystkich.
Tytuł: Odp: Język D
Wiadomość wysłana przez: Kos w Kwiecień 13, 2015, 16:11:11
D jest teraz pewnie całkiem dojrzałym językiem, ale zaczynał jako taki trochę "playground do pisania kompilatorów" i było wtedy ogromnym ryzykiem zaczynać w nim projekt. Do tego bałagan z licznością bibliotek "standardowych".
Mam nadzieję że teraz jest lepiej...

Zobacz też na Go - ta sama 'nisza' językowa (w cudzysłowiu, bo to jest nisza pełna pajęczyn C i C++), ale dramatycznie inne podejście do języka. Jest minimalistyczny, jest bardziej opinionated niż D, narzuca konkretny styl pisania i - co najważniejsze - od dnia zero ma bardzo dobre toole. Debugowanie jest lewe, ale cała reszta wzorowa. (No i megakorporację za plecami, co też buduje zaufanie...)

Przykład z toolami: na wczesnym etapie rozwoju, jak Go miał jeszcze łamiące zmiany w języku, to zamiast utrzymywać kompatybilność, dostawałeś narzędzie do automatycznego przepisywania kodu na nową składnię.
Drugi przykład: instalowanie bibliotek. W C++ to piekło, w Go jest "go get github.com/user/foolib".

Nie chcę robić offtopu o Go, tylko próbuję pokazać co język potrzebuje mieć (poza ficzerami językowymi) żeby wyrobić sobie miejsce.
Tytuł: Odp: Język D
Wiadomość wysłana przez: timus w Kwiecień 13, 2015, 17:16:56
@Xirdus
Ale do Indie w sam raz :D

@Kos
O Go wiem tyle, że jest, postaram się rzucić okiem w wolnym czasie.
Co do biblioteki podstawowej to z tego co mi wiadomo w D są 2: jedna do pierwszej wersji języka a druga do obecnej 2 wersji.
Toole jakieś też są np.:

Trochę się zdziwiłem bo jest sporo dostępnych wrapperów/bindingów do D m.in. OpenSSl, Allegro, SDL2, OpenGL, GTK+, Qt, itp
Tytuł: Odp: Język D
Wiadomość wysłana przez: Xender w Kwiecień 13, 2015, 22:49:19
Porywam wątek celem wykolejenia! :P

D kompiluje się do LLVM?
Jest Emscriptenowalne?

Jak D się integruje z Pythonem?

Bo C/C++ się integruje np. poprzez Cythona...
Teoretycznie, bo jak próbowałem skompilować PySFML, to coś nie szło.

A jakby D się integrowało jakoś ładnie, to bym się zainteresował...
Tytuł: Odp: Język D
Wiadomość wysłana przez: Xirdus w Kwiecień 13, 2015, 23:02:13
Z pobieżnego googlowania:

D kompiluje się do LLVM?
Tak, chociaż są pewne małe problemy na Windowsie

Jest Emscriptenowalne?
Nie za bardzo.

Jak D się integruje z Pythonem?
Nie potwiedzam, nie zaprzeczam - ale pierwsze strony wyników dla paru zapytań nie napawają optymizmem.
Tytuł: Odp: Język D
Wiadomość wysłana przez: timus w Kwiecień 13, 2015, 23:04:44
D kompiluje się do LLVM?
Jest Emscriptenowalne?
LDC to kompilator D wykorzystujący backend LLVM, wiec powinno dać rade. Nawet komuś się udało: http://forum.dlang.org/thread/kujd8q$1rio$1@digitalmars.com (http://forum.dlang.org/thread/kujd8q$1rio$1@digitalmars.com)

Jak D się integruje z Pythonem?
Z tego co widzę to ktoś już napisał wrapper cpyhtona: https://github.com/ariovistus/pyd (https://github.com/ariovistus/pyd) warto rzucić okiem na przykłady.