Значение программы на вашем языке и программа на вашем языке - PullRequest
10 голосов
/ 26 ноября 2011

Я читал Код завершен 2 .Поскольку я не являюсь носителем английского языка, некоторые утверждения требуют некоторого времени, чтобы я понял.Я хотел бы, чтобы вы описали разницу между этими двумя утверждениями, которые автор сделал в своей книге:

  1. Вы должны программировать на свой язык (язык программирования).
  2. Вы не должныне программируете на вашем языке.

Почему в плохо и рекомендуется в ?

Ответы [ 3 ]

10 голосов
/ 26 ноября 2011

Насколько я понимаю, это означает думать за пределами вашего языка программирования.

То есть в означает, что вы мыслите языком, поэтому ваше мышление ограничено самим языком, и программа, которую вы пишете, может быть нелегко перевести на другой язык, если это необходимо.

Но в означает, что вы мыслите алгоритмами, то есть свободно, а затем переводите на желаемый язык. Таким образом, вы можете легко написать код на любом языке, который вам известен.

Но поскольку я на самом деле не читал книгу, это может быть совершенно неправильно в контексте.

8 голосов
/ 26 ноября 2011

Запрограммируйте на ваш язык означает, что вы используете язык для создания «недостающих» частей - используйте его, чтобы делать больше, чем в настоящее время. Такие вещи, как создание отсутствующей структуры данных, алгоритмы и способы выполнения задач, которые не являются родными для языка.

Запрограммируйте на ваш язык означает именно это - не пытаясь использовать его.

Я думал, что примеры, приведенные в книге, были довольно хорошими.

3 голосов
/ 26 ноября 2011

Автор приводит собственный пример в этой части книги (которую, к сожалению, я не помню). Вы можете попробовать прочитать чуть дальше.

Это означает, что даже если язык не поддерживает особенно удобную функцию, поскольку вы всегда должны думать о написании читаемого, простого в обслуживании модульного кода, вы должны попытаться найти способ эмулировать эту функцию, даже если она не поддерживается. в соответствии с языком, вы должны это задокументировать, чтобы другие разработчики, которые могут изменить код, придерживались того же правила. Я не могу привести пример прямо сейчас, но я думаю, что легко понять обоснование.

...