Submitted by Alan (not verified) on Wed, 12/19/2007 - 01:50.
The other procedural languages you mention may not have a direct implementation of "null contagion", but languages that are reasonably reflective would allow attempted attribute access and catching a failure thereof. For example, in Python:
try: name = product.offering.merchant.name
except AttributeError: name = None
displayMerchantName(name)
"Narrative mismatch" - nice phrase !
A reasonably common smell, which will be easier to find now that I have a concept for it.
Oliver Steele lives in Western Massachusetts and commutes to downtown LA, where he is bringing an operating system from handwaving to reality. He was the architect of OpenLaszlo, the author of PyWordNet and other open source projects. His interests include programming languages, knowledge representation, information visualization, and math education. [more]
The other procedural languages you mention may not have a direct implementation of "null contagion", but languages that are reasonably reflective would allow attempted attribute access and catching a failure thereof. For example, in Python:
try: name = product.offering.merchant.name
except AttributeError: name = None
displayMerchantName(name)
"Narrative mismatch" - nice phrase !
A reasonably common smell, which will be easier to find now that I have a concept for it.