tchort, frz, щодо вашої дискусії про теорію/практику.
Теорія, що не підкріплюється практикою — погано, бо все те штудіювання невідомо чи взагалі десь осіло в голові. Це ми тільки думаємо, що прочитали й запам'ятали — а насправді те, що не використовується, втрачається досить швидко. Це не рахуючи того, що в книжках багато місця може займати« пуста порода», яка вам ніколи не знадобиться, корисна інформація може розбавлятися мотиваційною водичкою (великий розмір книги ще нічого не означає) — щоб відсіяти неважливе, бажано мати можливість порівняти теорію з практикою.
Практика без теоретичного розуміння — теж погано. Так, звичайно, можна без проблем нагуглити готове рішення, вставити його у свій код, і це працюватиме — більше того, всі так роблять. Але, по-перше, щоб навіть вставити його, якісь основи вам треба розуміти. Щоб нагуглити щось — вам треба знати, що́ саме ви шукаєте, і чому половина прикладів, що нагуглились, вашої задачі не стосуються. Якщо нема готового розв'язку всієї задачі, ви можете пошукати вирішення якоїсь подібної задачі й підігнати її під свою — тільки ж для цього вам треба розуміти, що́ в ній відбувається. Поки ви бачите там лише магію — цього не станеться. Знати, як там усе влаштовано зсередини, необхідно, щоб самостійно робити якісь осмислені дії.
Очевидно, вивчення чогось нового вимагає і теорії, і практики. Має бути якась задача (бажано, практична, хоч і нескладна), для якої вивчаний інструмент добре підходить. Але перед цим має бути книжка з основ предмету, щоб ви взагалі розуміли, нащо казати «джахалай-махалай» і чому лампочка після того блимає. Під рукою має бути довідник, де описується функціонал цього інструменту, або ж ви маєте вміти користуватися вбудованою довідкою (якщо є). Книжка також потрібна, щоб ви взагалі подивилися на деякі речі, про існування яких самі б не здогадалися, і які можуть суттєво прискорити вашу роботу (або сповільнити, коли-як), або які в більшості випадків непотрібні, але зрідка необхідні просто вкрай.