[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Macros and little languages
Christopher Barber wrote:
> You are ignoring the "RAD" qualifier. Static type declarations can be an
> annoyance when you are doing rapid prototyping but can pay for themselves in
> production code.
Agreed. I was just picking on Howard because I wanted to make the point
that sometimes some people want mandatory type annotations.
> This is a good point. The way we deal with this in Curl is to support
> compiler directives that force explicit type declarations and prevent you
> from implicitly using runtime typing features that could lead to runtime
> type errors or slower code. So rather than switching languages to get
> different levels of type checking enforcement, you can adjust your compiler
> directives to suit your development style for your current project.
That sounds like a good strategy but in a sense you really are still
switching languages. If you code for months in one style and then change
your mind, you have to "port" between the languages by adding type
annotations. Obviously this porting is cheaper than porting between two
completely different languages so overall it is a net win. I'm just
pointing out again that there is no free lunch wherein you get all of
the benefits of Java and those of Scheme at the same time.