amarao (amarao_san) wrote,
amarao
amarao_san

Category:

О разнице в именовании переменных

Во, ещё, в догонку. Существует большая разница в именовании переменных в математике и программировании. Почему математики счастливы с a,b,c,x,y,z,i,j с примесью букво-типизации (греческие - угол, abc - грани, xyz - координаты, ijk - индексы), а программисты от такого должны кривиться?

Потому что у математиков переменные выступают в роли данных. Ни один программист не даёт имена собственные для данных (мы будем называть первый байт файла "first_of_the_kind", второй байт - "second" и т.д.). Если называет - то это уже константы (которые именованные и у математиков, и у программистов). Он эти данные обрабатывает, используя именованные конструкции - типы, структуры, переменные, имена функций, etc.

Математик делает то же самое. Его функция - f, но он-то говорит не про 'f', а про, например, "формы", "линейные комбинации", "полином", "квазиполином" и т.д. То есть имена собственные во все поля. Иногда именование становится жутким "кососимметрическое тензорное поле на многообразии", но стремится к точной передаче сути явления. Математики дают имена собственные для сущностей, которые находятся в их фокусе внимания. А весь болейрплейт идёт в самой компактной возможной нотации c = aij. У программистов он тоже идёт, какой-нибудь for k, v in d.items(): yield "%s:%s" % (k, v) отличный пример такой нотации. Оно настолько вне фокуса внимания, что можно однобуквенные переменные.

Но большинство программистов решает не математические задачи. Я бы даже сказал не задачи, а 'make things which do things'. И там фокус внимания очень часто оказывается на том, что и с чем делается, а не решается. И в этом случае самые большие усилия по именованию приходятся именно на переменные и функции (классы), а так же их типы, потому что это как раз и есть описание "как, что и с чем делается". А математическая часть проблематики (алгебраические поля, алгоритмические вопросы структур данных и т.д.) - она как раз вне фокуса. Нужна, но не важна.
Tags: программирование
Subscribe

  • Вид со стороны Sacré-Cœur

    ЗЫ Обратите внимание на количество ржавых крыш.

  • Лувр

    Весь Лувр просто набит людьми, которые перерисовывают картины. Большая часть из них увешана табличками "не фотографировать", но этот, видимо,…

  • (no subject)

    Тродосовское (в рамках программы "каждый день по равке").

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 4 comments