Я схильний вчитися (програмувати) як із книг, так і з «просто вчасно» джерел, таких як Інтернет. І те й інше може бути добре, але в цілому я вважаю за краще вчитися з книг, ось чому:
Коли ви дізнаєтесь лише те, що вам потрібно знати негайно, щоб закінчити частину проекту, іноді ви пропускаєте велику картину. Найкращі книги - це не просто довідники, але в певному сенсі досягають чогось ближчого до учнівства, надаючи чіткий огляд технології та безліч досвідчених порад щодо найкращого вирішення загальних проблем.
Точне своєчасне навчання може дуже легко постраждати від проблеми задоволення, коли ви виявите проблему, яку хочете вирішити, переходите до першого рішення, яке, здається, працює, тоді ви біжите до інтервебу, щоб дізнатися, як його реалізувати. . Однак часто це може зашкодити вам, якби вам вдалося поговорити з досвідченим програмістом про вашу проблему, вони б не сказали вам "ось як зробити X", вони б сказали вам замість "не робіть X, замість цього зробіть Y ". І це такі знання, які ви, як правило, отримуєте з кращих книг. Дійсно, деякі книги повністю про подібні речі, наприклад, Javascript: хороші частини .
Інша проблема, яку може мати навчання в JIT, - це набагато повільніша крива навчання. Завдяки навчанню JIT, ви прагнете вивчати лише те, що вам потрібно знати. Але часто просто базове ядро знань може прискорити вивчення нової мови чи основи. Замість того, щоб спотикатися за основи, ви починаєте з міцного фундаменту, а потім будуєте звідти. Хороший фрагмент матеріалу, який ви можете охопити, читаючи книгу, може бути не для вас відразу корисним, але наявність цих базових знань може бути корисним для керівництва вашим рішенням і особливо для розуміння нового коду, до якого ви піддаєтеся. Звичайно, є компенсація, і є погані книги, які просто купують непотрібні факти, які ви не пам’ятаєте після того, як прочитаєте їх, але є і хороші книги, які дають вам хорошу основу в основах та чому.
Є також книги на більш високому рівні, ніж окремий технологічний предмет, який, на мою думку, є вирішальним для розвитку в якості розробника. Книги, такі як Code Complete , Refactoring , ефективно працювати зі спадщинним кодом тощо. Ви не збираєтеся брати знання з цих книг лише через JIT-навчання.