Задать вопрос

В чем польза изучения PHP сегодня?

Здравствуйте!

Заранее прошу прошения за нубство и очередной тысячный вопрос(на свой лад) о многострадальном выборе пути новичка в WEB-разработке.

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

1. Даст ли изучение PHP больше пользы, понимания работы WEBа и разработки в нем, чем к примеру, Django, Ruby? (Node.js, на сколько я понял, пока инструмент специфический).
2. Предпочитается ли PHP сегодня, и будет ли предпочтителен на будущее для разработок не мелких сайтов, а сложных проектов, учитывая его развитие(наверное)?
3. Что я, или многое ли, упущу в плане проф. развития, если не буду изучать PHP, а перейду сразу на другие серверные языки, а возможно и, - Основы программ.- основы С - JS - Динамические Django/Ruby -ASP .NET(С# -Go - далее? Не будет ли проблем с удаленной работой(фултайм) и муки совести, что возможно поддался общему малообоснованному негативному фону относительно PHP, и пропустил его?

Из-за отсутствия пока знаний и опыта хотелось бы выбрать более менее фундаментальный и в тот же момент востребованный путь в плане развития в современной разработке под WEB. Если конечно существует близкий к универсальному путь.

Конечно хочется понимать больше парадигм технологий и конструкций, но позже, все не освоить за раз, для меня по крайней мере. Но буду тянуться к этому.

Спасибо ребята за мнение кто откликнется. Лет мне за 30, меняю профессию, и было бы здорово эффективнее потратить время на освоение профессии и скорого начала работы.

UPD

Ребята Спасибо всем за комментарии и пояснения, очень помогли, внесли ясность в мои предыдущие мутные суждения. На основе ваших слов пошел читать на Тостере и внешние источники уже с другим подходом. И думаю необходимо вынести сложившиеся мысли.

Что касается PHP, понял что при его выборе, особенно как первого ЯП, необходим изначально правильный подход при работе с ним, стараясь на ранних этапах понять где он точно не помощник, его особенности, что позволит в будущем комфортно перерасти из мелких к созданию крупных проектов на нем, не став на этом этапе(круп. проет.) одним из ненавистников языка, из-за проявившихся сюрпризов при столкновении предыдущего багажа скиллов, или хуже того неправильного подхода, с high load.

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

Ясно стало одно, что не смотря на то что технологии в Web-разработке развились и продолжают развиваться, принеся когда то вездесущий JS, с его многочисленными современными фреймворками, появившиеся "новые" языки и подходы к хранению и обработке данных, главным для новичка остается начать понимать на практике смысл и суть того как все работает и устроено в Web-разработке, на каком либо одном более менее объемлющем, с компромиссом востребованности и доступности для новичка языке/стэке который рассчитан на создание как малых так и крупных проектов не сильно при этом "меняющийся" в процессе. - Для начала.

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

Логичным для себя все же посчитал "пробежаться" по основам железа и программирования через собственный подобранный список литературы(ниже), потому как ноль в Comp. Sc. что хоть минимально поможет держать в уме не один подход и чуть более широкий взгляд, не зависимо какой путь развития в Web будет выбран в ближайшее время. Ну и собственно найти и изучить один ЯП с ООП или современн. минимальный стэк технологий, на которых пишутся как малые так и крупные проекты. Что думаю даст не столь стрессовое развитие в начале, перед дальнейшим полным погружением в отрасль. В любом случае рад прояснению.

В процессе поглядывал еще и на Big Data с Enterprise, но это скорее недобрый знак.

Ну и список по основам, не обязательно, просто для полноты:
1. Э. Таненбаум(Архитектура комп.);
2. Ч. Петцольд(Код. Тайн. язык инф.);
3. С. Макконелл(Соверш. код);
4. Х. Абельсон/Д. Д. Сассман(SICP);
5. Б. У. Керниган/Д. М. Ритчи(Язык программирования Си);
6. В. Подбельский/С. Фомин(Программирование на языке Си)

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

Update Ограничив для себя примерно круг интересов - web и в последующем возможно финансы, др, взялся до корней изучать Python/django. Позже или параллельно JS конечно(от ситуации). И в будущем возможно - C#)

Библиотек у Python куча как оказалось, предоставляющих ему множества возможностей и др., чего раньше видимо не хватало и ограничивало его.

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

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

Учителей я надеюсь всегда "найти" здесь и не только.. В выборе инструментария помогли советы опытных людей из комментариев и не только, о том для чего именно выбирается этот самый инструментарий и то что необходимо углубиться в изучение технологии. Спасибо!

UPDATE 7 мая: Задав однажды вопрос, получив множество разных полезных мнений, начав получать уже какой-то опыт, параллельно изучая долгосрочные и финансовые тенденции в IT(программирование), все же пришел к "основам" - Java или C#, помимо Python.

Осваиваю Java. Python отложил в сторону как дополнительный инструмент. Пусть и приходится с джавой мучиться в первое время, но все же фундамент для моей конкретной натуры. Кто-то и через PHP, JavaScript с Нодой сразу становится профессионалом Web, так как душа лежит ко всему модному и быстро меняющемуся))).

