Здравствуйте, baily, Вы писали:
B>1) Число идентификаторов в программе на несколько порядков превосходит число идентификаторов в научных формулах.
B>2) Контекст научной формулы гораздо шире контекста программы. Почти все сущности в формуле читающему известны.
Безусловно, маленькую простую программу, написанную в плохом стиле еще можно осилить, но чем больше она становится, тем важнее становится стиль написания кода. С другой стороны, маленькая программа тоже выиграет от хорошего стиля.
Ну и вы говорите про отдельно взятую формулу, но в научной статье она же не отдельно взятая, а использует обозначения, определенные и используемые в этой статье и только в ней, либо в серии связанных с ней статей (что еще хуже). Таким образом, нужно все их держать в голове, когда читаешь статью. И запомнить пару десятков невразумительных одно-двухбуквенных названий с двойными индексами вроде как сложнее, чем нормальные имена переменных, потому что нормальные имена переменных сами объясняют свое значение, их и запоминать не надо. Мне казалось, что уж программисты-то должны понять идею. Другое дело, что не все программисты пишут хороший код и понимают, чем хороший код отличается от плохого. Ну с такими и спорить не о чем, так как они просто не понимают предмет спора.
B>for(int indexOfMyVectorOfApples = 0; indexOfMyVectorOfApples < vec.size(); ++indexOfMyVectorOfApples )
По-моему, это синтаксическая проблема языка си, а именно то, что в данном выражении приходится одну и ту же переменную указывать три раза. Такой for — это вообще артефакт си-подобных языков. Я в детстве учил си после паскаля, и мне сишный for показался дико громоздким и нелепым. Собственно, это было правильное впечатление.
Возможен и другой синтаксис:
for (int appleIndex in 0..vec.size()-1)
Так лучше?