Хотя я согласен с тем, что сказал alex и fast_now, я считаю, что может быть и другое вращение. Это моя собственная теория, и я не предполагаю, что Дейкстра имел в виду то же самое.
Что такое «владение языком»: это способность взять основные строительные блоки языка и поместить их в конструктивные, полезные фразы и предложения. Алфавиты и символы сами по себе бессмысленны. Вы должны соединить их и извлечь из этого смысл. Слова сами по себе бессмысленны; только когда вы помещаете их в правильную последовательность, основанную на синтаксисе и грамматике, они выражают конкретные идеи.
Разве это не то же самое в компьютерном программировании? Мы собрали несколько ключевых слов и символов и сделали из них конкретные работоспособные вещи. Язык программирования имеет символы и грамматику, как и естественный язык. Владение языком программирования требует умения соединять эти (индивидуально бессмысленные) символы и правила, чтобы сделать что-то значимое и полезное.
Я полагаю, что это означает, что существует прямая связь между способностью человека изучать человеческий язык и компьютерным языком. Оба нуждаются в одинаковом наборе человеческих способностей и мыслительных способностей Посмотрите среди своих коллег, и вы обнаружите, что те, у кого плохие навыки программирования, также не могут говорить или писать так же ясно, как другие. У тех, кто хорошо разбирается в людских языках, есть навыки, необходимые для того, чтобы стать хорошими программистами.