+1
И все-таки, хорошо заметно, что мысль о том, что код программы это не продукт, а его дизайн, вами до конца не воспринимается. Ничего страшного, это, увы, даже не все программисты до конца осознают.
  • avatar
  • evsi
  • 06 июня 2013, 17:06
+2
Кодирование(я даже не пишу никогда слово «программирование» — чтобы указать явлению свое точное место) — это не искусство, а утилитарное ремесло.
Кодирование в чистом виде сейчас практически не встречается.
удобство и главное эффективность обучения через эти пресловутые паттерны проектирования
Паттерны проектирования потому так и называются, что относятся отнюдь не к кодированию. И, строго говоря, они даже не привязаны к языку. И да, паттерны это тоже инструмент, но инструмент для творчества, а не для утилитарного ремесла. Ведь не перестает быть творчеством процесс разработки электроники только потому, что в них применяются готовые микросхемы. Паттерны это (в некотором смысле) такие же «готовые микросхемы» для программистов.
Прочитав такую книжку и не зная по сути как программировать
Прочитав книжку по паттернам можно научиться проектировать, а не кодировать. Для кодирования более чем достаточно описания синтаксиса языка. Научившись правильно (к месту) применять паттерны можно научиться создавать программы на достаточно неплохом уровне. Да, это не будут шедевры Рембранта и даже местный краеведческий музей врядли возьмет их в свою экспозицию. Но, как минимум, их будет не стыдно показать друзьям и знакомым. Замечу, что бОльшая часть кода, который тут публиковался, и близко не дотягивает до такого уровня (да-да, отсюда и критика).
Еще раз повторю: кодирование на каком-то языке — это не искусство, а ремесло в рамках более высоких материй и структур инженерного проекта.
Кодирование — да. Но, повторюсь, кодирование в чистом виде сейчас практически не встречается. Для того, что бы делать чистое кодирование, нужно иметь перед собой, как минимум, расписанную до мельчайших подробностей блок-схему программы. Трудоемкость подготовки такой блок-схемы до уровня детализации, когда она будет пригодна для использования кодером, превышает трудоемкость записи той же программы на одном из языков программирования. Это одна из причин исчезновения чистого кодирования как явления.

Одна из особенностей программирования, которая тяжело дается для осознания другим инженерам (и даже многим программистам), это то, что программа это и есть готовый дизайн продукта. И, в отличие от других видов инженерной деятельности, фазы «материализации» дизайна в готовый продукт в программировании сведены практически к нулю, их длительность исчезающе мала, а сам процесс автоматизирован практически полность. Кодирование (именно как процесса набора текста программы) постепенно постигает та же участь, затраты на него мизерны и постоянно уменьшаются. Поэтому говорить о кодировании сейчас практически не имеет смысла, весь процесс создания программы сводится к проектированию.
  • avatar
  • evsi
  • 06 июня 2013, 12:02