процесс программирования происходит за компьютером)
ну а если по делу то сайт это как ответил человек выше действительно грубо округляя программа на каком либо компьютере к которому подключаются люди из сети.
Писать сайт можно и в обычном текстовом документе, но понятно дело, что никто так делать не будет ибо для ускорения работы существуют программы "Редакторы", в которых имеются некоторые подсказки, в которых лучше подсвечивается код и т.п., то есть сделано все для удобства написания, как свой пример - VS Code, я пользуюсь им.
Для начинаний, стоит наверное попробывать более лёгкую версию, например как Tilda и подобного рода движки (я в своё время начинал с Ucoz), которые находятся в сети. Это просто конструкторы, и редактор сайта в таком случае бывает даже не требует знаний кода. Просто расставляется набор блоков пишется текст и т.п., там редактором является визуальная оболочка а не код в привычном понимании... Это как на картинку можно смотреть на изображение, а можно смотреть на неё как на код и понимать какой цвет какому пикселю назначается...
Опять же сайт можно разделить на несколько языков программирования и то, для чего они используются. Когда человек заходит на сайт, на Сервер (наш компьютер в сети) приходит запрос по типу "покажи мне сайт". В этот момент на сервере отрабатывает код, который собирает страницу, которую в итоге покажет. Для этой внутренней части, то что будет делаться на стороне "Сервера", я к примеру пишу на PHP, так же это могут быть другие языки вплодь до C++. Если мой сайт имеет какие то данные которые хранятся, то они могут находиться в базе данных в моём случае например MySQLi, к которой я так же обращаюсь командами из своего PHP скрипта. Это именно действия по сбору страницы, то есть я например в момент обращения определяю какое сейчас время, в зависимости от этого выдаю "Добрый вечер"/"Добрый день" и т.п., вот что бы провести действия (проверить какое сейчас время) я использую php, что бы вывести это как страницу, с помощью php я собираю HTML код, который будет отправлен пользователю (это язык, как пафосно нынче называют Фронт-энд разработки), а что бы этот текст например имел какие то визуальные моменты, для этого используется ещё один язык - CSS, в нём прописываются стили для этого HTML.
То есть я отправлю со своего Сервера, человеку файл HTML, который включает в себя результат работы программы на моем сервере. Для фронт-энд разработки есть ещё такой язык как JavaScript (JS), он отвечает за то что будет происходить у пользователя, когда этот файл открыт у него, например каждые 5 сек будет меняться фон страницы.
Ну а что бы это программа работала, на Сервере (нашем компьютере) используется определённый набор программ, к примеру сервер Apache или Ngix - именно это и называется HTTP сервер, то есть при запросе, эти программы отвечают за то к какому файлу они обратятся и куда отправят ответ и как они все это сделают.
ну и в каждом этом направлении люди стремятся к упрощению, по этому имеется куча хлама на подобии готовых решений в виде движков Wordpress (попроще для изучения, расчитан на построение блогов), Joomla, Drupal и т.п., в которых процесс создания сайта сводится в некоторых местах к простым настройкам движка
для языка PHP имеются так называемые Фреймворки - наборы готовых функций
для языка JS - Jquery по сути такой же фреймворк но для языка JS
для того что бы не вникать в настройки сервера и работы с ним существуют хостинги, на которые просто выгружаешь свой сайт, покупаешь доменное имя и вот на твой сайт могут зайти