@Undiabler

Какие существуют языки со встроенным веб сервером?

(или имеющие библиотеки для работы в режиме веб сервера)
Доброго времени суток.
В последнее время все чаще и чаще сталкиваюсь с задачами которые требуют практически ручного управления (привет с++) различными процессами в вебе. Не дает покоя мысль пересесть на что нибудь помасштабнее.

Критерии выбора следующие:
1) Управление потоками в ручном режиме
2) Асинхронность, отдаем контент при этом в асинхронном режиме продолжаем доделывать работу, писать в файл, бд, и т.д.
3) Адекватность по отношению к вебу. (< sarcasm >даешь вебсервер на ассемблере< /sarcasm >)
4) Хайлоад

Сейчас насколько могу судить картина следующая:
С++ - все хорошо, но скорость разработки печалит.
PHP - демоны на php убоги, утечки памяти жуткие, php как вебсервер - не катит.
Python - просторней, но работа реализуется через костыль uwsgi, а вебсервер идущий в комплекте с Django - подходит только для тестирования и отладки.
Ruby на рельсах - в принципе такая же ситуация, WEBrick тоже для дебага только.
Nodejs - хорошо, но как-то js на бэкенде да еще и под хайлоадом пока отталкивает, возможно ситуация в будущем исправится, по крайней мере это уже хороший претендент.
Go - вроде все складно, пока не слишком большое комьюнити, да и сам язык не без своих странностей, но насколько могу судить наилучший кандидат.
Nginx + lua - мощный вариант, но на полноценный вариант - не катит. Слишком много НО возникает, да и комьюнити практически нету.

Что можно добавить к этим пунктам? Возможно существуют еще языки которые я обошел вниманием?

UPD: Спустя год могу сказать golang оказался лучшим вариантом. Питон очень хорош в плане разработки но ему не хватало откровенно скорости. Комьюнити golang-а растет крайне быстро. Для микросервисов самый сбалансированный язык в плане качество и скорость разработки <-> быстрота выполнения
  • Вопрос задан
  • 667 просмотров
Решения вопроса 1
@SilentFl
На мой скромный взгляд лучше все-таки взять Golang. Комьюнити у него уже достаточно большое, странностей я не замечал (читайте спецификацию), синтаксис весьма похож на сишечный, да и в случае чего интеграция с С/С++-кодом простая
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 9
daapp
@daapp
Программист
Erlang - просто, надёжно и как-раз для таких задач.
Ответ написан
Комментировать
@bromzh
Drugs-driven development
Так тут java по всем пунктам.
Более того, не нравится многословность явы - бери groovy. Хочется больше функциональщины и более крутой системы типов - есть scala. Экзотика и иммутабельность коллекций - clojure.

PS в питон 3.4 включили модуль для асинхронной разработки (async). Погляди, хорошая штука.
Ответ написан
Комментировать
OnYourLips
@OnYourLips
Этот язык C.
И другие языки используют вебсерверы, написанные на нем.
Остальное - компромисс.
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
Мне кажется вам пора открыть, что асинхронность в вебе реализуется стандартно очередью задач.
Ответ написан
Комментировать
@protven
Посмотрите в сторону java и других языков, которые исполняются в jvm (clojure, scala, groovy). Есть jetty, есть netty, есть Apache Coyote, есть grizzly.
Ответ написан
Комментировать
@couchemar
Не очень понятно что означает пункт 1.

Чем плохи как Вы назвали "костыли", почему сервер должен быть встроен в язык?

а так да, erlang + cowboy (но опять же это не встроенный в язык сервер)
Ответ написан
Комментировать
@beduin01
Посмотрите на vibed.org
и
dlang.org
Ответ написан
Комментировать
@skynetdev
Есть язык Rust (www.rust-lang.org) на замену C++ собрал в себе все самое лучшее из всех языков, сейчас в мае 2015 будет релиз
комюнити вроде есть и доки но думаю не так сильно развито,
но с учетом возможностей языка считаю его одним из лучших из современных языков
Ответ написан
Комментировать
@sitev_ru
sitev.ru - мой блог ...
Надо брать C++ с библиотеками... Ну или сделать как я, написал/пишу библиотеки сам - sitev.ru
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы