Where will D sit in the web service space?

Rikki Cattermole via Digitalmars-d digitalmars-d at puremagic.com
Sun Jul 12 05:48:20 PDT 2015


On 13/07/2015 12:14 a.m., "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= 
<ola.fosheim.grostad+dlang at gmail.com>" wrote:
> 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?

Controversial part: D is not very pleasant to write web services in 
currently.
BUT: I also do not consider any language/framework to fully hit the nail 
on the head. Although ruby on rails has some pretty neat ideas.

Currently I believe a D web server/front end for web service framework 
should be an web application server not a plain old web server.
The model for web servers is odd for D I think.

We have great potential here with web applications.
I personally have plans here but ugh, lets just say last night I started 
to rewrite my webserver and I'm now writing bindings for XED (x86 
encoding/decoding). Turns out, I kinda want a LISPy style configuration 
language *shrugs*.


More information about the Digitalmars-d mailing list