Java vs Python? Что выбрать для backend-разработки?

Всем привет. Хочу внутри своей компании перейти в разработку. Хочу заниматься backend-разработкой на Java. Начальник дал контакт человека, с которым можно пообщаться на эту тему. Он посоветовал изучать Python, т.к. он лучше подходит для тех, кто только начинает свой путь в программировании и на нём легче научиться программировать. Он заявил, сл…

2020 показов
4.2K4.2K открытий

Сколько сталкивался с "разработчиками на питоне" - всех приходится переучивать с нуля. Т.е. не учить новому языку, а учить нормальным подходам к разработке.
На мой взгляд, питон вообще не для разработчиков. Это инструмент для тех, для кого разработка не является основным занятием. Например, научные, инженерные расчеты.
В свое время таким языком был бейсик - хорош для того, чтобы что-то быстро посчитать, но писать на нем что-то серьезное не получалось.
Ну и правильно сказали выше - разработка, это не знание языка. Язык всего лишь инструмент. А разработка - это умение выбрать во-первых, наилучший алгоритм для решения поставленной задачи, и, во-вторых, выбрать наилучший инструмент для реализации этого алгоритма.
Все идет от задачи к алгоритму. А потом уже язык. Может так оказаться, что Ваши задачи вообще наиболее эффективно решаются на чем-то другом, нежели джава. Возможно, там лучше что-то специализированное использовать. Все-таки джава - язык слишком "широкого профиля", слишком универсальный. И многие вещи, которые в специализированном языке просты и естественны, в джаве решаются путем включения сложных зависимостей, а местами просто костылей.

Ответить

Все идет от задачи к алгоритму. А потом уже язык.

Сколькими языками программирования вы владеете хорошо, коллега? У меня проблема в том, что в голове одномоментно хорошо сидит только один язык программирования. Сначала это был LotusScript, затем Java, PHP, JavaScript. Я коммерчески писал программы на C/C++, VisualBasic, Clarion, Perl, Python. В институте - на Pascal и Prolog. Из всего этого выбивается только Prolog. Остальные языки плюс/минус похожие. Если пройти "от задачи к алгоритму", то любой из вышеупомянутых языков, за исключением Prolog'а, более-менее успешно реализует "алгоритм". Но при этом у каждого языка есть своя "заточка" - область наилучшего применения. Я всегда пытался не лезть со "своим" языком на "чужое" для него поле. Ну, т.е. не программировать нейросети на JavaScript'е. Хотя у меня был опыт программирования для браузера на Java (GWT). Ну то такое себе - сначала "Вау!", а потом куча проблем там, где их не должно быть.

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

Вполне допускаю, что есть профессионалы, которые одинаково хорошо (не одинаково плохо, а одинаково хорошо!) владеют сразу несколькими языками и без проблем переключаются между ними. На web'е долгое время считалось нормальным программировать сразу и на PHP, и на JS. Но лично меня всегда клинило на одну сторону. Если я начинал активно использовать какой-то язык, то предыдущий постепенно вымывался из головы.

Ответить