@xDrainy

Какую область программирования выбрать PHP или Java?

Доброго времени суток.
Я учился на программиста, в основном это были Pascal и 1C, после окончания ВУЗа нашел стажировку, далее меня перевели в штат. Занимался фуллстаком: PHP, немного Python, всякие инструментарии вроде Redis, jQuery, сайты допиливал в общем всего понемногу и сразу. Спустя год работы понял, что стажировка никаких навыков не даёт, точнее мне ставили однотипные задачи на написание коротких скриптов, никаких тяжелых задач где можно было бы отточить навыки хорошего кода, никакого ООП и код-ревью. В общем оттуда я ушёл, вернулся на старую работу не связанную с ИТ, где платили в разы больше. Прошло уже года четыре, всё это время хочу вернуться обратно, но походив по собеседованиям понял что знаний очень мало. И вот сейчас думаю подтянуть знания, уйти с работы и найти стажировку снова, благо подушка позволяет. В свободное время, для себя, занимался написанием ботов на Python, работал с Telegram API. Для себя приметил две интересных области это Java и PHP, в них опять же проще всего найти стажировку.
Трогал Java очень мало, но мне нравятся ограничения которые язык накладывает и, как мне кажется, на Java тяжелее писать плохой код, нежели на PHP.
С другой стороны c PHP есть опыт и наверное подтянуть навыки будет проще, чем учить всё заново.
В общем мне нужен совет, кто что думает по поводу этих двух языков и куда в современном мире лучше смотреть. И где как думаете, проще будет найти стажировку?
  • Вопрос задан
  • 1626 просмотров
Решения вопроса 4
@rPman
в данном случае язык определит направление дечятельности

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

java - если смотреть на рынок, это в первую очередь мобильный гейминг android,.. не потому что язык такой, просто так звезды сложились.
Если спросить меня, какой язык выбирать для создания крупного проекта с долгой поддержкой для бизнеса, java я бы выбрал ну очень в последний момент. Очень многословный язык, да код получается красивым, меньше мест где можно выстрелить себе в ногу и т.п... Из бонусов - кроссплатформенность (как железа так и ОС), уже не такая уж и уникальная опция.

то о чем в вопросе не было спрошено:

python - если тебе надо работать с данными, как опция - нейронные сети и т.п. (тоже вполне востребованный кейс, все сразу захотели в маркетинг играть или чего то автоматизировать и соптимизировать на работниках)

javascript - занял очень интересную позицию в мире, благодаря nodejs он может быть как web бакендом, так и способом разработки браузерного интерфейса на стороне клиента, так и десктопные приложения (electron, чтоб его...) и даже как язык для unity игрового движка, т.е. получается язык получает статистический прирост с нескольких областей а не одной как остальные.
У языка есть недостаток - как и у php (но он старается избавиться от этого) - свободная типизация, странная реализация ООП и другой синтаксический сахар типа асинхронности (это кстати его плюсы) увеличивают шансы выстрелить себе в ногу и усложняют поддержку проекта на долгосрок (там вообще много где проблем найти, как пример, берешь любой проект с гитхаба с датой последнего комита 3-4 года и пробуешь его обновить и поддержать, советую посмотреть что аудит безопасности npm будет вам писать).

c# - надо ставить рядом с java (он и .net и создавался майкрософтом как главный конкурент), так же благодаря unity движку, захватывает часть статистики из геймдева. К сожалению, выбор языка гвоздями (да есть способы освободиться, но за все приходится платить и чего то лишаться) прибивает разрабатываемый продукт к майкрософтовской экосистеме, за который бизнесу приходится платить неплохой 'налог', поэтому если у тебя не unity то скорее всего ты либо поддерживаешь какое то легаси либо... ну мне нравится на .net формочки к базе данных делать, нигде такого легкого инструмента который дает ms visual studio и .net - нету, но, если прямо так хочется, там можно и на python.net писать, и на c++.net, и вообще какая разница какой язык программирования, в мире разработчика главенствуют фреймворки и среды разработки.
Это я к чему - найти деньги с этими знаниями можно только по везению.

Все остальные языки типа R, Rust, go и прочая экзотика - это издевательства над работодателями.. т.е. если ты найдешь по ним работу, это значит работодатель стал заложником не шибко умного системного аналитика (или его отсутствие/совмещение с разработчиком, который для самообразования решил приколоться), т.е. еще большее везение, делать ставку на это я бы не стал. Хотя для самообразования учить Rust или go очень даже неплохо, много открытых проектов пилят именно на go, вполне возможно, когда в мире количество разработчиков наберется до некоторой критической массы, это станет таким же мейнстримом как сейчас php или javascript.

Так что еще раз - выбор языков программирования в порядке убывания оценки рекомендации (выше-вероятнее найти работу, кстати оценить уровень оплаты тут сложнее)
php - и он теряет позиции, потому что SPA приложения захватывают мир
javascript
python
- если не нужен вебдев - то это на первом месте
java/c# (точнее .net)
go

если хочешь быть в вебе то php/javascript
если хочешь в геймдев java/c#
если хочешь датасайнс то python
Ответ написан
@Just__Den
FULL STACK
Всё просто:

1. Смотреть, что требуется по списку вакансий
2. Смотреть сюда
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
В общем мне нужен совет, кто что думает по поводу этих двух языков и куда в современном мире лучше смотреть.
Если нужно больше денег и не смущает работа в корпоративном сегменте, то Ява или С шарп чаще выгоднее по деньгам.

И где как думаете, проще будет найти стажировку?
Проще с пхп/пайтоном/жс, стек широкий по объемам, работников нужно много, как для новых проектов, так и для поддержки/рефакторинга легаси кода. Чаще всего условия более свободные, мне лично в корпоративном сегменте не комфортно, опять же, это все личные пристрастия, а не истина в последней инстанции.

И там и там востребованы спецы уровня мид+, реже джун+, сильно не хватает сеньоров и архитектов.
Ответ написан
Комментировать
@Wan-Derer
Зобанели на Хабре, волки́ ;((
Надо попробовать то и другое и выбрать то что прёт :) Про ПЫХП не скажу, но по Java есть нюансы:
1. Java сложная. Надо учить и сам язык, и подходы к разработке/архитектуру, и фреймворки (на чистой Java мало кто пишет), и сопутствующие вещи типа SQL, MQ и т,п, Я бы сказал, имея твой опыт, надо закладываться на пол-года ежедневной учёбы минимум, а может и на год.
2. Стажировок по Java нет. Точнее есть, но они для студентов. Попасть туда свитчеру нереально, по кр. мере у меня не получилось.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
xez
@xez Куратор тега Java
TL Junior Roo
Выберите ту, которая больше нравится.
Мне вот, например, пхп не нравится и я выбрал джаву.

А крутой специалист всегда работу найдёт. И на джаве и на, прости господи, пхп.
Ответ написан
Комментировать
mayton2019
@mayton2019 Куратор тега Java
Bigdata Engineer
Если автор знает Python - это очень хорошо. Мне кажется что под него щас проще искать работу. В том смысле что он - широкоформатный. Есть и девопс и электронная коммерция и дата-саенс и автоматизация тестирования и нейросети с роботами и железяки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы