
programming ... languages, and in particular the way that programmers use them, afford a capacity for essentially limitless amounts of abstraction, unlike human language and human communication.
Au contraire! Humans use just such powerful abstractions in language, arts and sciences — what we call humanity is built on no less. They're called *memes*.
The only difference is that humans communicate on a foundation of shared experience that is a little more fuzzy and infinitely richer than the result of a data-base lookup.
Simon Yarde
On 22 Jan 2014, at 23:35, Keshav Kini
Lucas Paul
writes: This is my take, as a CS undergraduate.
I'm not sure if we can say that a programmer's language of choice determines the way they think about programming (the strong version of linguistic relativity for programming, as I see it). But I think it's fairly obvious that the language we choose to use to solve a problem affects how we think about the solution. That's basically the entire raison d'être for domain-specific languages (DSLs)!
DSLs are popular (and becoming more so) precisely because the right choice of DSL can make expressing the solution to a particular kind of problem almost trivial. A poor choice can almost doom an endeavor. Imagine trying to query a database in assembly language. No SQL. It would at the very least require some mental gymnastics that a SELECT statement simply obviates.
I think this can be partially explained by noting that programming languages, and in particular the way that programmers use them, afford a capacity for essentially limitless amounts of abstraction, unlike human language and human communication. For example, I might easily have a magic library that does exactly what I want, with bindings for my programming language of choice, in which case I don't need to think about what to do, I just call the appropriate function. In human communication, while someone might have perfectly formulated exactly the idea I want to communicate, it is rarely sufficient for the purpose of communication to say "insert pages 204 through 356 of _Foobar_ by John Doe here" in the middle of a conversation :)
-Keshav
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe