As a trained linguist and former university language instructor, people often assume that my natural language* (spoken, signed, or written) learning analysis background made learning to code easier for me. They might say something like “That makes sense, they’re languages, right? They have syntax.” These casual comments seem true on the surface when talking about parts of speech and variable types. But once you dig deeper, it becomes clear that there are far more differences than similarities between these types of languages despite the shared name. However, many skills and methods I have utilized in learning languages and teaching languages as an adult to adults have served me well as a developer.
This talk first addresses key points of divergence between learning a natural language and a programming language. Perhaps most importantly, natural languages are meant for communicating with people and programming languages are meant for giving a computer directions.
However, many areas of overlap exist in learning and perfecting these skills; these shared aspects of learning are the primary focus of this talk. (* And, yes, that’s the same ‘natural language’ as in ‘natural language processing.’)