Still unclear on the concept
Bjarne Stroustrup discusses static and dynamic typing in an Artima interview:
In a dynamically typed language, you do an operation and basically hope the object is of the type where the operation makes some sense, otherwise you have to deal with the problem at runtime. Now, that may be a very good way to find out if your program works if you are sitting at a terminal debugging your code. There are nice quick response times, and if you do an operation that doesn't work, you find yourself in the debugger. That's fine. If you can find all the bugs, that's fine when it's just the programmer working 14but for a lot of real programs, you can't find all the bugs that way. If bugs show up when no programmer is present, then you have a problem. I've done a lot of work with programs that should run in places like telephone switches. In such environments, it's very important that unexpected things don't happen. The same is true in most embedded systems. In these environments, there's nobody who can understand what to do if a bug sends them into a debugger.
Hmm. I suppose Bjarne is unaware of the widespread usage of Erlang in those kinds of apps? I suppose further that he's unaware of Erlang's dynamic nature? Bear in mind, when he's talking about safety and static typing, he's talking about C++ - so his definition of safety is slightly at variance with mine....

