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

Re: Strong Typing, Dynamic Languages, What to do?

> From: Matthias Felleisen <matthias@ccs.neu.edu>
> Date: Fri, 22 Mar 2002 17:11:41 -0500 (EST)
> Let me try to express in a nutshell why we do what we do. Perhaps it
> becomes clear what people should really have. 
> Scheme-style typing (uni-typed statically or dynamically typed; safe no
>  matter what you choose first). It works great for getting small scripts
>  off the ground and for teaching beginners. Then things evolve and, for
>  human reasons, need static validation and static types. 
>  Real-world evidence: Perl, Python and other monsters that are more less
>  broken Scheme's and have a huge appeal. Entire business have been founded
>  on these things, precisely for the reason I mentioned. Writing a script is
>  easy. 
>  The problem? Maintaining it for the rest of your life in that language is
>  horrible work. 
> So what do you want? A smooth, graceful transition of stable parts into a
> statically validated version. 

I agree 100%.  After a script gets to 1000 lines I start *really* wishing I
had type checking.  Before that I could usually care less.  This is equally
true in scheme, python, perl, etc.

> P.S. No, I don't pay much attention to performance. I have lived with High
> Performance Fortran people for 15 years. Enough is enough. 

You obviously don't do simulations, where enough is never enough.  That's
why we still have C++, warts and all.  It's also why cross-language
integration is such an important problem (so you can do the time-critical
stuff in a language optimized for that without polluting the entire code