Hi there,

> On 31. 12. 2023, at 5:20, Agile Developer <fithis2...@gmail.com> wrote:
> can you give me a case not covered by a typed language? I'm  really curious, 
> because the more I think the more I see modern PL practice/research has 
> uncovered typed language strengths. These days, typed languages solve more 
> and more issues traditionally solved with dynamic languages.

Well, each task which can be solved exploiting the dynamic language can be 
solved statically just as well (after all, all today's languages are 
Turing-complete, are they not?).

The question is the price.

In these cases, the price usualůy is heaps of hard-to-write and hard-to-read 
boilerplate (just compare the straight elegant and easy-to-use EOFault of the 
original ObjC-based EOF with the terrible mess of EOFauts of the new Java-based 
EOF!), which increases the danger of bugs (far far beyond the very small number 
of potential dynamic-caused bugs which a static system can prevent). Also, this 
static-induced boilerplate completely destroys readability, maintainability and 
intention-revealingness of code.

That's essentially why Groovy did occur instead of the statically-typed and 
boilerplate-infested Java: to allow us to write a clean, easy-to-read, 
understand and maintain, dynamic code.

And also that's why statically typed languages are a completely wrong approach. 
The right approach is adding as-much optional typing as-reasonably-possible 
without breaking the dynamic behaviour in the slightest, like e.g., Objective C 
does[*].

All the best,
OC

[*] Almost, but not completely perfectly.

Reply via email to