6 ms·
We should clarify that knowing how to write a "Hello World" in a programming language does not make you "know" that programming language. In other words, how mu
by omegote 13y ago
We should clarify that knowing how to write a "Hello World" in a programming language does not make you "know" that programming language. In other words, how much should you know about a language to call yourself a polyglot?
- BruceIV 13y agoTake the analogy from natural languages, and you're fluent in any language where you can write simple programs without consulting the documentation (or only minimal consultation), conversant in any language you can get real work done in, and speak broken language X if you know Hello World and not much more. A polyglot should be fluent in multiple languages, from at least a couple different families, and conversant in many more.
- kermitten 13y ago"Conversant in any language you can get real work done in", I think this is a pretty good baseline to define if you know a language or not. :)
- cgag 13y agoWhat it means to be "fluent" in a natural language is probably even more disputed than with programming languages. It is a good metaphor in that sense though.
- SkyMarshal 13y agoFwiw, I've always understood "fluent" and "conversant" to be the opposite of above - "fluent" being the highest level, indistinguishable from a native speaker (slang, dialect, accent all spot on), while "conversant" means able to communicate and get along but obviously it's a second language to you. I don't doubt linquists dispute something like that though.
- cgag 13y agoSame here. I would never call myself fluent in Spanish, but then I've seen people on my level or worse who do and it's frustrating. I've seen plenty of similar arguments online about what it means to be fluent.
- BruceIV 13y ago"Fluent" has a rather vague definition, but the word root means "flowing" (like a river) - if you can speak a natural language in proper idioms without pauses in the wrong places to look for or translate words, you're fluent. "Conversant" is a rather lower standard meaning that you can have a conversation in the language and both understand and be understood.
- zeckalpha 13y agoA language that doesn’t affect the way you think about programming is not worth knowing. — Alan Perlis Just enough to change they way you think about programming. E.g., One need not be an expert programmer in Haskell to have learned the benefits of lazy evaluation or strong static typing.