| I know very well what the difference between weak vs dynamic typing is. Weak typing allows automatic implicit conversion between types. While I'm not a big fan of it, but I don't mind weak typing as much as I have a problem with dynamic typing. A statically typed language can be weakly typed. Modern C++ for instance, can automatically convert from an object of types A to B, if the you provide a single-argument constructor for B that takes something of type A as an argument. It's sometimes neat as it leads to more succinct/cleaner code. You talk about NASA using Common Lisp to update the program while it's running. But this feature has nothing to do with dynamic typing, and could be implemented/supported by a statically typed language. In fact the JVM had/has a feature that allows live updating methods/classes while the program is running. Common LISP is a cool lanaguge with a lot of cool features. For instance, many LISPs' macro system are very cool, and we could implemented far cleaner / safer / more hygienic versions of them in dynamically typed languages with. The only benefit of dynamically typed languages is that it makes the work of a prototype interpreter implementor far easier. |