Article View: pl.comp.objects
Article #8Tworzenie systemow obiektowych
From: bo... Marek Sobol
Date: Thu, 16 Nov 1995 00:00
Date: Thu, 16 Nov 1995 00:00
62 lines
3681 bytes
3681 bytes
quas...@cig.com wrote: >Listem tym chcialbym zapoczatkowac dyskusje nad problemem, >ktory nurtuje mnie juz od dawna. Problem w zasadzie >sprowadza sie do pytania, ktore brzmi nastepujaco: >czy tworzenie prawdziwych systemow obiektowych jest >mozliwe w praktyce? [duuuzo wyciete] Do wszystkich problemow, ktore przytoczyles (utrudnien w konstrukcji systemow obiektowych) dorzuce troszke od siebie (nieco byc moze obok tematu bo nie chodzi mi o tworzenie systemow OO ale raczej o wykorzystanie jezykow i mechanizmow OO w programowaniu). Zajmuje sie osobiscie tworzeniem gier komputerowych. Nie tylko uczestnicze, ale tez jestem jednym z glownych projektantow. Nie sa to male projekty - dosc powiedziec, ze mamy podpisane kontrakty z takimi formami jak Epic Megagames i Electronic Arts. Wymusza to wysoka jakos produktu, wysoka bezawaryjnosc kodu, musimy tez rozsadnie planowac prace dla calego zespolu. To wszystko (i wiele innych czynnikow) przemawia za programowaniem obiektowym. Niestety podstawowym wymaganiem tego typu programow jest wysoka efektywnosc kodu. Nie musze tu chyba tlumaczyc, ze wspolczesne gry komputerowe wymagaja wrecz magii, aby z jednej strony sprostac wymogom efektywnosci, z drugiej zas nie tworzyc kodu utkanego trikami i najkrocej mowiac niebezpiecznego. Na optymalizacji kompilatora mozna polegac tylko w niewielkim stopniu. I tutaj pojawia sie problem, ktory mozna w skrocie zdefiniowac takim zdaniem: "Im bardziej zaawansowanych technik programowania obiektowego uzywa program tym bardziej (niestety) nieefektywny kod jest tworzony na etapie kompilacji". To smutna prawda ale dawno wybilem sobie z glowy uzywanie takich mechanizmow ja: dziedziczenie wirtualne (i w ogole wielokrotne), oduczylem sie definiowania wiecej niz kilku absolutnie niezbednych operatorow w jednej klasie (zwlaszcza operatorow konwersji) itp. Ktos moze zadac pytanie: "Po co komu programowanie obiektowe w grach komputerowych ?". Tutaj moglbym rozpoczac stustronicowe uzasadnienie :-) Popatrzmy na ekran dowolnej gry. Mamy tu obiekty ktore komunikuja sie z innymi obiektami, roznia sie wieloma wlasciwosciami ale wiele maja wspolnych, wchodza ze soba w interakcje, przekazuja sobie rozne proste przedmioty itd. Toz to idealne pole do popisu dla programowania obiektowego. Niestety na drodze bardzo czesto stoi efektywnosc. Jest jeszcze jeden problem: latwosc przzenoszenia na inne platformy. Wiekszosc komputerow ma juz kompilatory C++ ale co z konsolami do gier, ktore u nas sa zagadnieniem marginalnym ale na zachodzie (a zwlaszcza w USA sa trzonem rynku gier. Specjalnie postanowilem dorzucic te kilka slow juz na wstepie planowanej dyskusji bo jak sadze jestem pewnie jedynym na tej liscie, ktory programuje i projektuje gry. Jakby nie bylo stanowia one potezna czesc rynku softwarowego. Mysle wiec ze bedzie to ciekawy kamyczek wrzucony do ogrodka wszystkich tych z Panstwa, ktorzy zajmuja sie konstrukcja edytorow, baz danych, systemow biurowych, systemow wspomagajacych business, oraz szerokiej gamy programow narzedziowych. pozdrawiam ============================= Marek Sobol chaos works & Pc duo software bo...@kme.agh.edu.pl =============================
Technical Details
Message-ID:
<DI4ysF.8or@cyf-kr.edu.pl>Path:
mbox-mo1.pugleaf.net!unknown!not-for-mailReferences:
<95111516582373@cig.com>Show Full Headers
Complete Article Headers
From: bo...@kme.agh.edu.pl (Marek Sobol) Subject: Tworzenie systemow obiektowych Date: 1995/11/16 Message-ID: <DI4ysF.8or@cyf-kr.edu.pl> X-Deja-AN: 119524232 sender: ne...@cyf-kr.edu.pl (News Administrator) references: <95111516582373@cig.com> organization: chaos works reply-to: bo...@kme.agh.edu.pl newsgroups: pl.comp.objects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit