Quote:Original post by Falling Sky
What do you think of dynamic type such as in Python, Lisp, Perl, Ruby, and ect over a strict type system such as C's? Do you prefer dynamic, do you think the future lies in dynamic or strict or both?
Users of those languages like to distinguish type systems by two criteria:
strong vs. weak: This relates to the types of objects. The system is strong if you cannot change an object of one type into an object of another, otherwise it's weak.
static vs. dynamic: This relates to the types of variables. The system is static if a variable can only name an object of a certain type, otherwise it's dynamic.
Is this the distinction you're making?
I think the future of programming languages is static typing, but possibly purely by inference (See Haskell). This is because "programs" tend to be more "set in stone" (thus more error checking in the compiler is helpful).
I think the future of scripting languages is dynamic typing. This is because scripts are more malleable (allowing errors to be changed more easily, though type errors are somewhat rare in these languages) and because they need to be malleable (that's why we use scripts, and dynamic typing aids malleability).
As far as desktops go, I think more and more tasks will be handled by applications written in scripting languages. Thus, I think the future of desktop programming is dynamic typing. I think the underlying system, microcontrollers, etc. etc. etc. will still all be done with programming languages due to lower overheads, so I think the future of their programming is static typing.