Я же все пока скатываюсь в "унылый" Enterprise, мотивация - деньги, навыки. Но, деньги и навыки для реализации конкретных дальнейших жизненных целей. В общем, четкая цель своеобразная, которая не позволяет появляться в моей голове мыслям "а зачем мне все это нужно", стереотипам и прочему подобному от лукавого про программирование))). Ну а дальше, возможно и жизни без этого уже не смогу себе представлять, уже затягивает, учитывая дальнейшие долгосрочные цели(каждый может придти к своим). Такой подход проверен на примерах из собственной жизни, по другому себе не умею прививать сильной и долгосрочной мотивации. Драйв и эксперименты это наверно еще до 30 лет))), мне сейчас пока не до них))). Хотя постоянно натыкаюсь на топики в сети, где взрослые люди с нереальным воодушевлением открывали для себя web-технологии и не важно с каких инструментов они начинали(php, базы данных, др.), уходя из своих предыдущих профессиональных сфер.

C# также в среднем "равноценен" Java по всем параметрам, говорят удобнее только в плющках, и перейти по необходимости можно будет в кратчайшие сроки, если только конечно понадобиться. Но Java, все же кажеться основее основ(плюшки потом). К тому же из нее вроде растет Scala(функциональное программирование).

Грызу материал по Java, практикую. Может получиться со временем напроситься в какой нибудь опенсорс, если из дома потяну конечно, деваться не куда если джуном не будут брать долгое время. Много советов встречаю не тратить время на создание своего первого учебного проекта/сайта, а сразу в опенсорс для более реального опыта. Хотя проект запилить более практичный - тоже интересно сильно. В текущем python-проекте пока больше подглядывал за Pytonистами(первоначальная самонадеянность), и многое оставалось за кадром о программировании. С Java должно все встать на свои места, пусть и с некоторою болью в начале.

P.S. В бизнес логику, Enterprise еще тянет по причине малого в нем участия html, js и т.п. Пока нет желания связываться. Хотя с noda все же видимо теснее стать придется, время покажет.

UPDATE МАЙ 2016: Вместимость этого поста не позволяет разместить здесь последнюю информацию о себе, о своем продвижении в Java. Потому добавил комментарий ниже, с пометкой "update 2016:" от 13 мая 2016 года, где вся информация.

И да, здесь я описал список книг выше. Но ментор по Java которого я нашел в процессе, сразу попросил откинуть 5 из 6, и оставить лишь Код, Петцольда, и добавить к ней Философию Java. Первая(и то опциоанально) для ознакомления с принципами работы компьютеров и кодированием, вторая непосредственно по Java. Остальные было сказано - лишний груз, который излишен, если есть желание стать разработчиком Java.

Прошу прощения что не сообщил об этом ранее, и кого-то мог своим дилетантством на тот момент привести к изучению излишней литературы, потере времени и тп. И так, новости в комментарии по постом.
  • Вопрос задан
  • 13154 просмотра
Подписаться 45 Оценить 10 комментариев
Решения вопроса 9
index0h
@index0h
PHP, Golang. https://github.com/index0h
1. Даст ли изучение PHP больше пользы, понимания работы WEBа и разработки в нем, чем к примеру, Django, Ruby?

Если ваша цель - понять принципы вэба в кратчайшие сроки - php вполне для этого ок, но только этого языка МАЛО, web имеет и frontend сторону. *Django - это того, не язык.

2. Предпочитается ли PHP сегодня, и будет ли предпочтителен на будущее для разработок не мелких сайтов, а сложных проектов, учитывая его развитие(наверное)?

