Re: [vos-d] Re: [OFF] typing

2006-03-14 Thread Reed Hedges
On Tue, Mar 14, 2006 at 03:26:28PM +0800, Lalo Martins wrote:
 Not really... you can *emulate* dynamic typing on a more static language
 like C++, but you only get dynamic typing between subclasses of a given
 root point (RefCounted in the case of VOS, IIRC).  In fact, vRef is one
 of the best implementations of dynamic typing for static languages I
 remember seeing.

This has less to do with dynamic typing than memory management... in C++ you can
dynamic_cast any object. MetaObject and meta_cast are partly ways to add more 
structure
to dynamic_cast and C++ polymorphism.

The only thing is, you have to actually cast *to* something, it's not like some
languages where you can just call a method and the object either responds or
fails to (silently or not).

Reed

___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d


[vos-d] Re: [OFF] typing

2006-03-13 Thread Lalo Martins
And so says Peter Amstutz on 14/03/06 14:23...
 That said, there's probably a crossing-over point, where projects
 below some size are better served with a dynamic type system, and
 projects above that size are better server with a static type system.
 The point could also be made that certain dynamically typed languages
 are more powerful (they can acomplish more per line of code) which
 raises the bar.

That is IMO a common misconception from people that don't have a lot of
experience with dynamic typing.  In my experience, static typing is
suitable for *medium* projects, if at all; the larger the project, the
more you want dynamic typing, because it's easier to improve, debug, and
read (large projects have higher rotativity of developers, so being able
to quickly understand the codebase is a major bonus).

As I said before in this thread, I can't think of a project that would
be done better with static typing, except for low-level tasks that you'd
probably rather do in C or assembler.

 So while you can do dynamic type checking in a mostly static
 language, typically you can't do static type checking in a dynamic
 langauge.  In the end this seems less powerful to me.

Not really... you can *emulate* dynamic typing on a more static language
like C++, but you only get dynamic typing between subclasses of a given
root point (RefCounted in the case of VOS, IIRC).  In fact, vRef is one
of the best implementations of dynamic typing for static languages I
remember seeing.

But even that much would be just impossible in C.  You'd have to mess
around with defining your own type system.  It's impossible to
meaningfully find the type of the thing that was passed in one of your
arguments, for example.

On the other hand, it's equally easy to emulate stronger checking on
dynamic languages.  It's just bad practice ;-)

best,
   Lalo Martins
--
  So many of our dreams at first seem impossible,
   then they seem improbable, and then, when we
   summon the will, they soon become inevitable.
--
personal:  http://www.laranja.org/
technical:http://lalo.revisioncontrol.net/
GNU: never give up freedom http://www.gnu.org/


___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d


Re: [vos-d] Re: [OFF] typing

2006-03-13 Thread Hugh Perkins
Lalo,
On 3/14/06, Lalo Martins [EMAIL PROTECTED] wrote:
And you can constrain even that using slots.If you're interested,contact me in private :-) otherwise, just record the fact that it's
possible.(A class with slots makes all attribute assignments failunless the attribute name is in the slots list.)

Hmmm, that does sound like it resolves this issue. Perhaps it's this simple?

I guess there is one other thing I like about C# compared with using Python, which is that once you've compiled it you know you're not going to wait for the application to load, start trying some command, and Boom! you mistyped a variable name, and the program dies... Is there some way to force Python to compile everything right at the start?


___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d