Русские документы
Ежедневные компьютерные новости RSS rusdoc.ru  Найти :
Новости
Последние поступления
Книжный магазин
  Hardware:
Видеоустройства
Системные платы
Процессоры
Мобильные устройства
Аудиосистема
Охлаждение системы
Накопители информации
КПК и ноутбуки
Телефоны и связь
Периферия
Система
Сети
Разные устройства
 
  Programming:
Web-разработка
Языки программирования
Технологии и теория
Разработка игр
Программная инженерия
 
  Software:
Операционные системы
Windows 7
Базы данных
Обзоры программ
Графика и дизайн
   
  Life:
Компьютерная жизнь
Разные материалы
   
Партнеры
Публикация
Правовая информация
Реклама на сайте
Обратная связь
Экспорт в RSS Экспорт в RSS2.0
    Читать в Яндекс.Ленте



Изобретайте велосипед часто

Раздел: Programming / Теория разработки @ 19.09.2010 | Ключевые слова: велосипед версия для печати

Автор: bems
Источник: habrahabr


«Просто используйте то, что существует — это глупо, изобретать колесо...»

Вы когда-нибудь это слышали в том или ином виде? Конечно, слышали! Каждый разработчик и студент часто слышит нечто подобное. Почему? Почему изобретать велосипед так постыдно? Потому что, чаще всего, существующий код — рабочий код. Он уже прошел через какой-то контроль качества, тщательное тестирование, и в настоящее время успешно используется. Кроме того, время и усилия, вложенные в изобретение обычно не окупаются так же, как при использовании существующего продукта или кодовой базы. Нужно ли заморачиваться изобретением велосипеда? Зачем? Когда?

Может быть вы видели публикации о паттернах в разработке или книги по проектированию программного обеспечения. Эти книги могут всё еще ждать своего часа, независимо от того, насколько великолепна информация, содержащаяся в них. Точно так же как смотреть кино о парусном спорте это совсем не то, что самому ходить под парусом, так и использовать существующий код, по сравнению с разработкой собственного программного обеспечения с нуля, тестируя его, ломая и исправляя его.

Изобретать велосипед — это не просто упражнение в размещении управляющих конструкций, оно в том, как получить глубокие знания о внутренней работе различных существующих компонентов. Вы знаете, как работают менеджеры памяти? Подкачка? Можете ли вы осуществить это сами? Как насчет двусвязных списков? Классов динамических массивов? ODBC-клиентов? Вы можете написать графический интерфейс, который работает не хуже, чем ваш любимый популярный интерфейс? Вы можете создавать свои собственные виджеты для браузера? Вы знаете, когда писать мультиплексную систему, а когда многопоточную? Как сделать выбор между файл- и память-ориентированной базой данных? Большинство разработчиков просто не реализовывали эти базовые вещи сами, и поэтому не имеют глубоких знаний о том, как они работают. Как следствие, всё это рассматривается как таинственные черные ящики, которые просто работают. Понимания только того что на поверхности не достаточно, чтобы выявить скрытые в толще опасности. Незнание глубоких вещей в разработке будет ограничивать вашу способность создавать действительно блестящие работы.

Изобрести велосипед с квадратными колёсами более ценно, чем сразу же получить его идеальным. Есть уроки, извлеченные из проб и ошибок, с эмоциональной составляющей в них, которые просто невозможно получить читая техническую книгу!

Заученные факты и книжная мудрость очень важны, но становление великим программистом требует больше приобретения опыта, чем простого сбора фактов. Изобретать велосипед так же важно для образования разработчика, как поднятие тяжестей для бодибилдера.

Это интересно:








версия для печатиРаспечатать статью


Вернуться в раздел: Programming / Теория разработки


Реклама:
Читать наc на:

Add to Google
Читать в Яндекс.Ленте






Rambler's Top100
© Copyright 1998-2012 Александр Томов. All rights reserved.