title: Difference between strongly and weakly typed languages?
body: <p>I have read several pages, including the wiki page <a href="http://en.wikipedia.org/wiki/Strong_and_weak_typing" rel="noreferrer">http://en.wikipedia.org/wiki/Strong_and_weak_typing</a> dealing with strongly and weakly typed languages.  For the most part, I think I understand the difference.  However, I would like a straight to the point answer differentiating the two.  </p>
  
  <p>From my understanding, in weakly typed languages, data types do not have to be explicitly called.  This would be a language like Matlab where you can add 4 and 2.3 without having to typecast.  Strongly typed languages require the programmer to declare a data type for each variable and/or value.  For instance in C, you would need to do something like 4 + (int) 2.3 or (float)4 + 2.3 (can't remember if that is valid C type-casting).  </p>
  
  <p>Any information expanding or correcting my understanding of these concepts would be greatly appreciated.</p>