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