Facebook, VKontakte - это маленькие проекты?))

3. Что я, или многое ли, упущу в плане проф. развития, если не буду изучать PHP, а перейду сразу на другие серверные языки, а возможно и, - Основы программ.- основы С - JS - Динамические Django/Ruby - далее?

Не мешайте в одну кучу компилируемый язык общего назначения (С), событийный скриптовый язык (JS), фреймворк (Django) и скриптовый язык (Ruby)). Они предназначены для разных задач.

Не будет ли проблем с удаленной работой(фултайм) и муки совести, что возможно поддался общему негативному фону относительно PHP, и пропустил его?

Все зависит от вас. Если вы станете отличным спецом RoR, или NodeJS, или Django - проблем с поиском работы не будет.
Дело в том, что хотя и php-шников много, хороших специалистов найти очень не просто. Банально на собеседовании на синьйора спрашиваешь: в каких ситуациях стоит использовать "AR, в каких Repository", или "какие негативные последствия могут быть при использовании FK в high load проекте", а в ответ тишина. Куча народу считает себя гуру JS, а когда спрашиваешь что-то, что не делает jQuery(библиотека) - полное непонимание.

Резюмируя выше сказанное: php-не центр всея web, это интсрумент и он подходит под вполне конкретные задачи, под кучу других задач он не подходит. Вы можете спокойно зарабатывать на хлеб с маслом в web разработке не зная при этом php. Вам всего то нужно стать хорошим специалистом своего дела.
Ответ написан
LIAL
@LIAL
А я вот бы на вашем месте (смена профессии и тп) не стал бы отказываться от php. Почему вас сразу несет в highload? 90% проектов сети не хайлоад и не стоит зацикливаться на этом. Прочитав кучу правильных книжек вы не станете правильно писать, вот в чем суть, у вас будет такая каша в голове (а в таком возрасте очень тяжело себя будет заставить и часто будут опускаться руки), только практикой вы сможете выработать правильные навыки.

А вы думаете практику сразу где-то в хайлоад будете проходить? Сомневаюсь. До хайлоада должен быть целый "хайлоад" маленьких проектов, пхп вам позволит видеть минусы и плюсы, в лополнение оно простит вам ошибки вашей начальной "безграмотности". В пхп (как в прочим и других яп) есть прекрасный фреймворки (например yii, laravel) которые помогут вам понять патерны, архитектуру и научат более менее писать правильно (эти знания в принцие универсальны для всех яп).
и не нужно выбирать один язык, вам рано или поздно придется учить еще и еще, важно базу правильно себе заложить. Ну а дальше стоит все таки смотреть в асинхронную разработку (чтото типа nod.js)
Поймите что вы не сможете стать универсальным доктором который лечит только левый глаз, правый тоже надо будет лечить.
Ну и если нет готовой вакансии под которую вы затачиваетесь пхп отличный способ оттачивать свои знания на фрилансе (много и дешево) начние с него, поймайте азы потом как понравится питон, руби и тп
ps: если вдруг все таки не пхп, посмотрите на руби, но не забывайте про асинхронную разработку, очень понадобиться в дальнейшем. А вообще действовать надо маленькими шагами: почитал сделал, а не почитал-почитал-почитал. а потом сделал^3, иначе второй раз будете перечитывать
Ответ написан
AlekseyNemiro
@AlekseyNemiro
full-stack developer
А как же Великая и ужасная (технология) ASP .NET? Почему нет в списке? ;-)

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

Я бы рекомендовал сделать акцент на ООП.
PHP может быть объектно-ориентированным, но может и не быть, если лень или недостаточно знаний.

Если говорить об ASP .NET, то тут без ООП не обойтись. Хочешь не хочешь, придется работать с объектами/классами и прочими сопутствующими вещами.

ASP .NET позволяет программировать на Visual Basic .NET и C#. Изучив один из этих языков можно будет создавать приложения для Windows и Windows Phone, всякие библиотеки и компоненты. В общем, много чего можно будет делать.

Сложные и большие проекты делать в ASP .NET проще, чем на PHP (мне доводилось работать и с тем и другим). Раньше у PHP было преимущество в доступности и дешевизне. Сейчас такого преимущества нет. Технология .NET за поседение годы стала доступней. Сервера и хостинг под Windows по стоимости не уступает Linux. Основная среда разработки под .NET - Visual Studio потихоньку становится совсем бесплатной, былые ограничения постепенно уходят в историю, хотя даже с ограничениями многое можно реализовывать гораздо быстрее и проще.

