> In Spry I use methods a lot, obviously, since Spry is dynamically typed.

Do you mean, you use them whilst coding in Spry, or while coding the Spry 
interpreter? Certainly in a Smalltalk like language, or in Java, you'll use 
methods a lot, as there aren't other options.

> Also, I would like for someone to explain what is so bad about methods and 
> how vtable would be so much better - and that is an honest question since I 
> have no idea.

It's a great question, and I'd like to see more language design rationale 
questions like it on this forum. I'm tempted to start a new thread, but the 
forum software doesn't make that easy, so I'll continue here. If you want to 
make a discussion another thread may be better?

I don't think methods are 'bad', by 'methods' here, I mean the (implicit) 
dynamic dispatch/open recursion that makes a language OO. I don't even think 
that multimethods/multidispatch are bad. My view, not necessarily shared, is 
that Nim is a language favoring static/compile time techniques, and that 
there's some kind of inherent tension with baking higher level dynamic 
capabilities into the language, in particular, multimethods, which impose costs 
on the rest of the design. I'd prefer minimalism for the OO part of the 
language; single dispatch and maybe Go-like interfaces. That's a design space 
already well explored in statically typed, imperative languages. 

Reply via email to