JS это для всяких красивостей на клиенте, или если там нужно реализовать какую-то логику. На клиентской стороне ему альтернатив особо нет. Для бекенда есть куча вариантов, PHP один из них, при-чём не самый лучший (но со своими плюсами). На вскидку: python (django/flask), ruby (on rails), java/scala, для гурманов clojure
Есть альтернативы, некоторые фулл-стэк решения умеют сами генерировать (не лучшего качества) JS. Но это не лучший выбор для «сайтов», хотя ТС сам ничерта не знает, что хочет.
Си это круто, а вот на крестах сайтовые бекенды точно пишут. Точнее на них переписывают самые узкие места. Но думаю не стоит грузить ТС подобными возвышенными материями.
HTML 5 это просто новая версия HTML (что бы ни говорил Eddy_Em), PHP в итоге генерирует HTML. Js выполняется в браузере у клиента для придания страничке большей интерактивности. Так что лучше все.