Typed and untyped languages
In computer science, some programming languages are typed and some are untyped. Regardless of static or dynamic checking, a language can be strongly typed or weakly typed. This article categorizes languages by a type system.
Static, strong
- Haskell (type-inference)
Static, weak
- C (type declaration -- also, plenty of ways to get around the type-system and do something type-unsafe!)
- C++ (type declaration -- has casts and implicit conversions though fewer than C)
- Java (type declaration -- also has casting)
Dynamic, strong
- Common Lisp (type declarations are optional)
- Python
- Ruby (more precisely, duck typing)
Dynamic, weak
- Perl (loves to do implicit conversions ....)
See Also