Akademicka publikacja, ale robiąca wrażenie aż do opadu szczęki włącznie.
Kolesie dorobili do C (kod wynikowy idzie przez kompilator C, więc jest oczywiście zgodność w obie strony itepe idede) obiektówkę, delegację (przekazywanie wiadomości), wyjątki (prawidłowe try-catch-finally), domknięcia (!) i nie tylko opisali porównując z ObjC oraz C++, ale na dodatek wykonali ładne benchmarki na podstawie test-suite’u poszczególnych ficzerów dla każdego z tych trzech podejść do “obiektowalności” C.
http://arxiv.org/abs/1003.2547 – czytam PDFa i mam mieszane odczucia. Z jednej strony “wow” i gigantyczny szacun za zrobienie czegoś takiego dla staruszka C, w tak kompletny sposób i tak dobrą (jak na C) składnią. Z drugiej strony ten język nigdy nie był projektowany z myślą o tego typu rozszerzeniach i to się niestety widzi w składni.
Osobiście raczej zostanę przy D, ale chyba się tym COSem pobawię
Fajne! Chocaż obiekty i wyjątki w C to w sumie nic nowego (np. GTK, z tego co ja doświadczyłem), to tu jest znacznie łatwiej i bardziej elegancko. Nie znam D – jak to wygląda w porównaniu z tym jezykiem?
Ogólnie jeśli chodzi o języki obiektowe rozszerzające C, to mam mocno mieszane uczucia: C++ to jakaś masakra zdatna do użytku tylko w postaci znanej z Qt, Objective-C jest chyba lepszy, ale rozsądne biblioteki dostępne są głównie na MacOS X (nie będę zaczynał tego tematu bo zaczne przeklinać), a D to jakieś Yeti… każdy słyszał ale tylko Tomash zna z praktyki ;D.
Fajne jako ciekawostka, ale w praktyce na co to komu? Jak ktoś chce mieć “obiektowe C” to ma C++ (którego łatwo z C można łączyć). Przypomina mi się maksyma “You can write FORTRAN in any language” :).
Zadaj takie pytanie ludziom od GTK+ i Gnome dlaczego w zasadzie woleli stworzyć GObject dla C. Takich wynalazków jak ten powyżej w historii C było pewnie więcej niż frameworków PHP. I właśnie ObjC i GObject (który z Valą nie wygląda tak źle) to dwa najsławniejsze i najpopularniejsze obecnie. Nawet RubyC w pewnym sensie podchodzi pod to.
Na co to komu… no chyba to pytanie jest faktycznie zadane o 15-20 lat zapóźno ale czuję że będziemy jeszcze je zadawać przez kolejne 15-20.