Da mesma maneira que o português ou qualquer outra língua falada em uma nação, as linguagens de programação promovem a expressão e a comunicação de ideias entre pessoas diferentes. Todavia, as linguagens de programação diferem das linguagens faladas de duas maneiras importantes. Em primeiro lugar, linguagens de programação também permitem o entendimento de ideias entre usuários e computadores. Em segundo lugar, as linguagens de programação possuem um domínio de expressão mais abreviado do que o das linguagens naturais. Isso quer dizer que elas facilitam apenas a comunicação de conceitos computacionais. Portanto, uma linguagem de programação deve atender pré-requisitos distintos daqueles de uma linguagem natural.Neste estudo, identificaremos as muitas afinidades entre as linguagens de programação e as linguagens naturais. Também estudaremos as diferenças fundamentais que são conferidas pela configuração computacional na qual um algoritmo deve funcionar. Pesquisaremos as propriedades das linguagens de programação, tanto abstratamente, quanto ativamente. Estudaremos como esses conceitos afetam projetistas de linguagens e programadores, em uma ampla faixa de campos de aplicações.Por fim, este estudo é importante porque os alunos de linguagens de programação de hoje, serão os projetistas e usuários das linguagens de programação que serão criadas e utilizadas no futuro. Para se tornar um projetista e usuário de linguagens informado você precisará compreender as linguagens de forma ampla, conhecendo suas propriedades, suas questões fortes e fracas, uma ampla gama de estilos de programação e suas aplicações. Conhecer exclusivamente uma linguagem e o domínio de sua aplicação não fornece tal amplitude de conhecimento que este conteúdo lhe trará.