1. Программисты "для web" делятся на "Фронт-Энд", "Бэк-энд" и "Дизайнеров-интерфейсников". Есть еще универсалы, которые могут все сразу, но плохо во всем.
2. Термины: FrontEnd: программирование сайта, который отображаетсяпользователю. BackEnd: программирование того, что от пользователя скрыто (внутренние операции, статистики, безопасность) . Интерфейс: то, что пользователь видит и куда тыкает.
3. Сайт условно делится на 2 или три части: 1. UI - Интерфейс. Пишется только на JS,CSS,HTML (и в редком случае на Flash). 2 - Движок. Пишется на чем угодно, из самого простого - PHP, Так как он на это ориентирован. 3. BackEnd - иногда его нет вообще (в зависимости от сложности сайта) , пишется на чем угодно.
У вас нет понимания того, что вебстраничка это просто ТЕКСТ. В тексте описан дизайн, цвета, скрипты, прочая лабуда.
Выводит текст PHP. Но выводит он только то что вы ему скажете.
Отсюда вывод - сайт без дизайна можно сделать зная только PHP. Для дизайна надо знать HTML\CSS\JS и сказать PHP чтобы он вывел "вот этот дизайн".
PHP - достоинств кроме простоты нет. Програмеров под него как грязи, язык совершенно неуважаем. Но ничего проще правда нет, потому все до сих пор используют именно его.
На остальных языках у вас возмоностей больше (и все они примерно равны) , но и писать там что-то сложнее, так как язык обще-ориентирован, а не как PHP - Только на WEB-странички. То есть на них можно писать полноценные программы, в отличие от PHP (там тоже можно, но ооочень сложно) .
Нормальные проэкты в одиночку вы не создадите. Вам нужен 1. Программист 2. Дизайнер веб-страниц ("Верстальщик") 3. Специалист по базам данных. Весьма сложно совмещать эти три вещи в одном человеке, владея всем "на уровне".
И да, выучить язык не значит уметь программировать. НЕ забывайте, что программы делают то, что им скажут. Вы можеде сделать быстрый как гепард алгоритм или тормозной как черепаха.