Проще - это не значит, что все будет совсем просто. Придется приложить определенные усилия и потратить уйму времени на изучение. Но оно того стоит.
Ответ написан
@asd111
PHP не советую. Мало проектов где используются фреймворки. PHP это в основном разработка в рамках какой нибудь CMS(в России в основном Битрикс), т.е. придется копаться в недрах CMS а это не самое приятное занятие и платят мало.
Если хочется программировать, то на мой взгляд лучше C#(ASP.NET MVC) или Java, или Python.
В случае с C# и Java работу найти очень легко.
С PHP тоже легко найти работу, но не факт, что она вам понравится.
Я например изучил PHP, но у нас в регионе в основном вакансии по Битрикс, пошел посмотреть что такое Битрикс, сейчас понял что не мое — учу Java, но деньги появились.

На мой взгляд самый главный недостаток PHP - возможность смешивать логику и представление. К сожалению многие программисты пользуются этим и получается некрасиво.

Самая большая разница в Вебе это не PHP - другой язык программирования, а front-end back-end. Так например большинство back-endщиков не любят верстать, большинство front-endов особо не интересуются базами данных.
Возможно вам больше понравится верстка и front-end, поэтому желательно сначала посмотреть что это такое, т.к. стать специалистом по фронт-энду можно гораздо быстрее.
Ответ написан
Stac
@Stac
PHP идеален для начала:
1) легко найти практическое применение, т.к все, кроме крупных компаний (которые, в основном и ругают PHP) используют именно его. Туда, где ругают PHP без 3-5 летнего практического опыта не возьмут.
2) на PHP можно писать без ООП и зарабатывать, решая бизнес-задачи (ООП это жутко непонятная, граничащая с бредом, концепция пока нет реального опыта больших или командных проектов).

Судя по вакансиям этого года, то кроме PHP стоит учить node.js. Он почему-то всем нужен. Про Python с Ruby уже кричат не так сильно.

Из списка книг по Си стоит оставить только Кернигана и Ричи ибо классика и дает хорошее понимание, что и как происходит в этот мире.

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

p.s. Я проходил путь смены профессии 6 лет назад (тоже в 30) с менеджера по продажам.
Ответ написан
@iliyaisd
Мне по работе приходится тесно контактировать с разработчиками разного профиля и языков. И знаете, что я понял? РНР хорош. Да, его недолюбливают за разные грехи, в основном - отсутствие типизации, наличие огромной базы плохого кода (и соответствующего контингента) и разные непривычные для тру-кодеров подходы к программированию. Но какая разница, если благодаря всему этому на нём надо сделать гораздо меньше телодвижений для решения повседневных насущных задач? Я писал и хайлоад на РНР, и всё отлично работало, особенно в совокупности с грамотно настроенным веб-сервером и грамотно написанными хранимками и запросами. Тут мы плавно переходим к сфере применимости. Очевидно, что сложная логика для БД должна быть написана в БД. Очевидно, что если вам нужна (действительно нужна) многопоточность, то РНР не подходит. Понятно, что это не работает в низкоуровневой разработке и других подобных вещах... В общем, следуйте элементарной логике и будет вам счастье.
Ну а что касается проф.развития... А что для вас проф. развитие? на хабре была отличная статья, прям вот любому программисту распечатать и повесить на стеночку. Проф.развитие - это умение быстро и качественно решать задачи бизнеса и получать за это хорошие деньги. А на РНР это всё делать легко, потому что большой спрос, и сам РНР простой и удобный.
Ответ написан
Комментировать
voropaevoriginal
@voropaevoriginal
Самоучка. Самореализатор :)
На вашем месте, я начинал бы придумывать некий проект, нашел инвестора и нанял бы программиста)
В жизни вам это ничем сильно не поможет, если вы не сможете стать просто Асом. А работать в мелких проектах и получать свои 30-150 000р в мес. не ахти )

