Java/PHP (выбор)

Добрый вечер уважаемые надмозги и просто успешные повелители кода. Похожие вопросы звучали десятки раз, однако я задам его более подробно (возможно смогу получить более объективный ответ). Закончил универ по специальности комп. сети. Программирование нам преподавали, однако языков было много и по чуть-чуть каждого (за счет смены программы образования трижды, за время моей учебы). Учился нормально (без троек), однако не проявлял особого интереса ни к какому из языков. Кодил только по лабораторным и для себя иногда что-то примитивное (типа прожки-будильника на C#). В общем после универа пошел на гос службу админом. Сейчас мне 24, и меня задолбало администрирование. И зарплата маленькая тоже. Захотел вернуться в код, или вернее сказать, заново «начать правильно кодить». Естественно мои небольшие знание кода почти полностью забыты, поэтому собирался начать с нуля. Хороший приятель из соседнего отдела кодит на php уже 5 лет и является по сути full-stack разрабом (то есть может сам с нуля накодить сайт, базы данных, логику, интерфейс, дизайн и пр.) Порекомендовал и мне попробовать. Немного начав кодить на php я все больше начинал убеждаться что мне это неинтересно. Неинтересно заниматься сайтами, если мои простенькие десктоп-приложения как-то меня радовали (просто потому что они приносили мне небольшую пользу) то сделать свой сайт... не представляет для меня интереса. Ну сделаю я его и что? Не знаю, просто как-то не тянет. Так как кодил немного на дот нете, подумал о яве, ведь она очень на него похожа, а вакансий больше именно на нее. Опираясь на то что я видел/слышал нахожусь в раздумьях насчет будущего направления:

PHP:

плюсы
-очень много вакансий. Просто нереально много
-низкий порог вхождения. Быстро можно освоить и пробоваться на джуниора
-зная 20% языка можно реализовать 80% его возможностей

минусы
-по словам профи сильно портит стиль «правильного» кода
-низкая зп относительно других языков

Повторюсь, это лишь то что я слышал/видел и т. д.

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

Стоит ли обратить внимание на яву, можно ли ее рекомендовать как первый (ну почти первый) язык программирования, и можно ли самому (книжки, упражнения +запись на курсы) освоить ее до уровня джуниора?
Да и вообще стоит ли это все затевать или стоит помучатся с сайтами-зато через несколько месяцев смогу уже работать.
На яву почему-то в разы меньше вакансий

Буду признателен уже за то, что вы это все прочитали. Буду благодарен за предоставление литературы (только не просто справочник на 1500 стр. а именно книгу, с которой реально начать).

Заранее благодарен. Буду рад выслушать любые аргументы и критику.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Не так страшна Java, как ее фреймворки. Хотя они тоже не страшны, их просто много. Если есть опыт с любым си-подобным языком синтаксис за пару дней освоить можно, в джаве потом еще кор есть для недели-другой маневров, а вот остальное уже дело продолжительного времени.

Лично вы какие фреймворки джавы используете?

Лично я — никаких. Я и джаву то не использую.

Не так страшна Java, как ее фреймворки. Хотя они тоже не страшны, их просто много.
Основной джава фреймворк по сути один, даже выбирать не приходится :)

это да...

я вот попробовал выбрать другой, Tapestry5, но в компании ни один человек(ни коллеги, ни руководство) моего восторга не разделил. Пришлось выбрать php для проектов где спринг с хибером — с пушки по воробьям. оказалось — не так уж плох пых 5.4+, как и тенденции в пых мире.

оказалось — не так уж плох пых 5.4+, как и тенденции в пых мире

+1

Как-то читал статейку на тему «почему пхп так ненавидят». Одной из причин автор как раз считал то, что большинстово хейтеров работали только со старыми версиями, абсолютно игнорируя новые наработки.

А как же стандартная либа, там же адЪ

Ruby учи.

Только прийдется узкие джинсы носить.

Ага и еще потом постараться найти работу джуниором

Смею предположить, что в среднем по больнице, это будет не сложнее чем найти работу джуниором по Java/PHP.

Если бы это было так, я бы не писал. Что на питоне, что на руби не так много вакансий и новичкам довольно сложно найти первую работу.

У меня была похожая история: после ВУЗа я немного знал Ассемблер, Си и администрирование, пошел работать админом-суппортером-эникейщиком, меня там порядком задергали, мне это надоело и я потратил отпуск (4 недели с утра до вечера) на изучение Java и PHP, и через пару месяцев после отпуска решился сменить работу: стал программером на PHP, т.к. меня взяли PHP-разработчиком буквально на второй день поисков работы, а на джаву никто не звал.
Через год на PHP я почувствовал, что подхожу к потолку профессионального и денежного роста в PHP и по совету товарища перешел на Java. Работу искал не два дня, как на PHP, а недели две, но уже 12 лет пишу на Java и ни разу о смене языка не пожалел.
Однако надо учесть: в отличие от PHP, хороший Java-разработчик знает не только сам язык, но и ряд фреймворков, сборников шаблонов проектирования, и целый ряд смежных или вспомогательных технологий, поэтому для достижения топового уровня учиться придется много.
Веб есть и в PHP, и в Java, но если в PHP от него не отвертишься, то в Java разработчик сам выбирает, чем ему заниматься: чистым бэкендом или больше фронтендом, или и тем, и другим, или андроидом. Проектов — море, на любой вкус и цвет. Но десктопных проектов или мало, или вовсе нет, т.к. десктоп — это больше по части .Net.
Любой язык программирования надо учить по источнику с достаточным количеством упражнений.
Если знаний английского достаточно, то можно по одному из этих отличных есть отличных источников:
— «Thinking in Java» (Bruce Eckel)
— «Big Java» (Cay Horstmann)
— официальный учебник docs.oracle.com/.../tutorial/java
Они все содержат качественный материал и достаточно упражнений, все можно найти/скачать.
Если знаний английского мало, то:
— «Философия Java» 2015-го года. Осторожно: то же издание 2014-го года вдовое тоньше и не содержит упражнений и некоторых глав. Если брать эту книгу, то только 2015-го года, с упражнениями
— «Java 7» (2012), Ильдар Хабибуллин. Неплохая книга, но упражнений маловато.
— Многие рекомендуют курс JavaRush
— «Java. Полное руководство.» (2012). Отличный материал, но упражнений совсем нет :(
— Многим нравятся книги серии «Head First...» (на русском есть К. Сьерра, Б. Бейтс «Изучаем Java»), но стиль изложения там специфичный и нет полноценных упражнений там вопросы-ответы.
Кроме самого языка программирования крайне важно знать английский: в аутсорсе его требуют все вакансии, причем многие вакансии требуют английский на хорошем уровне.

хороший Java-разработчик знает не только сам язык, но и ряд фреймворков, сборников шаблонов проектирования, и целый ряд смежных или вспомогательных технологий

на позицию php middle developer и выше тоже всё это знать нужно.
речь конечно не о натягивальщиках шаблонов на wordpress.

p.s. автору, рекомендую java.

Через год на PHP я почувствовал, что подхожу к потолку профессионального и денежного роста в PHP

Что-то из цикла 23-х летних синьеров.

Первые годы работы я все свободное время посвящал учебе. А за самый первый год выучил UML, GoF, bash scripting и многое, многое другое. Только от тебя самого зависит, как быстро ты растешь.

Пошел плакать в угол. Пишу 5 лет и не могу сказать, что дошел к потолку. Наверное я что-то не так делаю.

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

Денежный потолок на PHP порядка 2500$ — 3000$ , если вы на такую зарплату вышли за год , то это круто.

На той час (12 років тому) ЗП були інші: суму слід ділити на 5-10 раз, залежно від регіону

Т.е. вы получала 250-500$ и считали себя синьером и думали, что это потолок по зп?))) Тогда больше нет вопросов) Просто мрак.

А сколько получали сениоры 12 лет назад? Вы наверное в школу ходили вот и не помните )

300 −400 в лучшем случае, и это только зубры, средняя по рынку была 200-250

12 лет назад (2003 год) в компании из 100 человек где я работал,
php девелоперы получали $150-250, «топ-менеджеры» в районе $500-600. Несколько ключевых разработчиков примерно $400.

Я конечно верю что можно было и $800 получать, но это далеко не массовое явление.

