[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
base).
Mike