Wykład na temat języka D w Krakowie

  • Home
  • /
  • Blog
  • /
  • Wykład na temat języka D w Krakowie

Data: 3 listopada, 2010

BIWAK to nazwa cyklu wykładów dotyczących ciekawostek informatycznych. Na najbliższym spotkaniu zostanie poruszony temat języka programistycznego D.

BIWAK (Bitowy Intensywny Wysoko Atrakcyjny Kurs) to nazwa cyklu wykładów prowadzonych przez studentów, w bieżącym roku akademickim odbywający się co wtorek o godzinie 18:30 w sali 224 budynku C2 Akademii Górniczo-Hutniczej. Organizacją tego cyklu zajmuje się Koło Naukowe BIT.

Język D to wieloparadygmatowy język oprogramowania będący następcą języka C. Jest on ciekawą propozycją dla osób zainteresowanych programowaniem aplikacji natywnych, na które – wbrew pozorom – wciąż jest zapotrzebowanie. D jest językiem nowoczesnym, powstałym w 2007 roku, ale dającym programiście dużo swobody np. umożliwiającym wykorzystanie wstawek asemblerowych.

Wykład na temat języka D zostanie poprowadzony przez Tomasza Jędrzejewskiego dnia 16 listopada.

Podobne wpisy

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone


  1. luzaaak pisze:

    „następcą języka C” kolejny?;)

  2. Hydra pisze:

    nikt jeszcze flejma nie zaczal? ze kolejny bezuzyteczny jezyk?

    1. „Bezużyteczny” to może nie.

      Ale jest z nim kilka problemów: brak dobrej „standardowej” specyfikacji (specyfikacją jest kompilator – chyba), jeden proprietary kompilator od Marsa (chyba zamknięty), jakieś nieoficjalne patche na gcc ale na ogół lagujące za obecnymi gccami, jakieś mgliste plany związane z LLVMem ale mało konkretne.

      A szkoda, bo niektóre pomysły całkiem fajne.

      1. Kenji pisze:

        Kilka sprostowań: dmd jest otwarty, gdc już za bardzo nie laguje, odkąd przejęli go inni ludzie :). Język mnie się nie bardzo podoba i tak ;).

      2. jellonek pisze:

        od marsa sa 2 kompilatory (do 2 dosc roznych wersji jezyka), od gcc masz gdc – wiec prosze zanim zaczniesz sie wypowiadac na temat w ktorym brakuje Ci wiedzy, zweryfikuj ja…

        btw. d jest dosc stary, a mimo tego przez lata nie przebil sie.
        mimo iz bardziej podoba mi sie vala, chetnie bym zobaczyl film z owego wykladu…

        1. Obawiam się że różnimy się po prostu w ocenie co powinien mieć sensowny język. Dla mnie standard i szczegółowa semantyka to podstawa, bez tego język nie istnieje jako taki. A z tego co wiem do D nie ma nawet wyczerpującego i oficjalnego zestawu testów!

          W takiej sytuacji kto mi odpowie na pytanie „jak zachowa się konstrukcja X w sytuacji Y?” – kompilator? Chyba żartujesz… Kompilatorów jak sam piszesz jest kilka. Poza tym mogą równie dobrze uznać że X w Y to jest wewnętrzna sprawa implementacyjna i zmienić to w następnej małej wersji. I nie, to nie są problemy wyssane z palca, jak się programuje prawdziwe systemy to takich problemów jest od groma, szczególnie gdy wchodzi wieloprocesorowość, wielowątkowość, trzeba programować unikając locków i tak dalej.

          Co do kompilatorów to napisałem zgodnie z prawdą więc nie wiem gdzie mi tej wiedzy brakuje:
          1. jest sobie dmd tyle że z tego co wiem nie jest w całości open-source (backend) a kod generuje raczej słaby (tak, testowałem) nawet w porównaniu z gcc, przenośność wersji 2.0 jest słaba (BSD i inne),
          2. jest gcd (czyli patche na gcc) – _jeśli_ są na daną wersję gcc to nawet działają choć kilka padów w testach zaliczyły, jak jest ze zgodnością z językiem to nie wiadomo bo dobrej specyfikacji języka brak,
          3. jest ldc tyle że do D 1.0 i działa tak-sobie, poza tym wciąż – nie wiadomo na ile zgodny z językiem.

          Podsumowując: fajne pomysły, brak specyfikacji i testów, brak otwartego, porządnego, przenośnego i stabilnego kompilatora generującego dobry kod, który działa dobrze i wszędzie. Też bym chętnie zobaczył film z wykładu.

  3. Hydra pisze:

    wlasnie D ma jeden standard. w porownaniu do C/C++ i jeden kompilator z agresywnymi optymalizacjami

    1. I gdzie jest ten jeden standard?

      Który to ten jeden kompilator? I czemu jeden to lepiej niż kilka – konkurencja Ci przeszkadza?

      I gdzie do diaska są te „agresywne optymalizacje”??? Bo z moim skromnych testów wynika że dmd radzi sobie słabiutko, nawet prosty kod z wykrywaniem widoczności zmiennych i alokacją rejestrów (który nawet gcc ogarnia prawidłowo, nie mówiąc o LLVM) potrafi sknocić…

      1. pijaczek.openid.pl/ pisze:

        @gk: standard to nie zawsze oznacza otwarty standard ;p, A standard ustala właśnie kompilator digital mars (czyli mamy przynajmniej jeden zgodny z językiem kompilator… czego nie można powiedzieć o C++, gdzie jeszcze nie istnieje kompilator zgodny ze standardem ISO z roku 1998, a teraz dojdzie jeszcze C++0x to już zupełnie będzie, specyfikacja swoje, kompilator swoje).
        Otwarty standard to zarówno zaleta jak i wada – zaleta, bo wszyscy mają dostęp do specyfikacji i mogą rozwijać swoje kompilatory i narzędzia (inaczej jest z językami takimi jak Java, D czy C#), dużą wadą jest to, że rozwój otwartego standardu jest problematyczny (nie tak jak w wypadku języków które są zależne od jednej firmy i ich implementacja staje się od razu standardem), co bardzo dokucza twórcy języka C++ (Stroustrup) przy standaryzacji C++0x gdzie nie przeszło kilka rzeczy, które były dla niego bardzo ważne.

        Język D jest bardzo fajnym językiem, z bardzo przyjemnymi featurami… ale nie widzę przed nim przyszłości – raczej nie dogoni optymalizacjami kompilatorów GCC czy ICC, nie ma szans mieć takiej bogatej bazy narzędzi, bibliotek, ani wsparcia producentów sprzętu który wymusi programowanie w tym języku na jakieś urządzenie (apple i przymusowa popularyzacja obj-c)… to sprawia, że ten język popularny się nie stanie.

  4. Killavus pisze:

    Jest gdzieś jakieś udane wdrożenie tego D? Jakaś aplikacja sensowna jest w tym napisana?

    1. Mitu pisze:

      A ja chciałbym, żeby ten język się rozpowszechnił. Zainteresowałem się nim jakiś rok temu. Jestem początkującym programistą, więc nie wypowiem się w kwestiach dopracowania samego kompilatora. Ale język jest skonstruowany dobrze, jest wygodny i zawiera sporo usprawnień w stosunku do C.
      Killavus – napisałem już prosty edytor kodu źródłowego z pomocą bindingu do GTK+ (ale nie wiem, czy uznasz go za sensowny program), a teraz piszę komunikator internetowy używając z kolei QT. Fakt, że zarówno zam język, jak i binding do Qt (którego rozwój dodatkowo został wstrzymany) mają pewne braki, ale komunikator na pewno uda się napisać.

      Jeżeli chodzi o bindingi do bibliotek graficznych, to GtkD działa dobrze, podczas pisania nie natknąłem się na żadne błędy. Z Qt nie jest idealnie, ale daje radę.

      1. Killavus pisze:

        Chodziło mi raczej o jakieś większe wdrożenia, być może za którymi stoją jakieś firmy / znane organizacje lub są jako-tako znanymi aplikacjami. To, że napisałeś program jest oczywiście bardzo chwalebne ;)…

  5. Kilka sprostowań:

    – oficjalna specyfikacja języka jest dostępna na stronie Digital Mars i zawiera ona także pełne informacje odnośnie gramatyki.
    – D posiada zestaw testów zgodności ze specyfikacją o nazwie DStress.
    – Szybkość języka zależy od tego, jakiego kompilatora się używa. Do C/C++ też są kompilatory generujące bardziej optymalny i mniej optymalny kod.
    – DMD jest średnio udany i z tym się nikt specjalnie nie kryje, ale pozostałe dwa kompilatory są dużo lepsze. Mimo iż LDC jest w wersji beta, działa bardzo dobrze.
    – Nikt nie mówi o przepisywaniu wszystkiego na D – język z założenia ma być binarnie kompatybilny z C, dzięki czemu może wykorzystywać wszystkie biblioteki napisane dla tego języka.

    Główne problemy:
    – Sama firma Digital Mars, która nie idzie za ciosem i nawet nie stara się zrobić porządnych narzędzi.
    – Wciąż słabe wsparcie dla wieloplatformowości.

    Język tworzą ludzie. To od nich i od ich pomysłowości zależy czy się on przebije czy nie. Pokazuje to choćby przykład Rubiego, który przez pierwsze 10 lat istnienia był praktycznie nieznany i dopiero dzięki jednej firmie, która stworzyła w nim framework do tworzenia stron WWW, nagle stał się bardzo popularny.

    1. Oo – napisali mu wreszcie porządną specyfikację? Możesz podać URL bo jak ostatnio szukałem to nie znalazłem. Może ja jestem ślepy albo oni ją dobrze ukryli… 🙂

      Co do testów to słyszałem, że są trochę słabe ale sam tego nie sprawdziłem więc nie będę się definitywnie wypowiadał.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Newsletter OSnews raz w tygodniu. Bez reklam.