3 ms·
Humans resolve a lot of the complexity intuitively and unconsciously. It is not an inherently bad way to handle it, just incompatible with current programming p
by ntoshev 19y ago
Humans resolve a lot of the complexity intuitively and unconsciously. It is not an inherently bad way to handle it, just incompatible with current programming paradigms. This is not to discount the value of clear explicit thinking in humans, it is just to say that programming would benefit a lot from ability to apply common sense to mundane things.
For some dramatic evidence that imprecise is better and it really works, look at the success of Google and the non-delivery of the Semantic Web. Google's approach is probably best explained by Peter Norvig in his "Theorizing from Data" lecture:
http://www.youtube.com/watch?v=nU8DcBF-qo4 http://www.youtube.com/watch?v=nU8DcBF-qo4
State of the art in natural language processing is achieved with statistical inference, not building precise linguistic models. See e.g. Marti Hearst's text here:
http://www.edge.org/q2008/q08_7.html http://www.edge.org/q2008/q08_7.html
Back to programming languages, I believe that a lot of the Ruby/Rails success is due to mimicking natural language in DSLs. Rails goes as far as using pluralization. DSLs bring convenience at the price of less understanding: people tend to try using them intuitively, without understanding precisely what happens, much more so than they do with libraries/frameworks.
Perl, similarly, was created with linguistic principles in mind:
http://www.wall.org/~larry/natural.html http://www.wall.org/~larry/natural.html
It is by no means conclusive evidence, but I believe there is an underlying trend.