Where will D sit in the web service space?
ChangLong via Digitalmars-d
digitalmars-d at puremagic.com
Sun Jul 12 21:29:20 PDT 2015
On Sunday, 12 July 2015 at 12:14:31 UTC, Ola Fosheim Grøstad
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?
I has use vibe.d for a small project recently, after finish that
I think the follow fact will
prevent many programmers use vibe.d in commercial projects:
1) Lack of successful open source project for real product
2) Multi thread performance is poor, scalability is not suit for
big project
3) No Inversion of Control (aka: Dependency Injection) Concept
4) No mature ORM/ODM components
5) No Form/Validator/Translation/Locale Components
6) No modernize framework
Some company has successful story in D use no-GC solution, for
example: Sociomantic, Hedge Fund by Andy Smith, weka.io... And
they all are close source.
There are thousands of web projects in development every day, D
is not use as development languages mainly because D is not ready
yet.
More information about the Digitalmars-d
mailing list