> Copying bad design is not good design.
>
>> Ok making hammer by copying bad hammer design is not good. Seems like a some 
>> minor point that should not go as the first statement.

This is a major point, both in hammer design and in language design. Even with 
a mature technology like hammer design, fashion still plays a role. For 
example, the fad for titanium in carpentry, or the cultish following for the 
[Hofi hammer](https://www.angele-shop.com/shop/en/hofi-hammer-handforged) 
Titanium has a sexy space-aged reputation for strength and lightness, but lacks 
the crucial combination of hardness and toughness, and the 'ergonomic' Hofi, 
optimized for a low moment of inertia, is more tiring and less accurate in 
practice than the elongated [japanese 
style](https://www.workshopheaven.com/scht1782-shtickle-hand-forged-kozuchi-dogs-head-forging-hammer.html)
 for extended production work.
    Similarly pythonicity is assumed uninterrogatedly to be synonymous with 
ergonomicity; having done much right, it can't possibly have done anything 
wrong. Copying fashionable/sexy features is a common trap that's easy to fall 
into, and taking a philosophical stand against that is well worth stressing.

> If the compiler cannot reason about the code, neither can the programmer.
>
>> In JS or Ruby there's no compiler at all, yet programmers are able to reason 
>> about the code.

compiler/interpreter/transpiler tomato/tomato. the point, i believe, is about 
when it's justified for the <box that turns words into electrons> to impose 
it's own limitations on a programmer's intent, and is an argument for a strong 
type system.

> There should be one and only one programming language for everything. That 
> language is Nim.
>
>> There should be one and only one hammer for everything...

yes, well, maybe the metaphor breaks down here. but if i had a 
meta-programmable hammer, able to adjust its own size, shape, and mass on 
command, I'd absolutely only use one.

Reply via email to