Answer the question
In order to leave comments, you need to log in
What languages are there with a built-in web server?
(or having libraries to work in the web server mode)
Good day.
Recently, more and more often I encounter tasks that require almost manual control (hello c ++) of various processes on the web. Do not give rest to the idea to transfer to something bigger.
The selection criteria are as follows:
1) Manual flow control
2) Asynchrony, we give content while in asynchronous mode we continue to complete the work, write to a file, database, etc.
3) Adequacy in relation to the web. (< sarcasm > you give a webserver in assembler < /sarcasm >)
4) Highload
Now, as far as I can judge, the picture is as follows:
C ++ - everything is fine, but the speed of development is sad.
PHP- demons in php are miserable, memory leaks are terrible, php as a web server does not roll.
Python is more spacious, but the work is implemented through the uwsgi crutch, and the web server bundled with Django is only suitable for testing and debugging.
Ruby on rails - in principle the same situation, WEBrick is also for debugging only.
Nodejs is good, but somehow js on the backend and even under the highload is repulsive for now, perhaps the situation will improve in the future, at least it is already a good contender.
Go - everything seems to be in order, as long as the community is not too large, and the language itself is not without its oddities, but as far as I can judge, the best candidate.
nginx + lua- a powerful option, but it does not work for a full-fledged option. There are too many BUTs, and there is practically no community.
What can be added to these points? Perhaps there are other languages that I have overlooked?
UPD : A year later, golang turned out to be the best option. Python is very good in terms of development, but frankly it lacked speed. The golang community is growing extremely fast. For microservices, the most balanced language in terms of quality and speed of development <-> speed of execution
Answer the question
In order to leave comments, you need to log in
In my humble opinion, it's better to take Golang after all. Its community is already quite large, I didn’t notice any oddities (read the specification), the syntax is very similar to the cis, and in which case integration with C / C ++ code is simple
So here java on all counts.
Moreover, if you don't like the verbosity of Java - take groovy. I want more functionality and a cooler type system - there is scala. Exotic and immutable collections - clojure.
PS in python 3.4 included a module for asynchronous development (async). Look, good stuff.
This language is C.
And other languages use web servers written in it.
The rest is a compromise.
I think it's time for you to discover that asynchrony in the web is implemented by default with a task queue.
Look towards java and other languages that run in jvm (clojure, scala, groovy). There is jetty, there is netty, there is Apache Coyote, there is grizzly.
It's not very clear what point 1 means.
What's wrong with what you called "crutches", why should the server be built into the language?
and yes, erlang + cowboy (but again, this is not a server built into the language)
There is a Rust language ( www.rust-lang.org ) to replace C ++, it has collected all the best of all languages, now in May 2015 there will be a community release
like there are docks, but I think it’s not so well developed,
but taking into account the capabilities of the language, I think it one of the best modern languages
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question