Re: On the benefits of reflection

Massimo Del Zotto <[email protected]> Tue, 19 Mar 2013 20:15:06 +0100
Newsgroups gmane.games.devel.sweng
Message-ID <CALWCaoYePuKJ9LFTwrV5s22Y88NUSsHb_F0Mb4Rm8_OoaJOAXw@mail.gmail.com>
--===============2031526997==
Content-Type: multipart/alternative; boundary=e89a8fb1fda464a2c904d84bec36

--e89a8fb1fda464a2c904d84bec36
Content-Type: text/plain; charset=ISO-8859-1

Let me elaborate on those points so I hope people can get in my point of
view.

1- "Trivial" network system. Done for ages, before reflection was in vogue.
Considering how UDK manages that thing, I believe we're cutting a lot of
corners. What's the problem in just doing serialization in the standard way?
2- Config system. No idea what "the same hardware" is supposed to mean. I'd
be careful in making my networking subsystem work the same as a disk IO.
3- save load. In my system, just restoring VM state is going nowhere. Maybe
the scripts will just churn along. Sure engine state isn't going to make it
there.
4- Message passing... through the networking system? I don't see the
connection with reflection. I'd be extra super careful in doing that.
Message passing to who? For what purpose? At what frequency?
5- I am using reflection myself in my system as well. Good for your friend.
Perhaps you could contact him and ask what exactly made his work easier?
I'd be interested in considering those cases. As I said, I have this little
language of mine I want to evolve in the right direction.

  I then use reflection to automatically type safe handle the messages.
>  So, you just put:
> void handl( msg.MoveTo move )
>
>   And higher level code calls down into it.  If this shows up in
> profiling, ill special case the heavily called messages and leave the rest.
>
>
I have no idea on what you mean there. I actually don't even understand
what's really the point. The prototype you show leaves me confused. If the
above is the equivalent of void handl(Message *something) then I'm afraid
this could work with dynamic_cast in some cases or with structures designed
to be somehow analyzed, perhaps through a "property" system. What is the
extra plus reflection gives me?

Massimo

--e89a8fb1fda464a2c904d84bec36
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div>Let me elaborate on those points so I hope people can get in my point =
of view.</div><div><br></div>1- &quot;Trivial&quot; network system. Done fo=
r ages, before reflection was in vogue. Considering how UDK manages that th=
ing, I believe we&#39;re cutting a lot of corners. What&#39;s the problem i=
n just doing serialization in the standard way?<br>
<div>2- Config system. No idea what &quot;the same hardware&quot; is suppos=
ed to mean. I&#39;d be careful in making my networking subsystem work the s=
ame as a disk IO.</div><div>3- save load. In my system, just restoring VM s=
tate is going nowhere. Maybe the scripts will just churn along. Sure engine=
 state isn&#39;t going to make it there.</div>
<div>4- Message passing... through the networking system? I don&#39;t see t=
he connection with reflection. I&#39;d be extra super careful in doing that=
. Message passing to who? For what purpose? At what frequency?</div><div>
5- I am using reflection myself in my system as well. Good for your friend.=
 Perhaps you could contact him and ask what exactly made his work easier? I=
&#39;d be interested in considering those cases. As I said, I have this lit=
tle language of mine I want to evolve in the right direction.<br>
<br><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"m=
argin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"l=
tr"><div>=A0 I then use reflection to automatically type safe handle the me=
ssages. =A0So, you just put:</div>


<div>void handl( msg.MoveTo move )</div><div><br></div><div>=A0 And higher =
level code calls down into it. =A0If this shows up in profiling, ill specia=
l case the heavily called messages and leave the rest. =A0</div></div></blo=
ckquote>
<div>I have no idea on what you mean there. I actually don&#39;t even under=
stand what&#39;s really the point. The prototype you show leaves me confuse=
d. If the above is the equivalent of void handl(Message *something) then I&=
#39;m afraid this could work with dynamic_cast in some cases or with struct=
ures designed to be somehow analyzed, perhaps through a &quot;property&quot=
; system. What is the extra plus reflection gives me?</div>
<div><br></div><div>Massimo=A0</div><div><br></div></div></div>

--e89a8fb1fda464a2c904d84bec36--

--===============2031526997==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Sweng-Gamedev mailing list
[email protected]
http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com

--===============2031526997==--