И 800 тогда, думаю было больше чем $5K сейчас по покупательной способности на территории Украины.

мой опыт то же подтверждает Ваши цифры — 800 это разве что директора получали

Кожному своє ))) Станом на 2000 деякі ПМ отримували 700-1500.

Я был очень беден, очень нужны были деньги
Плагіат із Ільфа&Петрова )))
Пишу 5 лет и не могу сказать, что дошел к потолку
Кстати, писать — значит, закреплять знания, а не приобретать их. Чтобы знать больше, надо доку читать. Если каждый день, включая выходные, тратить на учебу, даже при весьма посредственных способностях за 5 лет можно стать гуру в своей области.

Плагиат или нет, но с тех пор я уже , и зарабатываю дай бог каждому, и трешку купил, и несколько земельных участков, честным трудом, без мошенничества и уклонения от налогов :-р

Есть опыт программирования как на Java, так и на PHP. Java изучал для себя, на PHP занимался фрилансом.

Плюсы PHP:
— Простой язык, легко освоить и сразу начать работать
— Много вакансий, много работы на фрилансе
— Легко устроиться сразу на хорошую зарплату

Минусы PHP:
— Если работа будет связана с созданием простых сайтов на популярных CMS-ках, то придется подчищать много говнокода за другими, соответственно много рутинной, кропотливой работы
— Написанный код сложно потом поддерживать — фактически, это будет клепание заплаток
— Есть определенный потолок в плане заработков

Если изучать PHP, то лучше идти сразу правильным путем, освоив какой-нибудь мощный фреймворк типа Yii. Для того, чтобы полноценно вести разработку, нужно еще изучить HTML+CSS+JavaScript.

Плюсы Java:
— Логичный структурированный язык практически с безграничными возможностями
— Мощная платформа для создания практически всего, чего угодно
— Можно сразу заложить хорошую базу для написания качественного кода в будущем
— Огромное количество готового кода и примеров в инете
— С ростом опыта доход может расти практически неограниченно
— В перспективе, накопив знания и опыт, легко переехать заграницу, т. к. в большинстве крупных и богатых компаний нужна Java

Минусы Java:
— Высокий порог входа. Лучше сразу заложить не меньше года на изучение.
— Проблемы с поиском первой работы: украинские работодатели выдвигают какие-то совершенно нереалистичные требования для новичков и все равно без опыта работы не берут
— Хуже с фрилансом: может, он и есть, но как-то мне не попадался
— Стартовые зарплаты — маленькие

В общем, как средство для разработки мне PHP не нравится, а нравится Java, но я не смог найти работу на Java, а на PHP на меня так и сыпались предложения.
Впрочем, можно аналогично сказать и про 1С — работы там валом, но в плане профессионального развития — это тупик.

ну ты где то пропустил андроид — на нем джава пользуется сильно и можна нормально фрилансить. Мне счас больше нравится пхп. Запилить сайтик в одно лицо — пожалуйста, запилить парсер инета — легко, сбор данных — тоже можна. При этом примеры есть тоже в инете и самая сложная функция будет сделанна максимум за 3и часа. Теперь возьмем джаву — запислить сайти — в одно лицо это год работы, парсер — год работы, сбор данных — год работы. но если нету апача развернутого в сети а нада что то автоматизировать — то можна и на джава что то запилить.

Почему-то общее впечатление от топика следующее: «Все вокруг мне не нравится, хочу куда-нибудь спрыгнуть. Пофиг куда.» ИМХО, это не тот настрой, с которым можно достичь успеха в ИТ. Если не нравится программирование на начальном этапе, то и дальше восторга не возникнет.
ПХП уже пробовали. Не зацепило сейчас, дальше интереснее не станет. А без интереса на начальном этапе никак.
Можете попробовать Джаву или скриптовые языки. Хотя шансы я бы оценила как небольшие.

Вы с 1С ни-ни, не будете прыгать?)

Пока не планирую.

