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
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 ;-)
So many of our dreams at first seem impossible,
then they seem improbable, and then, when we
summon the will, they soon become inevitable.
GNU: never give up freedom http://www.gnu.org/
vos-d mailing list