Часто вижу в книжках рассуждения о полезности использования идиом, привычки к ним. Это позволяет сразу "по привычке" оценивать, что делает типовой участок кода, и позволяет легче увидеть ошибки.
Например,
i=0;
while(i <= n-1)
array[i++] = 1.0;
и
for(i = n; --i >= 0; )
array[i] = 1.0;
не являются типовыми, а типовой -
for(i = 0; i < n; i++)
array[i] = 1.0;
Если для C++ - то
for(int i = 0; i < n; i++)
array[i] = 1.0;
Идиома С для удаления последнего символа из строки:
string[strlen(string)-1] = '\0';
В общем, суть ясна Ж:-)
А вопрос вот в чём: есть ли где-нибудь своды этих самых идиом для разных языков? Особенно для С и Ады. Понятно, что в любых книжках по программированию примеры по идее должны быть в идиоматическом виде... И всё-таки, хочется почитать как можно более полный свод. Если знаете, где такое можно раздобыть - подскажите, пожалуйста.