вам нецікаво не php, виглядає на те, що вам нецікаве програмування (і системне адміністрування) взагалі. З PHP ще легше і більше аналогій з «моими простенькими десктоп-приложениями», оскільки, як ви і пишете, тут можна бути full stack девелопером, можна зробити все з початку до кінця і вживу побачити, оцінити результат своєї власної роботи. Хоча і тут вже ці часи проходять (хіба що хочете на все життя зачтрягти на вордпресі). З іншими мовами вам прийдеться займатися більш рутинними задачами (принаймі на перших порах) і це буде ще нудніше в 10 раз.
Програмування — це такий рід занять, що ти не можеш, як, скажімо, касир чи механік, вийшовши з роботи повінстю про неї забути. Тому, якщо цю роботу не любити, то жити з нею дуже важко. Краще, можливо, дійсно пошукати те, що таки подобається.

PHP это не обязательно сайты-визитки. А разработка CMS или веб-приложения — это уже весьма интересно. Но вот есть ли на рынке достаточное количество таких вакансий — не знаю.

по словам профи сильно портит стиль «правильного» кода
По словам людей, неспособных его освоить после Java :) Стиль портит ситуация, когда сначала торгуются за эстимейт, а потом каждый день спрашивают «как прогресс». Вот от этого говнокодишь во всю. Не думаю, что такая ситуация невозможна с явой.
А по основному вопросу — выбирай к чему душа лежит. Хочешь сильно на Java писать — пиши на Java.

Если не можете свободно разговаривать по-английски, то у вас просто нет выбора — только PHP потому, что в Яву вас просто не возьмут. А изучение английского языка до уровня разговорного — это очень трудная задача сроком не меньше, чем на год (причем не факт, что у вас хватит терпения ее довести до конца). А ведь жить этот год за что-то надо.

интерестный поворот ))) разговорный нужен для того что бы на митингах быть с заказчиком как я понимаю а не для того что бы кники по джава читать ?

При приеме на работу разговорный английский — практически обязательное условие. Ну а изучать джаву можно даже без знания письменного, благо переводной литературы хватает. Только зачем ее изучать, если потом работы не найдешь?

Ну, на вакансии по php тоже требуется разговорный английский. Зависит только от того, аутсорс, аутстафф, или разработка своего продукта.

Часть вакансий пхп это внутренний рынок. Соответственно невысокие требования к английскому. И пусть на внутреннем рынке платят не так хорошо как в аутсорсе, но для начинающего самое то, чтобы получить опыт.
На яве такого нет. Практически вся ява это аутсорс, иностранные заказчики и высокие требования к английскому. Особенно высокие они для новичков, без опыта работы на реальных проектах.

Если не можете свободно разговаривать по-английски, то у вас просто нет выбора — только PHP потому, что в Яву вас просто не возьмут.
Я розумію, якщо б таке по вухах їздилося дівчинці якісь для підняття власної значимості )) Але ж не тут. Особисто я бачив і цей рівень «бекання» «розмовною» англійською, і рівень г**коду (заради справедливості слід зазначити, в обох напрямках). ))
минусы
-по словам профи сильно портит стиль «правильного» кода
-низкая зп относительно других языков

— зависит от того, какой иструмент прменяется. Если что-то а-ля вордпресс или джумла, то да, стиль кода можно испортить наверное. Если же что-то типа Laravel или Yii — то там, фреймворк приучает к хорошему стилю. ИМХО.
Хотя и на вордпрессе можно писать хороший код (для плагинов вордпресса например) — тут уже от программера зависит.

— наверное да. Хотя сам по себе уровень з/пл не может говорить о том, что сам пхп плох.

-зная 20% языка можно реализовать 80% его возможностей

можно знать один только вордпресс, чтобы реализовать большинство стандартных сайтов) (да, я фанат Вордпресса :) )

Стоит ли обратить внимание на яву, можно ли ее рекомендовать как первый (ну почти первый) язык программирования, и можно ли самому (книжки, упражнения +запись на курсы) освоить ее до уровня джуниора?

Насчет джавы в качестве первого языка — есть книженция Яков Файн «Программирование на Java для детей, родителей, дедушек и бабушек» ( www.proklondike.com/..._java4kids.html ). По идее, для новичков как раз подойдет)

Можно начать знакомиться с джавой, но уже с половины книги ее желательно бросить и пересесть на что то более серьезное :)

Я про книгу

