×

Чому онлайн-курси не навчать вас програмувати

Мене звати Юрій Ворон, я працюю у сфері web-розробки та паралельно розвиваю онлайн-ресурс з програмування для початківців — Ravesli. Я переклав більше 150 уроків із C++ та досить часто отримую питання щодо онлайн-курсів, їхньої ефективності та проблем, які виникають після їх завершення. Ще коли навчався в університеті і проходив численні онлайн-курси, я сам зрозумів, що це далеко не панацея, а лише короткочасне знеболювальне для тих, хто обрав професію програміста. Тому в цій статті розглянемо найбільш поширені причини, чому ж після проходження онлайн-курсу з будь-якої мови програмування ви все-таки не станете одразу затребуваним розробником та як це можна виправити.

Image by Роман Кривенко

Чому так виходить

«Знаєш, тут доводиться бігти щосили, щоб залишитись на тому ж місці, на якому знаходишся зараз. А щоб потрапити в інше місце, потрібно бігти ще в два рази швидше». Ця фраза з «Аліси в Задзеркаллі» цілком описує ситуацію у сфері ІТ.

Складно звинувачувати людину, яка приходить в ІТ з якимись особливими очікуваннями. З одного боку, існує стереотип, що все, що зв’язане з компухтерами, є складним і незрозумілим для більшості адекватних і соціально здорових людей.

З іншого боку, такі ресурси, як Codecademy, Treehouse, Code School, Khan Academy, Codewars, edX, Coursera та безліч інших, виконали фантастичну роботу з руйнування цього стереотипу і показали, що програмування не є чимось незрозумілим і недосяжним. Вас ніжно беруть за ручку і проводять, як дитину, у світ коду, змінних, функцій і масивів. І після кожної пройденої глави ваш рівень впевненості зростає все більше і більше. Допоки у вас не складеться, на жаль, помилкове враження, що ви не просто навчитеся програмувати, ви станете повноцінним та високооплачуваним розробником!

Проте насправді це не так. Любителям отримати результат своєї праці тут і зараз краще й близько не підходити до професії програміста. Жодна серйозна програма (або навіть її частина) не пишеться без помилок з першого разу. Постійна відладка, тести, фікси, перевірки — це те, що програмісти найбільше не люблять і те, що є їхнім основним заняттям. «Первый блин комом» — це історія не про програмістів. У них всі «блины комом» — від першого до останнього. Саме тут від вас буде вимагатися наполегливість і надзвичайне терпіння, щоб довести свій продукт до робочого стану.

Новачку, який якраз проходить онлайн-курси з програмування, дуже складно пояснити, у що він вплутується. Проте після завершення одного чи декількох курсів все стає на свої місця. Вас, як пташенят, скидають з гори у прірву зі словом «лети». І дуже багато наляканих пташенят так ніколи й не злітають. Такі реалії. Найпоширенішою проблемою початківців після завершення онлайн-курсів є те, що основи вони вивчили, але програмувати самостійно не можуть. Висловлюється це так:

  • «Я вивчив Python через онлайн-курс на Codecademy, але не знаю, як за допомогою нього можна щось запрограмувати».
  • «Я знаю теорію, але не можу її реалізувати на практиці в коді».
  • «Я знаю що таке цикли, але я не знаю, як і коли їх слід застосовувати».

І таких варіацій безліч. Зазвичай, завершуючи онлайн-курс з програмування, початківець ставить галочку біля відповідного поля в списку to-do і переходить до вивчення наступної мови програмування в наступному онлайн-курсі. А коли список завершився, усі онлайн-курси пройдені і настав час практики, то буває ступор. Як програмувати, де програмувати, що програмувати, навіщо — і це далеко не остаточний список питань, які виникають у горе-програміста. Розглянемо основні причини, чому після успішного завершення онлайн-курсів з програмування ви так і не навчилися програмувати.

Причина № 1: Штучне середовище програмування

Це те середовище, яке онлайн-курси надають своїм студентам для введення коду. Користувачі зазвичай пишуть код в одній частині веб-сторінки, а в іншій частині розміщені інструкції, що писати, та підказки з готовою відповіддю, якщо ви десь не зрозуміли покрокову інструкцію (згадуємо Codecademy). Це не справжнє програмування, це просто переписування готового коду. Тому, коли онлайн-курс завершився і пора використовувати реальне середовище програмування, як, наприклад, Visual Studio, ви відчуваєте себе «потєрями». Ви просто звикли до колишнього штучного середовища програмування, де були чіткі інструкції, що за чим натискати і що писати. І зараз ви не можете адаптуватися до нового середовища.

