07.08.2022

Сергій Немчинський: Як вивчати 2 мови програмування одночасно? І не збожеволіти?

Сергій Немчинський
6 хвилин перегляду
Сергій Немчинський: Як вивчати 2 мови програмування одночасно? І не збожеволіти?

Більшість новачків лякає необхідність вивчення одразу кількох мов. Так, часто буває, що крім основної мови, потрібно вивчити ще SQL, JavaScript, верстку, може щось ще. Як це все помістити в голові, щоб каша не вийшла?

Більшість мов схожі

Насправді переважна більшість мов, які вам доведеться вивчати, схожі одна на одну. Більш того, майже всі сучасні мови є С-подібними (за винятком Python), відповідно вони мають дуже схожий синтаксис. В них схожі описи методів і класів, одні й самі фігурні дужки, цикли for і оператори if тощо. Майже всі такі мови ООП (крім SQL). Якщо ви пишіть на PHP і дописуєте якийсь шматок на JS, у вас буде фактично той самий синтаксис.

Звичайно, різниця є і вона відчутна, але … Більшу частину часу при вивченні програмування ви витратите, щоб навчитися розуміти вимоги замовника, декомпозувати завдання, тестувати написаний код, розгортати програму та інше. Усе це взагалі не стосується мови програмування.

Відповідно, ці знання ви отримуєте лише один раз і далі використовуватимете в будь-якій мові програмування, якою користуєтеся. Саме тому досвідченому програмісту досить легко перевчитися з однієї мови програмування на іншу, тому що 9/10 знань у нього вже є.

SQL потрібно знати всім бекенд-розробникам

З мовою SQL дещо інакше (SQL – це мова запитів до бази даних). Знання SQL абсолютно ультимативно для будь-якого програміста, що програмує backend мовою (PHP, Java, C#, Python, Ruby, Node.js та ін.). Вона використовується у більш ніж 80% проектів. При цьому SQL дуже відрізняється за синтаксисом від C-подібних мов. Тішить те, що SQL досить проста, у неї дуже мало ключових слів. Єдина проблема – це зрозуміти, як вона працює.

Кожна база даних має свій діалект SQL, але відмінності у них мінімальні. Тому, якщо ви вивчили ANSI SQL, тобто стандартну SQL, переходячи навіть на незнайому базу даних, вам потрібно буде тільки подивитися відмінності. Найчастіше відмінності будуть в обмеженнях у кількості видачі рядків і ще декількох дрібниць. Якщо у вашій мові використовується ORM (object-relational mapping), то, швидше за все, саму SQL писати вручну ви не будете. Раджу просто змиритися з тим, що SQL потрібно знати та витратити тиждень, щоб вивчити основи.

До якого рівня вивчати SQL? До того рівня, коли ви зможете написати запит до кількох таблиць. Тобто select з join. Вибрати з таблиці employee всі дані, у яких назва department така-то. Я думаю, що навіть для самого програміста-початківця розібратися, як зробити цю вибірку, піде тиждень або навіть менше.

Всі інші мови про одне і дуже схожі.

Не стрибайте з мови на іншу

Потрібно згадати про ще один важливий аспект. Є новачки, які скачуть з однієї мови до іншої. Запам’ятайте, що ви повинні вивчати лише ті мови, які є додатковими до вашої. 

Наприклад, якщо ви Python розробник, вам не потрібно перескакувати на її прямих конкурентів – PHP та Ruby. Що має сенс вчити? Звичайно, SQL. А також Java Script, бо будь-який бекенд розробник рано чи пізно потрапляє в ситуацію, коли потрібно щось підправити на фронті. Ви можете не любити фронтенд та JavaScript, але це наша реальність, це потрібно знати.

Підсумуємо

Ви вчите свою основну мову програмування + якщо ви на бекенді, як слід вивчаєте SQL, якщо на фронтенді – вчіть верстку та CSS. Я також раджу спробувати щось із паралельної роботи. Тобто. новачкам-бекендерам спробувати написати щось на фронті, хоч би валідацію форми. Якщо ви фронтендер – написати щось на бекенді, наприклад щось на php. Це дуже сильно додасть вам знань і не займе так багато часу. Вам не потрібно ставати професіоналом із програмування паралельною мовою, але ви отримаєте загальне уявлення.

Завжди ваш Сергій Немчинський