Linked by Thom Holwerda on Mon 14th Jan 2013 23:15 UTC, submitted by MOS6510
General Development "Programming languages are living phenomena: They're born, the lucky ones that don't die in infancy live sometimes long, fruitful lives, and then inevitably enter a period of decline. Unlike real life, the decline can last many, many years as the presence of large legacy codebases means practiced hands must tend the code for decades. The more popular the language once was, the longer this period of decline will be."
Thread beginning with comment 549118
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[9]: Comment by RareBreed
by satsujinka on Thu 17th Jan 2013 02:56 UTC in reply to "RE[8]: Comment by RareBreed"
satsujinka
Member since:
2010-03-11

Your cat example was simple, so it deserves a simple implementation. If you'd wanted me to model the complete biological workings of a cat; that'd be an example of a complex model that would very much have components that differ in type. And I'd almost certainly want them to be strongly typed; no using a lung as a leg!

All current development models fail horribly at modeling the real world. Weak typing gives you no leverage here. Dynamic typing gives you no leverage. Structured, functional, or object oriented paradigms give you no leverage. The world is a messy graph that you can't simplify into something nice and neat.

Python is a strong language. There isn't any debate about this. It's simply a fact.

Reply Parent Score: 2

RE[10]: Comment by RareBreed
by ndrw on Thu 17th Jan 2013 19:54 in reply to "RE[9]: Comment by RareBreed"
ndrw Member since:
2009-06-30

The "cat" example was simple object yet most type systems would fail to classify it properly. Real objects have multiple "types" in many hierarchies, often changing over time.

As for python - there was never any debate about it. It has always been a weakly typed language by most definitions (admittedly, not yours). In fact, Guido had to often defend his choice against legions of people who prefer strong typing:

http://www.artima.com/intv/strongweak.html

Reply Parent Score: 3

RE[11]: Comment by RareBreed
by satsujinka on Thu 17th Jan 2013 20:57 in reply to "RE[10]: Comment by RareBreed"
satsujinka Member since:
2010-03-11

Then why does the second page of what you linked explicitly say it's not weak typing? Why does Wikipedia's page say Python is strongly typed? Why do all of c2's pages on typing say Python is strongly typed?

No, I'm afraid you're wrong. Python is strongly typed. It's just checked at runtime.

How would most type systems fail to classify a cat properly?

data FurType = Short | Long | Medium
data Color = Black | Orange | White | Tabby | ...
data Cat = Cat { hungry :: Bool, fur :: FurType, color :: Color, ... }

mycat = Cat True Short Black ...

It isn't that cat's are hard to design a strong model for. It's that there's no point in doing it because it's irrelevant. The following is just as sufficient for this.

(True,"short","black",...)

Reply Parent Score: 2