Mark Lawrence <>:

> On 05/06/2014 21:07, Alain Ketterlin wrote:
>> Sturla Molden <> writes:
>>> On 05/06/14 10:14, Alain Ketterlin wrote:
>>>> Type safety.
>>> Perhaps. Python has strong type safety.
>> Come on.
> I don't understand that comment, please explain.

I guess what is referred to is static typing. It serves two purposes:

 1. It makes the managers of software development teams believe the
    junior developers in their teams won't be able to do too much damage
    as the compiler at least enforces some rigor in the code. Hence,

 2. It makes it much easier to automatically optimize the code.

Unfortunately, it also has serious downsides:

 3. The code becomes very tedious to type in. You may need hundreds of
    lines of boilerplate code before it actually does anything. It also
    easily makes you lose your focus.

 4. The flow of the code becomes hard to understand because of the
    boilerplate. Ironically, the very straitjacket that seeks to force
    good quality on you prevents you from seeing the forest for the


    Map<StreetAddress, ZipCode> makeStreetAddressMap(
        List<StreetInfo> infoList) {
        Map<StreetAddress, ZipCode> map =
            new HashMap<StreetAddress, ZipCode>();
        for (StreetInfo info : infoList)
             map.put(info.getStreetAddress(), info.getZipCode());
        return map;


   def make_street_address_map(info_list):
       map = {}
       for info in info_list:
            map[info.get_street_address()] = info.get_zip_code()
       return map


   def make_street_address_map(info_list):
       return dict((info.get_street_address(), info.get_zip_code())
                   for info in info_list)


Reply via email to