Where will D sit in the web service space?
via Digitalmars-d
digitalmars-d at puremagic.com
Sun Jul 12 05:14:29 PDT 2015
I've been thinking a bit about where languages fit in the web
service space. Both mobile app and web services are likely
candidates for typed and efficient languages. I'm not at all
happy with the "prolific" choices that are available. Yet, D is
currently not in a strong position for mobile apps or web
servers. So what does the competition look like?
JAVA is big and a strong player, but also heavy and resource
demanding. I don't consider it for my use due to the resource
requirements. I want something more nimble.
- Java is for those who already have invested in the language or
need a framework written in it.
C# plays in the same category as Java, with the additional
"Microsoft" taint (for good and bad).
- Like Java, C# is for those who need integration with Microsoft
products.
GO is nimble, but the language is a bit annoying. On the good
side it has a low latency GC, but with a performance penalty.
Google are now also fully supporting Go on Google App Engine
(together with Java and Python)
https://sourcegraph.com/blog/live/gophercon2015/123574706480
https://groups.google.com/forum/#!topic/google-appengine-go/as9wUqT77YU
- Go is an alternative for those who want to write a light server
from scratch and/or integrate with Google Cloud. It has a very
quickly gained a lot of web related frameworks and 3rd party APIs.
RUST was never meant for the web servers, but people seem to have
taken to writing frameworks for it lately. Rust is like Go a bit
annoying, but with some strong non-GC semantics.
- Rust is difficult to place, but seems like an emerging TCP/HTTP
alternative where better-speed-than-GC is a requirement. Might
become an alternative to C++/Java for game-servers?
C++ offers everything needed, but unfortunately writing safe code
in C++ is tedious and difficult.
- I'm not really sure why anyone would want to write a server in
C++. Seems like a "last resort" language for this purpose. What
you fall back on when the alternatives don't cut it, or don't
integrate with required libraries, at the cost of development
time.
HASKELL is used to some extent. In theory a functional language
should be a perfect match for a web service, but is it? Not sure,
but I am not likely to use it for web programming for the same
reason I would not choose C++. I am afraid it will become tedious.
PONY is an upcoming actor based, non-GC language that might be
worth watching. Not production ready, a fringe language, but the
actor based programming model might be suitable.
Maybe you know some other statically typed languages worth
mentioning?
To me it seems like C++ and Rust are the most likely targets for
D to compete with. Yet, to me those languages are on the fringe
of web-service programming. More suitable for specialised
services like image rescaling or game servers.
Java, C# and now Go seems to have strong infrastructure
advantages that makes them difficult targets. They all have
integration advantages not provided by other languages.
What do you think about the future for D in the web service space?
More information about the Digitalmars-d
mailing list