🎁 Новогодние скидки весь месяц!
Скидка 20% на все курсы менторинга!
Узнать больше
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
Добавить комментарий

Ваш имейл не будет опубликован. Обязательные поля отмечены *

Сохранить моё имя, имейл и адрес сайта в этом браузере для будущих комментариев