Hi,

On 25 Nov., 09:40, Sunil S Nandihalli <sunil.nandiha...@gmail.com>
wrote:

> Thanks Meikel for such an insightful feedback. Its hard to imagine so much
> thought goes into writing trivial looking functions.

There are several interpretations of the word "trivial." One is "easy"
or "simple" (where one could dispute whether "simple" is always
"easy"). Another one is the "mathematical" trivial. When a
mathematician says, that something "is trivial", this does not mean,
that this something is "easy". But simply well understood. The
understanding itself is maybe a PhD, but was already done by someone.

Here it is basically the same: this issues re-occur every time you
power-up lazy-seq. Then you have to understand the implications once.
>From this you derive some "rules" which let you operate in auto-pilot
mode when working on a similar problems in the future.

The catalogue of rules you end up with is then called "best
practices." Best practices are frowned upon. But this is stupid. It
means one repeats the same mistakes again and again, which others did
before.

So - as a beginner - follow best practises. If you deviate, give a
good reason for the deviation. But understand the practises as you
dive in further into the language. Why are they the way they are? Are
they maybe obsolete? &c.

The art is to turn off the autopilot, before crashing into the
cliff. :)

Oh! And no one claimed that things are "easy". ;)

Sincerely
Meikel

PS: This is also true for other fields. Take for example Joseki in Go
(the game, not the prog. language). Joseki are sequences of moves
developed by professional players over years. Deviating from such a
sequence is likely to be punished in some way. So you should know what
you are doing. Nevertheless Joseki are always refined, obsoleted,
modified as time advances and play styles change.

Best practises and Joseki are tools. Use them well, and they will
serve you. Use them blindly, and they will cut off your foot.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to