[Bf-committers] Blender roadmap article on code blog

Jonathan Merritt j.s.merritt at gmail.com
Sun Jun 30 05:40:44 CEST 2013


I think that you've hit upon two of the important factors here:
  - familiarity
  - discoverability
To which I would also add
  - refactorability (is that a word? :-)

Those familiar with a project might not see the value in strong typing
simply because it doesn't add much to their personal experience.  They have
less need to explore types, usage locations, etc., because they're already
familiar with them.  However, strong typing does add an additional level of
confidence when re-factoring, which can even benefit those who are
intimately familiar with a code base.  Anecdotally, you hear about this
from people who have had to re-factor Python... things like "You really
come to appreciate your test suite when refactoring", etc.  The reliance on
test suites arising because many compile-time checks are impossible with
dynamically-typed languages.

Jonathan Merritt.


On Sun, Jun 30, 2013 at 1:13 PM, David Jeske <davidj at gmail.com> wrote:

> When I fix bugs in unfamiliar projects, I spend 90% of my time getting it
> to build and playing sherlock holmes tracking down weak-linkages like
> dynamic-typed variables and weak-linkages (like strings used as enums in C)
> -- and 10% of my time actually trying to understand or fix code.
>
> In strong typed code (C, C++, C#, TypeScript, etc) and a modern IDE (Visual
> Studio or one of its many clones), that 90% shrinks dramatically, as I can
> see, understand, and explore the types of variables immediately. I
> hover-over a variable in the IDE it shows the type. I hit "goto
> declaration" it takes me to the type-declaration. No project wide grep or
> guessing at the type of that dynamic-typed "a" paramater.
>
> > How about Python Traits? Note I have no idea how difficult it would be to
>
> > use Traits as a wrapper for Blender's API, although Enthought does
> provide a
> > Traits based wrapper for VTK so I'm sure it would be possible.
>
> I'm not very familiar with Traits, but from a quick look it appears to be a
> run-time assignment validation and format coercion package. It does not
> appear to contain any compiled time variable type information, or the
> ability to do type-aware code-navigation or completion.
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>


More information about the Bf-committers mailing list