Чисто моё мнение)
Ответ написан
mzcoding
@mzcoding
Web-Разработка
Вам нужно определится , что вы хотите изучить и под что писать код. PHP это серверный ЯП, на нем можно хорошо зарабатывать но нужно быть профи как и в любом другом языке.
Если совершенно 0 в программировании, лучше не начинайте с пхп иначе будете его также обсирать как и толпы других людей. В пхп легкий порог входа, но столкнувшись однажды с серьезным проектом, вы поймете, что ваш код запутанный кривой, работает неверно, где именно работает не верно тоже не понять, испортите себе репутацию перед заказчиками, ваш код попадет сюда govnokod.ru, а вы станете очередным троллем ненавидящем ПХП.
И тут выресовывается основной минус, язык не строг и не припятствует написанию говнокода на нем. Для меня это не минус, сам язык достаточно хороший и для отведенных ему задач вполне подходит, но прежде чем его учить, я рекомендую ознакомится с архитектурным построением проектов, паттернами проектирования, анализом и рефакторингом кода, а лучше прежде изучить другой язык, например питон или Java или любой другой объектно-ориентированный яп.
Ответ написан
@AlbertUfa Автор вопроса
Update (май 2016):
Всем привет. Хотел сообщить в посте о последних новостях о себе. Но вместимость поста/вопроса ограниченна 10000 знаков. Потому оставлю информацию здесь в комментариях.

Уже подзабыл что данный вопрос связан не только с PHP, но и говорил о Java. C тех пор я плотно занимаюсь освоением Java технологии. По ка еще не ходил на собеседования в своем городе(Уфа). Так как еще считаю незаконченным свое самообучение, но к чему уже близок относительно(делаю проекты), которое описываю на одном интернет ресурсе связанном с достижениями целей, по этой ссылке . Искал для поддержания само мотивации где бы выкладывать процесс самостоятельного обучения разработке на Java. Так и был выбран вышеотмеченный сервис, где я в течении нескольких месяцев описываю свой прогресс и все что связано с целью. Помимо этого подключил изучение английского. Одновременно конечно сложно в моем случае их достигать - английский и программирование, и я их осваиваю по очереди, если это так можно назвать. Здесь всего не описать - много будет. Не реклама сервиса, думал о ЖЖ. Но функционал другого вроде как показался более подходящим, на нем я и остановился. В общем по ссылке все что со мной произошло и происходит в процессе освоения Java.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
Jeiwan
@Jeiwan
Инструмент не имеет значения. Главное — уметь решать им задачи. Если бы на ассемблере можно было успешно создавать веб-приложения, то на нём бы их и создавали.
Свои плюсы и минусы есть и у ПХП, и у Питона, и у Руби, и у Go, и у вообще всего. В любом языке программирования можно найти людей, которые скажут, что этот язык полное говно, и даже приведут вполне весомые аргументы. Также можно найти людей, которые скажут, что это идеальный язык, и тоже приведут аргументы. Ну и что с того? Какой толк о того, что говорят другие?
Попробуйте всё, на что хватит времени, и выберете то, что ВАМ больше всего понравится. Ведь это именно ВАМ в будущем целыми днями писать на этом языке код. Если вы решили серьезно этим заниматься, то потратите на это не один год. А зачем тратить время на нелюбимую деятельность?

ПС Те, кто советуют ему начать "с основ", с C и Java, — вы сошли с ума :)
Ответ написан
Комментировать
Zveroboy8
@Zveroboy8
А вот мне пхп нравится. Легкий для понимания, низкий порог входа. Работу найти можно даже толковому джуну. Язык развивается, ооп поддерживает.
А на счет того, что многие любят сказать, что пхп говно, то на любом языке можно писать как хорошо так и плохо. У каждого есть свои скелеты в шкафу, которые стыдно, да и не нужно показывать.
Ответ написан
globuzer
@globuzer
gezgrouvingus progreszive ombusgrander greyderzux
Польза - это в получении новых знаний. А вообще болшинство проектов в мировом интернете на пхп реализовано
Ответ написан
Комментировать
@savenko
Php программист
Немного не понимаю когда коллеги говорят о плохом коде. Вы же не собираетесь изобретать свой велосипед. Не, хотите плохого кода используйте фреймворки. Благо PHP- язык очень зрелый и на нем появилось очень много хороших фреймворков- Yii2, Symfony, Laravel. На мой взгляд удобнее чем даже Ruby on Rails (ROR). В ROR когда я его изучал не было Query Builder, не было Debug Toolbar.
Не обязательно связываться с Битриксом, заказчику зачастую все равно на чем будет работать его сайт, и Вы можете предложить ему свое решение, самое главное для заказчика, что бы это решало бизнес задачи и было удобно пользоваться.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы