💳 Trustee Plus — твоя персональна картка європейського банку: 3 хвилини і 10 євро 👉
Марія БровінськаУвійти в ІТ
15 серпня 2022, 14:01
2022-08-15
Хочу стати програмістом. З чого почати і як вибрати між Java Script, PHP, Python та іншими
Діана Смелікова, операційний директор Wezom Academy, у своєму блозі на DOU пояснила, з чого почати вивчати програмування та яким мовам варто налагодити перевагу на початковому етапі. Ось 5 важливих порад від неї.
Типізація — це сегментація змінних на кілька підтипів: int, flow і т. д. Типізація безпосередньо впливає на те, яким буде процес написання програм і як вони функціонуватимуть. Вона буває кількох видів:
Явна/неявна.
Слабка/сильна.
Статична/динамічна.
Якщо у вибраної вами мови типізація вважається слабкою, вона більш гнучка. Але водночас перетворення змінних у ньому неявне. І навпаки, мови з сильнішою типізацією не такі гнучкі, зате й перетворення на них більш очевидні.
Крок 2: вивчаємо «будматеріал» сайтів
HTML та CSS — це кістяк веб-девелопменту в принципі. Запитайте будь-якого програміста, з чого саме він починав свій шлях до IT, і це практично зі стовідсотковою гарантією буде HTML + CSS:
HTML — мова розмітки документа.
CSS — каскадні таблиці стилів.
За допомогою HTML і CSS можна створювати вміст веб-сторінок та програм, змінювати оформлення, додавати різні ефекти і так далі. Розібратися з логікою та освоїти найпростіші варіанти застосування HTML та CSS можна буквально за пару днів. Та й загалом це порівняно простий напрямок для вивчення.
Написати програму за допомогою HTML і CSS не вийде, але без цього базису вивчати мови програмування буде набагато складніше. Тому зараз фронтенд навчання включає й вивчення JavaScript.
Крок 3: JavaScript
JavaScript називають однією з найбільш швидко зростаючих мов програмування. Він простіший у вивченні, ніж Python чи PHP, досить універсальний і дозволяє писати програми буквально для всіх існуючих платформ.
Спочатку JavaScript розроблявся як мова програмування для створення інтерактивних веб-сторінок. Але дуже швидко його функціональні можливості розширились. І сьогодні на JS пишуть також мобільні, десктопні та навіть серверні програми.
JS — це не панацея. І крім очевидних переваг, у нього є й деякі недоліки:
— низька надійність через слабку типізацію;
— погано підходить для розробки мобільних додатків.
Недоліки та слабкі сторони JS можна компенсувати за допомогою TypeScript, Flow та інших інструментів, але це швидше напівміра. Тому JavaScript, як правило, не розробляють складні програми, що вимагають максимальної надійності. Умовно кажучи, на JavaScript можна створити програму-програвач музики, але не програму для онлайн-банкінгу.
Крок 4. PHP
PHP — мова, якою написані Facebook і Wikipedia. Ось уже більше 10 років це — популярна, універсальна і надійна мова, якою написано величезну кількість веб-конструкторів. Однак за безліччю плюсів все ще ховаються й недоліки:
слабка типізація;
незручно організована бібліотека;
використовується переважно лише у веб-розробці;
погана реалізація багатопоточності.
Освоїти PHP теж порівняно нескладно, особливо якщо ви вже знайомі з JavaScript. Але з ним «у комплекті» також йде декілька десятків технологій:
редактори: Notepad++ або інший відповідний аналог,
сервери БД: MySQL, PostgreSQL,
сховища: Memcached,
фреймворки: Symfony, Yii та інші.
А ще менеджери пакетів, профайлери, відладчики та інше. Отже, навчання PHP не обмежується лише вивченням самої мови — про це треба пам’ятати.
Крок 5. Python
Сьогодні багато хто називає Python однією з найперспективніших мов, і в цьому справді є сенс. Він активно використовується не тільки у веб-розробці та написанні програм, але й у роботі з нейромережами та Machine Learning. А це технології майбутнього.
При цьому назвати Python надскладним для вивчення не можна. Вчити його з нуля, звісно, буде непросто. Але, знаючи іншу мову програмування, ви за бажання зможете освоїти Python без особливих зусиль.
Недоліки Python такі:
неявна типізація;
часткова підтримка багатопоточності;
повільний;
ненажерливий, у своїй дбайливості обійде навіть JS.
Найпопулярніший редактор коду для Python — PyCharm. А додаткових технологій, що використовуються з цією мовою програмування, просто безліч:
аналіз: iPython, Anaconda та інші,
Machine Learning: Scikit-learn, Keras,
веб-девелопмент: Django, Tornado,
менеджери: Pip, Conda.
До речі, Python має неочевидну перевагу — вкрай дружнє і лояльне ком’юніті розробників. Ви без особливих зусиль зможете знайти відповіді на питання, що виникають, і отримати допомогу більш досвідчених колег. А це у сучасній IT-індустрії по-справжньому важливо.
Невелике уточнення
Якщо спиратися лише на наведені вище дані, можна дійти невтішного висновку, що найкращий вибір для початківця веб-розробника — JavaScript. Легше вчити, а зарплата на рівні з PHP-девелопером і навіть вища, ніж у Python-розробника. Але тут важливий нюанс!
В Україні JavaScript-розробники затребувані за рахунок їхньої універсальності. А попит на вузькоспеціалізованих PHP- та Python-девелоперів є лише у великих містах (або віддалено, проєктно). Виходить, що якщо ви плануєте працювати на внутрішній ринок, то JS може стати оптимальним варіантом. Але на західному ринку картина протилежна — великим проєктам у команду часто потрібні саме вузьконаправлені фахівці з PHP або Python. І тут уже зарплата відчутно вища.
Відповідно, варто поставити запитання, на який ринок плануєте працювати саме ви.
Якщо ціль — гроші
HTML + CSS — найменший, щоб займатися веб-розробкою, а точніше — версткою. Це не мови програмування у буквальному значенні, але знати їх потрібно.
JavaScript — одна з найпопулярніших мов програмування, до того ж порівняно проста у вивченні. Після навчання HTML5 + CSS3 + JS вже можна розраховувати більш високий дохід, ніж з базовим HTML + CSS.
Java — складніша мова, але й зарплата у Java-програмістів відчутно вища.
PHP і Python — популярні, хоч і досить вузькоспеціалізовані мови програмування, що дозволяють добре заробляти.
Для кращої оцінки співвідношення складності вивчення, актуальності та зарплати рекомендуємо ознайомитись з наступною таблицею:
Головна думка, яку я хочу донести, — потрібно вибирати не мову програмування, а цікавий напрямок. Тобто, спочатку визначаєте, чим хочете займатися, а виходячи з цього, підбираєте підходящий курс вивчення — Python, PHP, JavaScript і так далі.
Початківцям у програмуванні, крім базового курсу розробки, можу рекомендувати вивчати програмування з JavaScript та PHP. Тим, хто вже опанував базові навички та досвід — Java і Python. Плюс, не забувайте додатково знайомитися зі стеком технологій та фреймворками.
Одвічне питання: чим Java відрізняється від JavaScript. Детальний гайд
Для когось відповідь на питання про різницю Java й JavaScript є очевидною — тут починаються жарти про подібність між килимом й автомобілем (Java схожа на JavaScript так само, як «car» на «carpet»). Попри це, деякі люди ще можуть мати помилкове уявлення, вважаючи, що це дві назви тої самої мови, або що технології тісно пов’язані. Спробуємо трохи прояснити ситуацію.
Запускай код прямо в браузері: найкращі онлайн-компілятори для C++, PHP, Python, Java, C#, Go і не тільки
Не завжди є доступ до улюбленої IDE, або час на її запуск. Але коли потрібно швидко перевірити якийсь простий функціонал або втілити нову ідею, стане у пригоді онлайн-компілятор.
Мануал для джуна. Python Developer: запитання на співбесіді, практичні завдання та поради для початківців
Джунів, які шукають роботу, проходять купу співбесід та отримують відмови замість оферів, під час війни побільшало. А все тому, що до співбесід необхідно ретельно готуватися.
dev.ua продовжує серію матеріалів про те, що треба знати джунам для проходження співбесіди й отримання омріяного оферу від першого роботодавця.
Олександр Ковтунов, Python Software engineer компанії Ajax Systems, який також проводить співбесіди для junior- і middle-фахівців, розповів про професію Python Developer і надав поради, як початківцям долучитися до професії.
12 онлайн-курсів із Java для новачків і профі у 2022 році
Java, як і раніше, входить до списку найпопулярніших мов програмування. Разом із Digital Defund склали список курсів, які підійдуть як новачкам, так і людям із досвідом програмування, і допоможуть опанувати цю потрібну мову.
Хочете повідомити важливу новину? Пишіть у Telegram-бот
Головні події та корисні посилання в нашому Telegram-каналі