Існують вагомі причини, чому онлайн-курси використовують штучне середовище. По-перше, для початківця здебільшого буде складно налаштувати і навіть просто встановити повноцінне середовище програмування. Це вимагає певного часу і зусиль, витрачаючи які горе-початківець подумає, що краще подивитися нову серію улюбленого серіалу, а не оце от все. Друга причина — це затримання відвідувачів максимальну кількість часу, під час якого можна рекламувати платну підписку на матеріали, VIP-акаунти з менторами і т. д.

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

Причина № 2: Надмірна кількість інструкцій і підказок

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

Ще досить розповсюдженим наслідком надмірних інструкцій є те, що початківці вивчають лише синтаксис, без основ програмування і необхідного фундаменту знань. Синтаксис — це лише текст, оболонка, за допомогою якої ви реалізовуєте концепції програмування, які не змінюються в різних мовах. Наприклад, концепція розгалужень, циклів та масивів однакова всюди, проте форма їх використання може відрізнятися. Те, що вам дійсно потрібно вивчати на перших порах, — це основи, які дозволять зрозуміти, що буде результатом виконання написаного вами коду. Необхідний фундамент знань ви можете знайти в Ravesli на прикладі мови C++.

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

Причина № 3: Швидке вивчення

Ви дійсно думаєте, що достатньо пройти один чи декілька онлайн-курсів для вивчення цілої мови програмування? Мова — це лише інструмент, володіння яким не засвоюється ні за 3 години, ні за тиждень, ні за один курс навчання, щоб там не говорили. Тому перестаньте вестися на халяву — її не буде! А буде набагато більше речей, ніж ви могли очікувати, про які вам доведеться дізнатися.

Real talk

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

У такому випадку ви знаходитесь на 2-му етапі вивчення програмування — етапі «Розчарування», коли приходить болісне усвідомлення того, що все насправді не так просто, як було, коли вас водили за руку і допомагали у всьому. На цьому етапі ваша основна робота — постійна відладка програми і сотня запитань, які ви не знаєте кому і де задавати. Хоча спочатку все було так просто. Щоб розчарування вас зовсім не викинуло за борт, ось вам такі поради.

Порада № 1: Завантажте та налаштуйте повноцінне середовище програмування (IDE)

Налаштувати — значить не тільки натиснути три кнопки «оk» підряд і починати програмувати, а саме розібратися з наявними інструментами та можливостями вашої IDE, які потім будуть економити вам не тільки час і зусилля, але і нерви.

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

Порада № 2: Пишіть програми з нуля

Вам потрібно навчитися писати код без допомоги ззовні. Без інтернету, ментора, підказок, інструкцій і книг. Ніхто не каже про написання бібліотек з нуля, проте базові речі та завдання ви повинні вміти виконувати самостійно (наприклад, перевернути string чи реалізувати бульбашкове сортування). У Coderbyte і Codechef ви знайдете безліч подібних завдань.

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

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

Аналізуйте чужий код, зрозумійте логіку його виконання, а потім пишіть власну реалізацію.

Порада № 3: Почніть з малого

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

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

Тому не лізьте поперед батька в пекло. Почніть з простих консольних програм/ігор (наприклад: «вгадай число», тест/вікторина чи хрестики-нулики), а потім вже переходьте до більш складних проектів — створення автоматизованих робочих місць (АРМ), органайзерів тощо.

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

Порада № 4: Пишіть багато коду

Програмування не є чисто теоретичним заняттям. Ви не можете читати книги, дивитися відео, проходити тести, а потім очікувати, що зможете написати S.T.A.L.K.E.R. 2. Щоб навчитися писати якісний код, вам доведеться писати його багато, багато і ще раз багато.

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

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

Кожна ваша наступна програма повинна бути більшою та кращою за попередню.

Порада № 5: Працюйте в парі

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

Порада № 6: Не бійтеся задавати питання та робіть це правильно

Є три категорії початківців-програмістів:

  • ті, які просять допомогу кожні 5 хвилин;
  • ті, які не просять допомогу взагалі;
  • ті, які просять допомогу правильно.

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

Другий випадок. Якщо ви принципово не просите допомоги, то цим тільки гальмуєте свій розвиток. Якщо ви цілий день шукали рішення і не знайшли, то перспектива зекономити наступний день, спитавши поради, — непогана, чи не так?

Щоб ваше питання привертало увагу хороших програмістів дотримуйтеся таких порад:

  1. Скопіюйте та вставте помилку, яка у вас виникла. Програмісти — не екстрасенси, і не потрібно розписувати цілі мемуари, пояснюючи свою проблему. Просто скопіюйте та вставте помилку.
  2. Якщо повідомлення про помилку немає, тоді поясніть, який результат ви очікували від виконання вашого коду, який результат отримали та чому ви думаєте, що ваш код повинен працювати по-іншому. Часто проблема полягає не в коді, а у ваших очікуваннях — що цей код повинен виконувати (повертаємося назад до розуміння основ програмування). Якщо ви не поясните, який результат ви очікуєте, то отримаєте відповідь: «з кодом проблем немає» або «код робочий».
  3. Вставте свій код. Дуже важко виправити проблему, якщо не бачиш перед очима код. Якщо ваш код громіздкий — скористайтеся сервісом Pastebin.com і прикріпіть посилання на свій код.
  4. Вказуйте, що саме ви вже пробували для вирішення проблеми. Це дасть зрозуміти іншим, що ви намагалися самостійно вирішити проблему, а не відноситеся до першої категорії початківців-програмістів.
  5. Будьте обережні з термінологією. Якщо ви не розумієте значення певних сленгових слів — не використовуйте їх.

Де задавати питання:

Висновок

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

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

Пишіть багато коду. Читайте теорію, але не забувайте застосувати теорію на практиці. Працюйте в парі. Читайте, програмуйте, читайте, програмуйте, читайте, програмуйте — безкінечний цикл.

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

Все про українське ІТ в телеграмі — підписуйтеся на канал DOU

👍ПодобаєтьсяСподобалось6
До обраногоВ обраному10
LinkedIn

Схожі статті




42 коментарі

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

ІМХО, але автор трохи не коректний. Утотожнювати усі онлайн курси в ряд до «записаних» текстових або відео уроків та системами віртуального кодінгу з автоперевірками трохи хибно. А як на рахунок курсів з реальними тренерами які викладають онлайн, відповідають на питання та роблять код рев’ю? Так, подібні онлайн-курси на порядок дорожчі та ефективніші та все ще онлайн!
На рахунок допомоги — вона буває різна! Коли сам без допомоги колупаєшся — можна і 10 років колупатись на одному місці без особливого росту. Писати код та писати код якісно — різні речі. Одне діло коли ментор все робить за учня, а друге діло коли направляє але при цьому заставляє самостійно вирішувати перед ним задачі!
Ще на рахунок «просити допомогу»... Найперше потрібно навчитись шукати те, чи нема вже відповіді на питання, а не одразу писати на стековерфлоу «ПАМАГІТЄ» при тому що є +100500 подібних запитань і в кілька разів більше відповідей на ці питання...
Знову ж таки ІМХО, але стаття скоріше не про онлайн-курси, а про те, що запитайте мене (автора) як Вам краще навчатись програмувати...

Быть профессионалом в любой отрасли — большой труд. А чтобы он не был «трудом», занятие надо любить. Любить программить — тогда и книги помогут и курсы, и IDE, и stackoverflow и даже университет не сможет помешать.

Автор молоток. Онлайн курсы слишком ленивый метод чтобы получить результат.

На форуме много топиков, в которых люди обсуждают процесс обучения, я сострадаю их попыткам разобраться в сути.
Предлагаю различать знание, науку, умение и навыки.

Думаю, что если основной мотив студента деньги — то его цель обрести умение, навыки кодить.
А когда человек, хочет изменить мир программируя виртуальные прообразы — его цель знание, наука.

Каждому своё.

Заголовок не соответствует содержимому.
Учитель, обучающий курс, тренажер — ничто не научит английскому, не сделает тело красивым или здоровым, не позволит получить работу настоящего программиста или начать писать интересные статьи.
Курсы не научат, IDE не научит, форумы не научат, гуру не научит, даже реальная работа не научит.
Ничто не учит, всё лишь помогает учиться.
Онлайн-курсы это инструменты. Одни из. Применимые в некоторых случаях, бесполезные в других.
Список советов в статье тоже спорный, но важнее то, что он никак не относится к заголовку.
Лучше бы смотрелся заголовок «недостаточность онлайн-курсов при изучении программирования».

