[plt-scheme] Why do folks implement statically typed languages?
On Thu, May 31, 2007 at 05:20:06PM -0400, Matthias Felleisen wrote:
>
>
> On May 31, 2007, at 5:13 PM, Robby Findler wrote:
>
> >My experience teaching programmers suggests that they have no idea of
> >how to predict the performance of their programs, and thus there is a
> >natural bias against using such functions, even when there is no
> >performance issue.
> >
> >Also, IMO, basic safety is so ... well ... basic that I believe the
> >unchecked versions shouldn't even exist (I'd be willing to have
> >versions without the runtime overhead if there are static guarantees
> >that they cannot fail, of course).
>
>
> The question is not one of individual functions being safe and
> allowing programmers to create safe programs if they so wish. Instead
> it is a question of providing a safe language so that all programs in
> the language guarantee the "safety" property.
>
> And yes, safety is basic. It's universal and shallow but it is a
> threshold that a language should pass in this day and age. The
> concept is 40+ years old and it is an embarrassment that a huge chunk
> of computing infrastructure was intentionally build atop an unsafe
> language.
The technology for making the software safe and still allowing lots
of interesting data structures was well-established by 1968. This
antedated C. I see some of this heritage in C's type system, but the
saety aspects were largely ignored.
Decent systems languages that pay attention to safety issues have been
designed, implemented, and used, but C remains dominant because it was
there first. the first-to-market issue again.
-- hendrik