Возможно ли разработать полноценный красивый сайт для web, используя только и только средства одного языка программирования?
Я имею в виду, можно ли ипользовать для разработки интерактивного сайта с современным дизайном, который будет открываться в браузере, только, например, Python + Web Фрэймворк для него Jango? Или, например, только Haskell + Yesod Web Framework? Сделать не только бэк-энд на нем, но и весь дизайн абсолютно без использования HTML, CSS (и PHP, разумеется).
Я наполовину знаю и доучиваю Python и в такой же мере знаю Haskell, но совсем не знаю HTML, CSS и не хочу знать.
90% HTML учится легко за минут 40.
Его основные принципы знать НУЖНО.
А вот все нюансы CSS+HTML+особенности браузеров+оживление веб-сайта на JS - это само по себе отдельная специализация.
Как вариант - использовать чужую работу, чужую верстку. Просто использовать, не особо вникая в сами языки - да это возможно.
А самому делать только то, что нравится тебе лично.
Но в именно такой постановке что вы пишете:
Сделать полноценный красивый сайт для web... с использованием Django или Yesod - нет.
Так как все красивости как раз рисуются в той части сайта - к которой DJango и Yesod относятся весьма и весьма стороной.
Максимум что вы можете - использовать чужие шаблоны.
Не вникая в их суть.
Это более чем возможно.
Есть прямо-таки специализирующиеся на этом разработчики - бэкендеры.
Им не обязательно знать как делать красивости на веб-сайте.
Не их это работы.
Но все красивости это ИМЕННО что ненавидимые вами HTML, CSS, JS.
Все остальное что вы перечислили - Python, Haskell - не имеют к красивостям прямого отношения.
нельзя, да и зачем? каждый язык нужен для своей функции. PHP для серверных работ, JS для красивостей и работе на стороне клиента и т.д. зачем костыли городить самому себе?)
Вся веб-разработка делится на фронтенд и бэкенд.
Фронтенд - это то, что в итоге придёт в браузер пользователя и будет ему показано.
Бэкенд - это про то, как на стороне сервера подготовить то, что нужно отправить на сторону фронтенда и поддерживать коммуникацию с ним.
И вот если бэкенд можно писать вообще на чём угодно, главное чтобы эта технология могла быть запущена на сервере и потом получать запросы от пользователей и отправлять им ответы, то фронтенд строго ограничен тем, что может понять и отобразить браузер. А браузер понимает только HTML+CSS+JS.