«Программирование на Java для детей, родителей, дедушек и бабушек»
. А под более серьезным имею ввиду Шилдта или Java Head First.

вроде как Head First серия и так достаточно простая

ну так да — название как бы намекает, что она больше для знакомства с языком, чтобы читающий ее понял, что не так сложна Java, как ее малюют)

Если же что-то типа Laravel или Yii — то там, фреймворк приучает к хорошему стилю
Laravel приучает писать в стиле Java. Хорошо это или плохо, учитывая разницу в языках, вопрос спорный.

если java это ява, то jazz это язь :)

як на мене то це навіть не вибір, тут і так все ясно :)

где это для Java мало работы?? по-моему как раз для PHP меньше...

Если интересен десктоп и много вакансий — идите в 1С.

’Так’ его еще никто не посылал :D

Если не прёт веб, то лучше сразу о нём забыть, а значит и о пхп. Путём простых логических рассуждений остаётся джава, так как нет больше наказания в жизни, чем заниматься тем, что не прёт.

Джава это чаще всего как-раз веб, а именно — написание серверной части, но все-равно веб)

С джавой проще уйти от веба, если он не прёт. А пхп это веб гораздо чаще, чем джава, а точнее вообще всегда.

Java в глобальном смысле более сложен, но и больше ценится как деньгами так и почетом

ИМХО, Java отлично подходит в качестве первого языка. Порог вхождения, конечно, повыше будет, чем у PHP, зато есть хорошие перспективы типа Big Data и т.п.

В качестве книги для новичков могу порекомендовать Head First Java:
vk.com/...6a431ef4769b571

Практические задачи можно найти на JavaRush. Попробуйте, может вам понравится:
javarush.ru

Ну и зарплаты у Java Senior, судя по данным ДОУ, повыше будут:
jobs.dou.ua/...1=0&exp2=10

Поддерживаю рекомендацию Head First Java (есть русский перевод — «Изучаем Java», Кэти Сьерра, Берт Бейтс).

Java — это вполне приемлемый первый язык программирования. Его, безусловно, можно выучить самостоятельно. Желаю удачи.

Я не думаю, что спрос на Java разработчиков ниже, чем на PHP. Может зависеть от географического положения. Определенно, Java как язык популярнее на данный момент.

Если не понравился веб, то можно попробовать после изучения основ языка посмотреть в сторону разработки под мобильные устройства на Android. Это интересно и сейчас очень востребовано на рынке труда (полагаю, будет легко найти позицию для начинающего).

Автор, советую не тратить зря время, займитесь чем-то другим. Раз вас раньше не зацепило, то и сейчас насильно ничего не выйдет

Я думаю, есть шанс.

Люди меняются с течением времени. Скажем, я терпеть не мог историю, когда был младше; с возрастом и опытом она стала интереснее. Я был весьма прохладен к иностранным языкам, а теперь они мне кажутся интереснее языков программирования.

Мне кажется, надо попробовать, приложить усилия и посмотреть, что получится.
«It is never too late to be what you might have been.»

Те, у кого есть шанс, не будут такие посты писать, мол «веб не интересно», «там больше платят, там меньше»
Буду рад оказаться не правым, и что бы автор через год, работая джуном (или даже миддлом) ткнул меня в мой коммент со словами «вот видишь, ошибался ты насчет меня!»

О! Это идея.
Уважаемый Stein gewitter, если к 22 февраля 2016 года будете работать программистом, пожалуйста, отметьтесь в этом топике. В противном случае Артему от меня бутылка Араспела.

Я не гонюсь за деньгами, я просто пытаюсь «правильно начать», чтобы потом не было обидно за неправильно принятое решение. Понимаю что от всего в жизни нельзя застраховаться, однако хотелось бы подойти с умом к выбору, взвесить за и против, вот и все.

Коментар порушує правила спільноти і видалений модераторами.

Коментар порушує правила спільноти і видалений модераторами.

Коментар порушує правила спільноти і видалений модераторами.

Коментар порушує правила спільноти і видалений модераторами.

если хочешь кодить — иди на курсы. по вечерам, три раза в неделю и т.д.

Кодить можно и дома на диване. Главное желание.

Підписатись на коментарі