[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: OT: Language War (Re: "C" Manual)



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



Reply to: