13.01.2023

Сергій Немчинський: Чи варто вивчати старі версії мов програмування, коли є нові?

Сергій Немчинський
9 хвилин перегляду
<strong>Сергій Немчинський: Чи варто вивчати старі версії мов програмування, коли є нові?</strong>

Нещодавно мене запитали: «Чи потрібно вивчати старі версії мови, коли доступна вже нова?».У більшості людей складається враження, що не потрібно. Чи це так насправді — давайте обговоримо.

 

Навчання за підручниками зі старою версією мови

 

Питання досить складне і тут не можна так відразу сказати, чи треба вивчати стару версію. Наприклад, у вас є підручник з 4-ї Джави (на даний момент доступні 19-20 версії). Чи читати цей підручник чи ні? З одного боку, з 4-ї версії в Java дійсно дуже багато чого змінилося. Навіть у Java! Я навів до прикладу цю мову, оскільки це моя основна мова і, до того ж, у ній все змінюється дуже повільно. Але навіть тут відбулися зміни за цей час.

 

З іншого боку, треба розуміти, що базові структури мови які були, такі і залишилися. Вони були розширені, додані нові, але всі старі структури мови досі валідні. Плюс філософія мови здебільшого не змінюється. Тому досить відчутний шматок цього підручника вам допомагатиме і навчатиме того, що потрібно. Але ви не дізнаєтесь, що зараз пишуть на відносно сучасних версіях. До того ж у багатьох випадках нововведення стали якіснішою альтернативою тому, як це робилося раніше.

 

Наприклад у Java після 4-ї версії додалося дуже багато. А от якщо порівнювати 8-му Джаву з нинішньою версією, то нововведень буде мало, особливо з того, що доступне новачкам. Отже, все залежить від мови. Якщо ми говоримо про JavaScript, деякі її версії змінили мову дуже сильно. Брати підручник до 6-ї версії JS абсолютно безглуздо. Читати перші видання з таких давніх мов типу С++ також немає сенсу, тому що зараз прийнято писати код зовсім інакше. Якщо вам потрібно зрозуміти, як взагалі працює ця мова, то старий підручник цілком підходить. Ви навчитеся синтаксису, навчитеся з ним поводитися, у вас вийде написати просту програму і вона, швидше за все, запрацює. Якщо ми не беремо якусь зовсім екзотичну мову. Але з усіх назв мов, які спадуть вам на думку, швидше за все плюс-мінус буде відповідати написаному вище.

 

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

 

Базові підручники актуальні

 

Ще один момент, який я хотів уточнити. Досить часто якісь базові книги з мови досі актуальні. Наприклад “Thinking in Java” (“Філософія Java”) написана для досить старих версій Java, проте актуальність вона не втратила. Там досить добре та якісно описані принципи ООП, як будуються додатки, розбивка додатків на класи, що куди класти та інше. Це не змінилося і, мабуть, ніколи не зміниться. Все залежить від того, що ви братимете з цієї книги. Якщо ви хочете вивчити актуальний синтаксис і дізнатися, як прямо зараз пишуть, краще брати книги, що описують відносно нові версії мови. Якщо ж вам потрібно вникнути в мову, зрозуміти, як усе працює, тоді спокійно можна читати і про старі версії.

 

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

 

Підсумуємо

 

«Чи вивчати старі версії мови, якщо доступні нові версії?». Абсолютно нормально вивчати мову на декілька версій старішу за останню. Тобто, коли ви читаєте книгу, присвячену 1-2 версіям мови тому від поточної. Тому що у продакшені ніхто не використовує останніх версій мови. Найчастіше використовується все-таки версія 1-3-5 давності.

 

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

 

Те саме стосується і курсів. Так що не лякайтеся, якщо курс присвячений мові яка вийшла раніше за останню на 1-2 версії. Нічого критичного ви не втратите, в більшості випадків для новачка це буде не те, що не критично, а просто непомітно.

 

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