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

В чем польза изучения 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.

Прошу прощения что не сообщил об этом ранее, и кого-то мог своим дилетантством на тот момент привести к изучению излишней литературы, потере времени и тп. И так, новости в комментарии по постом.
  • Вопрос задан
  • 13161 просмотр
Подписаться 45 Оценить 10 комментариев
Решение пользователя Алексей Немиро К ответам на вопрос (13)
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 потихоньку становится совсем бесплатной, былые ограничения постепенно уходят в историю, хотя даже с ограничениями многое можно реализовывать гораздо быстрее и проще.

Проще - это не значит, что все будет совсем просто. Придется приложить определенные усилия и потратить уйму времени на изучение. Но оно того стоит.
Ответ написан