That's an interesting question.
I'd guess for purposes of defining "fluent", a computer language could be considered fairly similar to a spoken language. My native language is English, and I would say I'm a "fluent" speaker of English. And, although I'm not fluent in any other language, I'm conversant in a few others.
Similarly in Perl, I feel I am more "fluent" than in most other computer languages, even though Perl wasn't my "first language". And just as I occasionally need to lookup English words in a dictionary, I often need to lookup Perl functions, idioms, etc. in the documentation.
I guess, by extension to the analogy, one could liken cpan to specialized words in a spoken language -- if I needed to be able to hold a technical conversation with doctors, I'd need to understand a lot more medical terminology, whereas an in-depth conversation with quantum physicists might require a more specialized knowledge of the language of quantum physics. Likewise, in Perl, there is a lot of "specialized" programming which I don't know intimately (if at all), but when I need to know it, I'll know where to go.
So, the more "fluent" I get, the more comfortable I'll feel using my language skills (in either Perl or English), but I'll never stop having to look things up.
s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/
| [reply] |
How do you define fluency?
One suspects that he defines it in much the same way as the Concise Oxford Dictionary:
2. a ready command of a specified foreign language.
Cheers, Rob | [reply] |
| [reply] |
What is a ready command of the language?
Q: How much water does it take to quench a thirst ? A: A sufficient amount.
I'm one of those people who regard the given answer to that question as satisfactory. I suspect that you deem that answer to be unsatisfactory :-)
Cheers, Rob
| [reply] |