Skip to content

Interesting angle on static vs. dynamic.

Interesting angle on programming: Tool-based vs. language-based approaches to improving programming.

Certainly helps to explain why so many developers believe so strongly in ‘their’ way. Also goes deeper into the discussion regarding static versus dynamic language design. That discussion is almost entirely analogous to the tool vs. language discussion, for a simple reason.

Static-based language design makes it easy to make the tool support go a very long way. Of course, dynamic-based design does allow you to pull off neater tricks in the programming space itself much more quickly.

Also, in many ways, all those aforementioned ‘neat’ tricks are solvable quite easily given a sufficiently powerful IDE. For example, eclipse is already working on implementing compile-time checks for ensuring that @NonNull-annotated items are for certain never null. Something that Tim Sweeney has been asking for, not to mention my own preference for such a mechanic.

So far I’ve been looking for a sort of ‘holy grail’, where the language is very powerful but still capable of being analysed to bits by the IDE. This article suggests that it’s very very difficult to get there, and may even overload the programmer’s capabilities of comprehension. I’m not entirely sold on that notion just yet, but it’s an interesting angle I hadn’t considered until now.