Какой из ЯП начать восстанавливать исходя из текущей востребованности на рынке и его перспективности?
На данный момент я имею более чем 10-и летный опыт разработчика на различных языках и платформах.
В последнее время специализировался на front-end(js, html5 & etc.) полного цикла не считая управления проектами и прочего.
В back-end был в основном php и node.js.
Сейчас на уровне хобби в самом начали постижения java(spring mvc и android) которую до этого избегал по "религиозным" причинам.
Несколько лет назад(периодически возвращаясь) довольно активно писал на python(webapp Не django) и ruby(в основном sinatra, и время от времени rails).
Сейчас ко мне все чаще обращаются по разработке на ruby и python, и я стою в отношении этих ЯП на перепутье. Я вижу, что со стороны заказчиков есть интерес(они просто помимо прочих есть в резюме и специально мной не "рекламируются"), к обоим примерно равный, и понимаю, что качественно "восстановить" мой прежний уровень и выйти на новый на данный момент я смогу только в одном из.
Следовательно и возник вопрос написанный в заглавии который можно переформулировать как: что выбрать?
Не могли бы вы найти время и написать более развернуто ваш ответ? В том числе хотелось бы узнать в разрезе востребованности в РФ и за рубежом, если конечно у вас есть подобный опыт и вы можете о нем рассказать.
@Kaaboeld проектов больше чем на python, на последнем больше web-сервисов (rest), на ruby больше сайты/web-приложения (spa). Статистика по ruby лучше, инструменты для разработки там не хуже чем у python сообщества а в чем-то даже лучше. Если выбирать сейчас язык именно под web я бы выбрал ruby и оставил python для утилит и ресерчей (у меня сейчас он именно такое место занимает, так как для этих целей удобнее языка я пока не встретил).
@Fesor мой вектор изучения в ЯП - это в первую очередь web-приложения для них в первую очередь, если - это не просто тонкий клиент, то node.js. Сейчас часто именно для web-приложений мне приходят заказы на django(как не удивительно), а на ruby приходили в основном "сайты" и back-end для игр.
Но возможно - это просто "на удачу", из-за чего у нас вами так и разошлась "статистика". Спасибо за ответ.
хм, довольно большой опыт, что-то мне подсказывает, что вам нужно начать изучать не очередной ЯП, а возможности как более эффективно решать проблемы заказчика, зачастую им же все равно на чем написан продукт, который эффективно и с наименьшими трудозатратами решает их проблемы
В том-то и дело что эти языки для меня не новые, а просто несколько подзабытые. Вот и встал выбор в отношении именно коммерческой разработки какой из них "подтянуть" так как с последней практики уже достаточно много воды утекло. Так-то я конечно считаю, что именно исполнитель должен выбирать платформу разработки, а заказчик в свою очередь получать именно качественный результат. В итоге в большинстве случаев считаю наиболее оптимальной для новых проектов: node.js + mongodb в облаке, а для "простых" php(+cms), но вторые скорее исключение так как мне они уже давно мало интересны.
@Kaaboeld а я как раз пока только на вторых и пишу, только вместо cms различные фраймворки, но пока формируется мысль что знание различных языков это только для расширения кругозора, так как моим заказчикам главное быстрее/дешевле/проще, ну и не последним фактором является стоимость поиска другого разработчика, а вот руби и питон в этом отнашении довольно сильно проигрывают PHP
@Playbot да, возможно еще дело в том что я выступаю тимлидом и на данный момент рассматриваю вакансии именно на эту должность(если на full time), а тут немаловажен "кругозор" и знание нескольких ЯП, но это конечно не отменяет некой основной специализации, а не просто "человек оркестр". Это одна из причин по которой я принял решение подтянуть один из упомянутых языков на должный уровень.
@Playbot php удобен для штамповки, короткосрочных или мелких проектов. Под большое и "уникальное". Лучше всё таки питон или руби. По этому и нужно отталкиваться от "задачи". Если хочется штамповать простые вещи и не долгоживущие (те что после сдачи не развиваются), то php самое то. В остальном, смотреть от вектора развития (веб, апи, апп, десктоп, серверное, под железо etc).
@syschel а какие причины того что руби и питон больше подходит под долгосрочные проекты? Тот же питон -> две ветки не зависмые друг от друга и не имеющие обратное совместимости
"а какие причины того что руби и питон больше подходит под долгосрочные проекты?"
Вот честно, не вижу особых предпосылок в сравнении с тем же node.js, но практика(hh) показывает следующее:
1. либо один из этих двух
2. либо отдел персонала в очередной раз путает javascript и java и в итоге приглашают тимлидом в java команду
3. тимлид в независимости от языка
"Тот же питон -> две ветки не зависмые друг от друга и не имеющие обратное совместимости"
Да.
@Playbot У php с обратной совместимость тоже пичалька ещё та. А лучше, в быстродействие и быстроте разработки. У каждого ЯП свои ниши, где они, на определённый момент времени, лучше других ЯП.