News for hackers. Stuff that matters.
Re:Three Months of Go, from a Haskeller’s perspective (2016) by julian_1 on Sunday March 19, 2017 @05:16PM (#13909689)
I hate "clever things" as well, but it's worth being precise about what constitutes cleverness in different languages.

Dynamic languages - ruby, python, bash, objective C etc - allow all sorts of cleverness - such as monkey patching, attribute injection, dynamic lookup - because of their dynamic runtime. All the checks about whether the code makes sense is performed at runtime.

Languages with more mature/strong/static typesystems are initially restrictive - but the emphasis in cleverness is to be able to know upfront - and at compile time - if the code expressed is consistent in the way data and effects are represented and expressed.

Of course - there are other kinds of code complexity -in terms of ease of understanding, and maintainability - that will always involve tradeoffs considering the task at hand and nature of the programming environment (solo, community, commercial, academic etc).

There are no comments on this comment yet.