Java Month: беріть участь в подіях та отримайте можливість виграти суперприз! 🎁
Дізнатися більше
06.08.2022
7 хвилин перегляду

Як вибрати: Java або Python?

Сергій Немчинський
Як вибрати: Java або Python?

Java і Python – одні з найпопулярніших мов програмування, тому почнемо ми саме з них. Обидві мови я ціную і поважаю, але який з них вибрати?

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

Використання мови на ринку

При виборі мови програмування дивіться, для чого він використовується на ринку. У Java є два головних застосування. В першу чергу, звичайно, це Java Enterprise: розробка серйозних масштабних корпоративних рішень, автоматизація величезних корпорацій. В принципі, на цьому можна було б і закінчити, але є ще одна сфера застосування Java – це Android розробка. Спільного між ними мало: мобільна розробка на Java більше схожа на розробку на Swift під iOS. Там інші рішення та інші обмеження, в порівнянні з Java Enterprise.

Python застосовується більш різноманітно. Це найпопулярніший скриптова мова, і на ньому можна швидко наклепати якийсь скриптик і відправити в продакшн. Так що він застосовується практично скрізь. Ми поки не розглядаємо DevOps, Data Scientists, Automation QA, але ось будь-якому програмісту Python точно стане в нагоді, тому що він використовується для рішень e-commerce.

Справа в тому, що багатьом малим і середнім бізнесам цілком вистачає рішень на базі готових CMS – OpenCart, WordPress, WooCommerce, тисячі їх. Наприклад, сайт FoxmindEd написаний на WordPress. Але є й інші бізнеси – спортклуби, салони краси, інші, – яким потрібно, щоб у користувача був особистий кабінет. Користувач повинен мати можливість подивитися свій профіль, поставити на паузу абонемент, заплатити, і виконати інші дії, специфічні для цього бізнесу. Писати такі рішення на Java вважається моветоном. Такі рішення пишуться або на PHP з фреймворком, або на Ruby, або на Python.

Enterprise-системи проти швидких рішень

Отже, щоб вирішити, ким би ходите бути – Java розробником або Python розробником – подивіться, що вас чекає. Java – це складні рішення, величезні, з безліччю інтеграцій, з такою заплутаною бізнес-логікою, що складно пояснити знайомим, чим я займаюся.

Python – це плюс-мінус зрозумілі рішення, вашу роботу можна буде легко комусь показати. Ось сайтик, дивіться, милуйтеся, можна похвалитися клієнту. І хоча рішення на Python більш презентабельні, в Java виклики більш серйозні. На Python, може так статися, вам доведеться клепати більш-менш однотипні сайти.

Підтримка legacy або нові проекти

Слід враховувати фактор legacy. На Java 8, а то і 9 проектів з 10 це legacy проекти, написані кимось до вас. І вам потрібно його САППОРТ, покращувати і розширювати. Найчастіше проекти написані індусами і корейцями, і розібратися в них непросто. З одного боку, цим не дуже приємно займатися, з іншого боку, це Челленж.

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

Інструментарій

На Java, напевно, найкращий інструментарій, який тільки існує у світі. Йому вже багато років, там зворотна сумісність, будь-який інструмент налагоджений до стану ідеалу. Навіть безкоштовні інструменти типу Eclypse повнофункціональні і непогані.

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

Зарплати фахівців

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

Темперамент і мова програмування

Можна спробувати зробити наступне: написати додаток на одній мові і на іншому, і подивитися, що вам краще заходить. Ви, швидше за все, відразу побачите, що на Python легко і швидко стартувати. А Java – мова дуже строгий, і відчувається, що нічого не спрацює, поки ти не зробиш правильно. У мене від Java краще відчуття, тому що вона така серйозна, фундаментальна, крок в сторону – код просто не скомпілюється. Так що, якщо він компілюється, значить, більшості проблем там вже немає. А на Python все можна склепати дуже швидко, і в продакшн, а проблеми проявляться потім. Багато що залежить від вашого характеру. Я, наприклад, людина запальна, і мені подобається, коли інструмент мене пригальмовує. А кому-то більше подобається, коли рішення йде відразу на продакшн.

Сподіваюся, мої підказки допоможуть вам у виборі мови програмування.

Сергій Немчинський
CEO FOXMINDED
Додати коментар

Ваш імейл не буде опубліковано. Обов'язкові поля відзначені *

Зберегти моє ім'я, імейл та адресу сайту у цьому браузері для майбутніх коментарів