What is Expressiveness in a Computer Language
Joachim Durchholz
jo at durchholz.org
Wed Jun 14 15:04:34 EDT 2006
Raffael Cavallaro schrieb:
> On 2006-06-14 09:42:25 -0400, torbenm at app-1.diku.dk (Torben Ægidius
> Mogensen) said:
>
>> It takes longer for the average
>> programmer to get the program working in the dynamically typed
>> language.
>
> Though I agree with much of your post I would say that many here find
> the opposite to be true - it takes us longer to get a program working in
> a statically typed language because we have to keep adding/changing
> things to get the compiler to stop complaining and actually compile and
> run
I think Torben was assuming a language with type inference. You write
only those type annotations that really carry meaning (and some people
let the compiler infer even these).
> a program which would be perfectly permissible in a dynamically
> typed language such as common lisp - for example - heterogeneous lists
> and forward references to as yet non-existent functions.
Um... heterogenous lists are not necessarily a sign of expressiveness.
The vast majority of cases can be transformed to homogenous lists
(though these might then contain closures or OO objects).
As to references to nonexistent functions - heck, I never missed these,
not even in languages without type inference :-)
I don't hold that they are a sign of *in*expressiveness either. They are
just typical of highly dynamic programming environments such as Lisp or
Smalltalk.
Regards,
Jo
More information about the Python-list
mailing list