Я пришла к такому алгоритму: начинаю слушать курс и параллельно делаю какую-то реальную задачу на эту тему. В процессе написания кода обязательно возникают проблемы, которые в курсе не освещены — но с вероятностью 99.9% уже решены на stackoverflow )) В итоге получается какой-то код, решающий задачу, но корявый. Потом слушаю / читаю что-то другое по теме и переписываю код более оптимально.

Еще очень помогает конспектировать курс. Тогда если потом возникнет вопрос (или перед переписыванием кода), можно быстро поднять записи и найти нужное.

Конечно, это занимает очень много времени. Но простое прохождение курсов вообще ничего у меня в голове не оставляет.

Це так само як з книгами. Можна читати їх постійно, по 1 книзі в тиждень, але якщо не «переварити» та не застосовувати отримані знання, то таке читання, крім галочок в списку, нічого не дає. Потрібно просто застосовувати знання на практиці, інакше ніяк. Конспектування, до речі, дійсно допомагає.

найкраще іти від задачі і самому шукати ріошення і практики

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

По заголовку решила, что статья — очередная реклама очередных гениальных курсов :D Но нет — приятно удивила.
Если по теме, то онлайн курсы вполне подходят для того, чтобы научиться самым основам и перестать бояться кода как такового, имхо

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

Никогда не забывай кто ты. Ты делаешь, ты умираешь.

По-моему проблема качества курсов банальна — если нормальный прогер стоит грубо говоря от штуки в месяц то сколько должен стоить нормальный препод? Ведь это следующий уровень — не только знать, но и уметь объяснить. А сколько рядовой украинец готов заплатить?

Кто не умеет работать тот управляет
Кто не умеет и управлять тот учит

Не завжди це вірно. Бувають і винятки, коли програмісти хочуть внести свою «лепту» в соціум, чи коли хочеться просто виговоритися. Також є ще твердження, що якщо хочеш досконало розібратися в темі будь-чого — навчи інших. А курси офлайн — це вже взагалі інша історія.

Можете привести пример достаточно толковых программистов, которые совмещают свою работу с преподаванием на курсах?

Я мав на увазі не викладання на онлайн чи офлайн курсах, а саме публікацію статей, кейсів, циклів відео на YouTube, коли просто хочеться поділитися досвідом чи донести певну інформацію. А викладання на курсах — це, на мою думку, ставка більше на фінансову вигоду, а не на «внесення своєї лепти» чи бажання просто поділитися досвідом (можу помилятися). Чи знаю я толкових програмістів, які викладають на курсах? Не хожу на курси, не знаю.

Я знаю таких з області тестування і що? З того, що бачив, часто перемагає бажання викладати + додатковий заробіток + PR (який виливається знов таки в більші гроші потім). Більше викладаєш, тебе більше знають, більше в середньому платять, легше проходити співбесіди.
Інше питання, як онлайн оцінити «достатню толковість»? Хіба що по коду в опенсорс проектах.
Конкренто мене до викладання найбільше мотивує вплив на долі людей. Коли ти бачиш, що вони нарешті зрозуміли, у них світяться очі, міняється голос, з"являється впевненість, росте кар"єра — оце найвища нагорода.

К примеру Иван Головач в свое время давал годные курсы по джаве. Потом подался в скалу и забросил дело. И я думаю таких примеров не мало...

А работал ли он в то же время, когда преподавал? Честно говоря, сомневаюсь, что у него хватало времени и на работу, и на подготовку курсов

Возможно и не работал, но стоимость курсов + к-во групп думаю покрывало то, на что он рассчитывал. Или нет, раз перестал этим заниматся. Во всяком случае в мире есть достаточно сильные прогеры которые преподают.
Кстати знаю еще одного прогера который готовит детей к олимпиадам по Украине и в то же время работает. Но там скорее хобби чем курсы

Чтобы внять знанию нужно уважать знание. Уважать — вот важный навык, над которым надо задуматься молодёжи. Вам проще уважать блестящий общедоступный видео-ролик на английском с ютуба, а может проще уважать живого преподавателя, или дорогостоящую книгу?
Можно ли назвать знанием что то меняющееся как окраска хамелеона?

