неділю, 17 червня 2018 р.

Книжки з програмування: як читати і що саме

З цієї статті Ви дізнаєтеся:
— коли і як варто читати;
— які книги читати, залежно від мови програмування;

Для чого книга взагалі?
Книга — це ресурс для навчання досить грунтовний та об’ємний. Технічна книга часто дає не просто техніки і поради, але й погляд з «пташиного польоту» на певні концепції, ідеї та загальне розуміння предмету.

Технічна книга не читається за один вечір, як художня література. Зазвичай вона забирає дні, тижні, а деколи і місяці для освоєння та розуміння хоча б частини описаного матеріалу. Таким чином, на початку брати велику технічну книгу (а то й дві) і просто читати — малоефективний метод.

Спершу треба визначитись, що ви хочете опанувати.


Якщо йдеться про складні технології, низькорівневі мови програмування, абстрактні поняття та концепції, тоді є сенс сідати грунтовно за теорію і, можливо, в процесі щось пробувати на практиці.

Коли Ви вже вивчив високорівневу (читайте «простішу») мову програмування, наприклад,  Python, захочете також хоча б спробувати себе в мові C, то пройдіть кілька туторіалів за 2-3 години і одразу візьміться кодити. І знаєте що? Нічого не вийде... Низькорівневе управління пам’яттю, вказівники, масиви і маса інших цікавих речей, про які Ви навіть не здогадувалися, програмуючи на Пітоні, не дадуть Вам нічого зробити :-)

Тоді прийдеться взятися за підручник, і поки не перечитаєте близько половини з нього, не зможете запрограмувати найпростішого скрипта. Тобто має прийти розуміння певних речей, а вже тоді можна переходити до практики.

Тепер інший приклад:
Якщо починаєте вивчати нескладні технології, де для перших експериментів достатньо знати кілька простих фактів, читати цілу книгу немає змісту. Принаймні, із самого початку.

Розбираючись з HTML, можна пройти 2 онлайн-туторіали за 1 годину і одразу почати експериментувати. Адже, щоб написати кілька нескладних тегів, не потрібно вивчати вищу математику. Достатньо отримати інформацію про те, які є теги і коли їх варто використовувати.

Так само багато хто робить із мовою Python. Спочатку — кілька швидких онлайн-курсів на кілька годин. Далі практика та написання хоч якогось коду. Потім паралельно вже починавють базову книгу, знову ж таки, паралельно кодуючи та застосовуючи інфу з книги на практиці.

Підсумуємо:
— починаєте вивчати щось новеньке і не знаєте, чи воно складне? Спробуйте швидкі курси, статті, туторіали. Не допомогло? Шукайте книгу;
— знаєте, що технологія загалом не є, як кажуть американці, «rocket sience» (не складно) — тоді книгу почитаєте вже коли набудете трохи досвіду, так вона вам буде значно зрозумілішою і кориснішою;
— точно знаєте, що буде складно (наприклад, компільована мова або мова зі складними конструкціями та парадигмами, розробка під певну платформу вимагає багато специфічних знань) — тоді одразу шукаєте книгу, але паралельно не забувайте практикувати.

Як краще читати книгу?

Вища математика — це досить часто суто теорія. Програмування — це в більшості випадків (на превелике щастя!) практика.

Відповідно книги по технологіях (мови програмування, розробка під веб, розробка під Android) зазвичай є надзвичайно практичними, а тому треба «набивати руку», щоб матеріал правильно осідав в голові.

Правило номер один: 
Лише практика набиває руку.
Вартує випробовувати приклади із книги одразу в процесі читання. Ускладнюйте їх самостійно, вигадуйте свої власні задачки із застосуванням щойно вивченого матеріалу.

Правило номер два: 
Перечитуйте.
Якщо технологія чи мова для вас зовсім нова і ви ніколи з нею не зустрічались ні на практиці, ні в теорії, тоді швидше за все з першого разу всю інформацію в книзі ви не зрозумієте. Саме тому рекомендується після першого прочитання та деякої практики повернутись до книги ще раз.

Правило номер три: 
П’ять книг — не завжди краще, ніж одна.
Вивчаючи щось нове, буває важко змусити себе перейти до практики. Щоб залишитись у зоні комфорту, ми часто тішимо себе думками, що «я ще мало знаю, мені ще зарано кодити...». Таким чином, потрапляємо в капкан під назвою «Вічний Студент» — людина, яка постійно щось вчить, але нічого насправді не робить зі своїми знаннями.

Щоб почати працювати з новою для вас технологією, достатньо пройти одну базову книгу. Якщо ви вважаєте інакше, відкоментуйте — цікаво, що ж ви таке вивчали... :-)

Часто запитують: «Прочитав щойно Лутца по Пітону, що далі читати найкраще?». Можна відповісти запитанням на запитання: «А скільки рядочків коду ти написав під час прочитання даної книги і що ти очікуєш від наступної книги книги на ту ж тематику?». Якщо людина лише вивчала теорію, тоді варто перечитати книгу ще раз і вже щось написати, нарешті!

Не женіться за кількістю. 
Для початку достатньо одного курсу, однієї книги, одного туторіала, одного відеоуроку, щоб почати перші рядочки коду. Без цих рядочків гріш ціна наступній товстій книзі.

Які книги читати?

А тепер невеличка таблиця книг з різних мов та технологій. Література подібрана для початківців.
Маєте доповнення? Коментуйте, будемо вдосконалювати!
Технологія/мова
  Книги

   Python 

   C++

   Java

   PHP

   C#

   JavaScript

   Ruby/Rails

   HTML/CSS

   MySQL

Немає коментарів:

Дописати коментар