[BangPypers] "The Python I would like to see" - Armin Ronacher

Saager Mhatre saager.mhatre at gmail.com
Tue Aug 19 09:01:33 CEST 2014


On Tue, Aug 19, 2014 at 11:23 AM, Noufal Ibrahim <noufal at nibrahim.net.in>
wrote:

> On 2014-08-19 11:11, Sriram Narayanan wrote:
>
>  Hi Noufal, could you elaborate on this? I have enjoyed the freedom
>> of non-static typing that Python and Ruby offer, but also sometimes miss
>> the static type checking that C# and Java offer.
>>
>
> Yes. I like the freedom and they're great for prototyping.
>
> When things get large with a lot of moving parts, you need to write
> elaborate tests at every layer to validate the whole thing and even then,
> things slip through.


That's just a question of testing strategy. If you're writing 'elaborate'
tests at every layer, you're probably validating too much or exercising too
much of the system at each layer of testing. The cartesian product of tests
required to validate every implementation at a level of abstraction is
inevitable if you want confidence in all those implementations; but these
need to be limited to each pair of collaborator as far as possible so that
so single test becomes too elaborate. But that's a different discussion
altogether.

However, I always got the sense that dynamic languages made this both
easier and hard at the same time. Easier in that you didn't have to declare
explicit interfaces between layers; harder in that all barking ducks are
only identified at runtime!


> I've also felt that the freedom encourages a kind of loose thinking that I
> have to guard against.
>

I'm glad somebody finally said this; and doubly so that it was Noufal! ;)

- d


More information about the BangPypers mailing list