Lost a new commercial user this week :(

Paolo Invernizzi via Digitalmars-d digitalmars-d at puremagic.com
Sun Dec 14 02:31:27 PST 2014


On Sunday, 14 December 2014 at 08:37:36 UTC, Manu via 
Digitalmars-d wrote:
>
> Sadly, I failed to create a new commercial D user this week,  
> and I'm really disappointed.
> It was rejected for exactly the same practical reasons I've  
> been saying forever.
>
> There were a few contributing factors, but by far the most 
> significant
> factor was the extremely poor Windows environment support and 
> Visual Studio debugging experience.

I find exactly the same issue for every developer that I'm moving 
from C++ to D under Windows: the bar is very high here.

> We were trying to use vibe.d, and we encountered bugs.

We are using Vibe also here in Milan: it's maintained since a 
long time, and it has plenty of adopters, but... it's just too 
big.
Sönke is doing a remarkable job, but, for example, I've a mail 
server in production using vibe with an assert turned into an 
hard exit && restart: I was simply unable to debug it.

And it's also very picky about what compiler to use to have a 
proper build, at least, lately.
Actually I'm on a branch trying to have it run with master, as I 
need async-socker and C++ support for a product... *sigh*

> We were unable to build Win64 code (vibe.d doesn't support  
> Win64 it seems), and the 32bit compiler produces useless OMF 
> output. We
> couldn't link against any of our existing code which was a 
> serious inconvenience, but they were understanding and we 
> worked around it.

I tend to agree about debugging, we also need to keep a Win32 
application live, and it's a mess.
I know that there's some improvement over that lately, but 
practically we are developing and debugging it in linux and just 
running the unittests in Win32.

Regarding Vibe, why aren't you using linux for such a job? I 
think that's the right tool for that kind of services, and life 
is more easier in that land.

> The real trouble hit when vibe.d's WebSocket support didn't 
> work as
> advertised; it crashed in various circumstances, and debugging 
> was impossible.
> vibe.d uses exceptions everywhere, which caused an office full  
> of
> C/C++ programmers to explode with terror, and Visual Studio 
> completely craps itself when there are exceptions being thrown.

Yep, I can understand, and the documentation does not help a lot, 
I would say.
I think vibe is simply too ambitious: it should take the road of 
being split, with some pieces being somehow absorbed by Phobos 
(like the new concurrency).
I'm planning to switch to Etienne package for simple socket 
applications...

> We tried the VS debugger, and also Mago. Both presented  
> different
> kinds of issues, which lead to people seriously questioning the
> quality of the ecosystem, if 2 out of 2 available debug tools 
> don't work, and for different reasons.
>
> We had to revert to running without the debugger, and trying to
> printf() debug, but that proved to be a massive waste of time, 
> and caused enough distaste to the other engineers that it 
> shattered
> whatever confidence I had built up in D. The decision was made 
> to abandon ship and revert to node.js, which satisfied our 
> needs within a couple of hours.

That's the point...
I can simply impone to adopt D, because I've the power of doing 
that, but trying to evangelize bottom-up it seems to me a via 
crucis...

> The result was a bunch of die-hard native C programmers, 
> initially
> excited to use a native language to write a webserver, instead 
> saying stuff like "wow, node.js just worked! that's amazing, 
> javascript is awesome!"... and then mocking me about my D 
> language thing.

*sigh*, but hey: I really hate Javascript (but I'm using it with 
Meteor...)

> They then made HUGE noises about the quality of documentation.
<snip>

I don't agree here: just go with books.
Thanks to Ali, Andrej, Philippe and Adam for covering well that 
field.

> It's painful to accept the truth in that statement. Go and try  
> and
> learn any other trendy language today. The homepage looks 
> modern,
> there has been professional design, testing, and there are
> instructional videos recorded by a professional voice actor 
> with that trendy bloody upbeat ukulele music in the background 
> that's in all tech videos these days...
>
> I think we need a budget for presentation, and we need to pay 
> money
> and hire some professionals to make the content. Is there a 
> kickstarter campaign here? I'll contribute for sure.

I disagree here: the most beautiful advertising for D are 
concrete success stories out in the wilds.
So first, it needs to stop loosing commercial adopters: why they 
dropped it, that's the most valuable feedback for the D community.

And, IMHO, in THAT specific case, it was:

- debugging experience must be top class
- async-io as a "basic" operation, choosing vibe as the 
'de-facto' most suitable solution, it's not available for neither 
the big-two, Lin/Win (OS X is a no-go platform for D until the 
support to ObjC will be merged).

---
/Paolo



More information about the Digitalmars-d mailing list