среда, 24 декабря 2008 г.

Настоящий кодер всегда ленив

Правда, ленив в правильных местах и в правильное время.
От направленности на экономию своего собственного времени у кодера выигрывают все в проекте.
Это настоящий программист напишет все с ноля, и правильно.
А кодер не будет тратить время на написание своего фреймворка.
Он подождет пока для него это сделает настоящий программист, и с благодарностью найдет баги, и будет пользоваться когда будет подходящяя задача.
Кодер ленив даже в процессе обучения.
Если книга по языку программирования с кучей примеров, то надо, конечно, найти место в интернете, где все эти примеры лежат в виде файлов. Авторы книг, которые не создают таких уютных мест, вызывают вопросы о собственной вменяемости. А невменяемый автор врядли напишет что-то такое, что вменяемые люди смогут понять и использовать. Начинающий, который будет тратить собственное время не на гимнастику с кодом, создание собственного маленького проектика, а на вбивание всех этих буковок и цифирок с опечатками в своем мегаредакторе, не далеко уйдет от невменяемого автора, который не заготовил для него уже вбитого кода. При определенной виде невменяемости, когда весь напечатанный код вбивается и приводится к правильному и работающему виду, наинающий чего-то научится. Но настоящий, по-правильному ленивый кодер к этому времени уже положит на полку вторую или даже третью вменяемо написанную книгу, наигравшись с примерами сколько ему надо было.
Это все была присказка.
Сказка будет о недавно прочитанной мною книге "Google Web Toolkit Solutions", в которой на основе определенного набора задач раскрывается мощь технологии Google Web Toolkit (далее GWT). Оставляя вне сказки приятную ,вкусную, и полезную суть GWT, замечу, что технология мне все более и более нравится. Особенно с учетом того, что настоящие программисты не спят и пишут на ее основе библиотеки расширений, в которые встраиваются современные AJAX-технологии. Теперь Java-кодерам не обязательно вникать в хитросплетения javascript-фреймворка, чтобы пользоваться набором контролов (или widget'ов) современного вида и интерфейса.
О книге скажу, что немного устарела, авторы на своем просто английском описывают то, что уже можно найти встроенным в библиотеки расширений GWT. А настоящий кодер не будет переделывать по-новому старые задачи изобретения велоспеда. В защиту книги можно упомянуть, что издана она в 2007-ом.
Авторы книги не сглупили, код всех примеров они позволили получать на специальном сайте.
Можно скачать специальный jar-файл, в котором упакован код, и которого есть варианты под несколько операционных систем.
Файл этот разархивируется, а внутри оказывается заботливо подготовленная структура для работы ant-скрипта, который конфигурирует каждый из подпроектов.
Но вот беда: авторы, которые даже в книге скриншоты делали судя по всему под Макинтошем, внесли в build.xml ошибочку, из-за которой конечный пользователь получает странную ошибку вида:
Cannot run program chmod, CreareProcess error=2

Ошибка возникает из-за того, что в Windows нет программы chmod, которорая изменяет права доступа к файлам.
Если аккуратно закомментировать или удалить строки в файле code/build.xml вида:


то все придет в норму, ant сформирует на основе пользовательского build.properties и папок конфигурации config для каждого из проектов служебные файлы, которые безропотно съест eclipse, и ленивый кодер сможет вволю покопаться в чужом коде.