On Thu, Jan 03, 2002 at 01:33:29AM -0500, Michael P. Soulier wrote: | On 02/01/02 Richard Cobbe did speaketh: | | > > > Perl does have strong types, but they don't really correspond to the | > > > types that most people are used to thinking of. Perl's types are | | Personally, I wouldn't call Perl strongly-typed at all. I code all day | in Perl, and I love it, but I also know what a pain it can be for | programming in the large, due to all those cool features that make | coding a 1000 line script so easy. | | It's difficult to call any language that doesn't include types of | return values to functions strongly typed, especially when the | existing types are all automagickally casted based on context. Most | perl errors show up at runtime, not compile time.
Wrong -- this is called "dynamically" typed and is an independent property from "statically" typed. See a few days ago where I gave some examples of static weak static strong dynamic weak dynamic strong type systems. Perl falls into the "dynamic weak" category. Python is strongly typed but it too is dynamically typed. | My biggest complaint? The dynamic binding means that you can call a | subroutine that doesn't exist, and you won't find out about it until | runtime, which may be a segment of code that executes once per | year. Typos are hell. This is a tool problem, not a language problem. This is one of the main complaints people have about dynamic typing on comp.lang.python, but the solution is to create a tool, not to change the language. For python someone created PyChecker that looks at your source and attempts to spot the most common errors and report them to you. -D -- Through love and faithfulness sin is atoned for; through the fear of the Lord a man avoids evil. Proverbs 16:6