On 17 January 2012 20:46, Dennis Haupt <d.haup...@googlemail.com> wrote: > i've noticed this since i started to work as a programmer 10 years ago. > programmers in general are supposed to be good at finding simple > solutions, but my experience is: they are not. on the contrary, many > suffer from their individual tunnel visions without being aware of it. > to a hammer, everything looks like a nail.
To borrow from Stuart Halloway: simplicity ain't easy. The example solutions you provide from non-programmers seem straightforward, but that's because they're instructions designed to be followed by a human being, who can infer and reason, rather than a programming language that is constructed around the idea of precise commands. For instance, "you just make pairs" hides a considerable amount of depth. How do you make pairs? You might select one number, then look for another number that is identical, but how do you ensure you don't pick the same number? Or what about "count how often a number is in the list". Again, it seems a simple thing to do, but only if you're giving instructions to a human. In programming there are many additional questions, like where to store the numbers whilst you're counting them. Do you go through the whole list for each number, or do you go through the list once and keep a tally? If you keep a tally, which data structure should be used to implement this? It's often a lot easier to find a complex solution to a problem than a simple one. Simple solutions are hard work to find. - James -- 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