🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #8

Tworzenie systemow obiektowych

#8
From: bo... Marek Sobol
Date: Thu, 16 Nov 1995 00:00
62 lines
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-mail
References: <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