[plt-scheme] Why do folks implement *dynamically* typed languages?
On May 30, 2007, at 12:57 PM, Paulo J. Matos wrote:
> On 5/30/07, Matthias Felleisen <matthias at ccs.neu.edu> wrote:
>> If I were to write batch programs for a living and a company, I
>> may choose OCAML simply to restrict the pool of programmer-applicants
>> to the intelligent ones. And also because my priorities would shift
>> from invention to fear of maintenance. But I may also stick with
>> PLT Scheme and pour the necessary energy into Typed Scheme to make
>> it fully operational.
>>
>
> Now you got me. I was expecting you to choose PLT Scheme, no questions
> asked. Anyway, PLT Scheme will alse restrict the pool of
> programmer-applicants to the intelligent ones, right?
No. A huge advantage of a language like Scheme is that the entry
barrier is much lower than for OCAML. So anyone can program a little
bit in Scheme. And that's just fine.
OCAML (and Haskell)'s type systems pose such challenges that only
people with a PhD from a good group can really grok it so you have
more filtering there. If they also want to work in industry you know
that they are not into research per se. You're all set.
> Now, from what I understood from the last sentence, you say a company
> should use for it's production code a statically typed programming
> language (and then if you'd use PLT Scheme, you'd stick to Typed
> Scheme?). How about using PLT-Scheme + Contracts and forget types in a
> company environment (using the type system in modules interfaces as a
> kind of soft type checking)?
>
> I'm interested on this one... :)
I was too cryptic. I would develop in PLT Scheme. Plain. I would move
modules to Typed Scheme after development. I want contracts for typed
scheme, but this is a serious challenge to our macro model (combining
two ways of life). And I need to be able to create very small
executables. And that would be my ideal model of programming. But
it's not quite ready, which is why I would at this moment start with
OCAML for batch programs. (If I have to use GUI/graphics, forget it.
PLT Scheme is it.)
-- Matthias