Знание — это такая живая энергия, она проистекает из источника, коим обычно является автор ролика, книги или живой учитель. Уважение к источнику способствует лучшему впитыванию знания. Внимательность к учёбе зависит скорее не от концентрации и умственных усилий, а от уважения и умения быть благодарным. Знание может даже само раскрываться в сознании ученика как из семечки, когда ученик благодарен учителю. И дело не только в деньгах, но и в уважении к человеку.

один совет который перечеркнет всю эту писанину вверху: Пишите свои pet проекты и обязательно доводите до конца! Все и вы программист с опытом и знаниями!

Без базы вы не сможете даже придумать пет-проект, а реализовать... :)

Дійсно, я щось психанув, розписав тут мемуари.

Правдива стаття, дякую! Збережу в закладки для друзів :)

Годна стаття. Але онлайн курси це ще квіточки, інколи побачиш десь в ленті:

«Курсы по JS, 20к рублей, 4 месяца, 4 часа в неделю...»
???

4 години в ДЕНЬ як мінімум треба, якщо дійсно хочеш програмуванню навчитись. Це стосується і онлайн-курсів, чомусь багато хто вважає що достатньо подивитись 40-хвилинний відос і все, усвоїв тему...

В онлайн-курсах ситуація в цілому краща, але там теж купа проблем і фальшивок, власне у статті непогано вони описані.

Поряд з оголошеннями про курси JS за 4 місяці і 4 години в тиждень ще фото та історії успішних 40-річних випускників: колишніх стоматологів, будівельників, домогосподарок та інших, які після їх завершення зароблять від 1000$ в місяць. Комерція, нічого зайвого.

прочитав вот эту ravesli.com/...​ticheskih-chlenov-klassa писанину я так и не понял в каком порядке инициализируются не статические члены класса

Чому курси не зацікавлені в тому, щоби навчати своїх студентів якимось реальним кейсам, або фреймворкам, які є актуальними на момент навчання?

Заинтересованны, мб не все, но заинтересованы. Просто ожидания от курсов слишком завышены. Как правильно упоминалось в статье: язык программирования всего лишь инструмент. А что если(не говорить никому!) фреймворк — тоже инструмент, причём инструмент во второй степени получается. А что если, оказывается есть 100500 таких инструментов, и флагманов на рынке хватает, учить наобум?
Главная задача курсов — обьяснить достаточно начальной теории для первого приложения, тогда у вас хватит мозгов, чтобы попробовать фреймворк, а не совать в неокрепшие умы фреймворки, API и мультипоточность
Задача № 2 Подготовить почву для дальнейшего продвижения (прим: рассказать, что можно учить чуть позже, дать рекомендации по трендам, и их инструментам)
И да, а что если, студент сам не заинтересован вкалывать? Тогда вспомните вуз, и вспомните всех свои знакомых расп***яев, которые так и не поняли, зачем они поступали, и вынесли с вуза чуть больше чем ничего

Потому что, на курсы идут в основном люди, которые вообще 0 в программировании. Учить их сразу спрингу к примеру или Джанго — это вообще зря потратить время, т.к. сама идеология не привьется и нормально выучит базовые структуры не выйдет + из-за метапрограммирования, которое часто присутствует в таком деле, все это привратится в НЕХ, когда я вот тут ставлю абыр и оно пииу, и вот страница хело ворлд, я прошел собеседование? + К тому, что востребованный фреймворк для Джуниора — очень нечёткое понятие. В целом то, что вы хотите, можно увидеть на курсах компаний, но туда в подавляющем большинстве случаев берут уже с бекграундом типа базовых конструкций языка и прочего

учить их сразу спрингу

Я не мав на увазі вчити фреймворкам їх одразу, а після засвоєння базових речей.

Потому что ты ещё даже толком то и кодить не умеешь на базовых вещах. Фреймворк лучше всего изучать (берём пример с веба ) после написанного пета(лучше 2+) на чистом языке. Набей шишек, пойми, что писать на чистом стэке — хуже онанизма, и только тогда садись за фрейм. Да у курсов нету столько времени, ждать пока ты к этому созреешь!

Полностью поддерживаю. Новичка нужно посадить на стандартные инструменты языка, провести с этими инструментами по парочке проектов, чтобы он увидел какая это боль. И уже потом ему станет ясно зачем нужен Spring :)

когда я вот тут ставлю абыр и оно пииу

Мне так обычно и отвечают, когда я спрашиваю за транзакции в спринге :)

А если что-то пошло не так, то оно такое «иу-иу»

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

Підписатись на коментарі