On Wednesday, 16 April 2014 at 09:10:47 UTC, Sönke Ludwig wrote:
Am 16.04.2014 11:05, schrieb Chris:
On Wednesday, 16 April 2014 at 08:21:37 UTC, Bienlein wrote:
On Tuesday, 15 April 2014 at 19:19:00 UTC, Jordi Sayol wrote:
El 11/04/14 12:10, Walter Bright ha escrit:
but hey, now we have D.
Yeah, I like D far better than Java.
+1000
So do I. But for Java there is Hibernate, Hadoop, Cassandra,
DI, JSF,
JMS, JTA, SOAP, REST, vert.x, Quartz, web servers, application
servers, various NoSQL-DBs and I don't know what. As you most
often
need some of those things in enterprise computing I'm pretty
much
bound to Java.
There are a number of job adds for Go developers (see
http://golangprojects.com). Go seems to be a good complement
for Ruby,
Python, PHP which are slow and have bad concurrency. Then Go
seems to
appeal to companies whose product is some server-side
application
(like some cloud offering or PaaS).
I believe D could also play well in this server-side arena
like Go.
Maybe with the FiberScheduler developed by Sean Kelly D can
also offer
"dead-simple" concurrency and be appealing to developing cloud
solutions or other style of server-side applications for
which easy
concurrency is a big plus.
-- Bienlein
I use vibe.d for a small server side application. It's quite
fast,
although we haven't tested it on a larger scale yet. On the
downside,
vibe.d's API is not quite intuitive, so it takes a while to
get used to
it. But that might be down to the fact that it's not easy to
write an
intuitive API for the web with all the different bits and
pieces that
have different logics to them.
Are there any particular things that you could list from the
top of your head? Making thinkgs as clear and simple as
possible is one of the prime goals, but sometimes there are
unfortunately compromises necessary in the name of performance
or safety.
I will report them as soon as I come across one (I'm not working
with vibe.d at the moment). Off the top of my head I found the
Json method "get" a bit strange
j["name"].get!string == "Example"
i.e. that you have to convert in this way. I expected string type
to be the default, i.e.
j["name"].get() or get(j["name"]) without explicit conversion.
Part of the "difficulties" I encountered was that the user has to
click his/her way through all the structs etc to get to the
point. E.g. if you go to
http://vibed.org/api/vibe.data.json/
you hear about "get", and if you want to know more about get, you
have to go to
http://vibed.org/api/vibe.data.json/Json
to read about it in more detail. And then you have to click on
"get" if you want to see the method's signature.
If you have to look up many things at the same time (as you
would, when you build a server infrastructure), you have to go
back and forth a lot, in many tabs in your browser, and I
sometimes just lose track of where everything was.