Для PHP нужен лок. сервер, а для других ЯП?
Самый глупый вопрос тот, который не задан.Локальный сервер -  специальная программа, позволяющая веб-разработчикам   разрабатывать сайт на локальном (домашнем) компьютере, без необходимости выхода в Интернет.
Надобность в такой программе возникает именно при разработке динамических сайтов, т.е. сайтов, использующих в своей работе php (или perl, node.js и пр.) – скрипты.  Для тестирования обычных html+css сайтов  локальный сервер не нужен.
Тут, по-моему, важно понять, что какие-то вещи способен сделать браузер (распарсить html страницу, выполнить js код, ...), и они выполняются на стороне клиента, а какие-то вещи* выполняются на стороне сервера. В ответ на запрос сервер на основе скрипта / программы генерирует страницу, которую отправляет клиенту. В этом суть сервера. В этом и будет различие: (ещё раз) если Вы в проекте используете исключительно языки, которые "понимает" браузер, Вы можете обойтись без локального сервера.
Для языков, которые Вы упомянули в тегах, нужны локальные сервера:Java** - Tomcat, JBoss AS, GlassFish, Jetty и др.Python*** - Google App Engine, веб сервера, реализующие WSGI, (Twisted Web, например) и др.JavaScript*** - Node.js (основан на V8) и др.Ruby on Rails*** - WEBrick, Mongrel, любой web сервер, поддерживающий FastCGI, ...
__________
* Для реализации сайтов с динамическим контентом, либо по соображениям безопасности, либо, чтобы снять вычилительную нагрузку с клиента, ...
** Сервер нужен для сервлетов; java-апплеты выполняются в браузере, без участия сервера.
*** Важно: насчёт этих языков и фреймворка я не уверен, просто по-быстрому нагуглил. Надеюсь, знающий человек не пройдёт мимо этого ответа и поправит меня, если что-то не так.
В Ruby on Rails есть встроенный сервер WEBrick, который запускается для конкретного приложения из его директории командой rails server. Приложение доступно будет в браузере по адресу localhost:3000