January 25, 2013
On 01/25/2013 10:33 PM, q66 wrote:
>> D's GC does not have serious problems. The only issue is controversial
>> status of GC.
>>
>
> D's GC has inherent issues

Certainly not. Maybe druntime's GC does.

> with false positives, sometimes freeing
> memory that you don't really want freed, causing (sometimes hidden) bugs
> that are pretty much impossible to debug.

I have never experienced such. That would be a serious bug. What's the bug report?
January 25, 2013
On Friday, 25 January 2013 at 21:33:15 UTC, q66 wrote:
>> D's GC does not have serious problems. The only issue is controversial status of GC.
>>
>
> D's GC has inherent issues with false positives, sometimes freeing memory that you don't really want freed, causing (sometimes hidden) bugs that are pretty much impossible to debug.

Examples (especially with false positives) are appreciated.
January 25, 2013
On Friday, January 25, 2013 22:33:14 q66 wrote:
> > D's GC does not have serious problems. The only issue is controversial status of GC.
> 
> D's GC has inherent issues with false positives, sometimes freeing memory that you don't really want freed, causing (sometimes hidden) bugs that are pretty much impossible to debug.

I've _never_ heard of it freeing something when it shouldn't. The main problem with false positives is that because it's conservative, on 32-bit systems, it will sometimes think that a block of memory contains a pointer when it doesn't (and therefore won't free the memory that it incorrectly thinks is being pointed to). But 64-bit fixes that. Regardless, a new GC is in the works, so the situation is going to improve.

- Jonathan M Davis
January 25, 2013
On Friday, 25 January 2013 at 20:45:22 UTC, Szymon wrote:
> Hi,
>
> I would really like to start using D in our small company as a
> C++ replacement. With that in mind I do have few questions:
>
> 1) Is D2 really ready for production code?

Not really. A big pain in the ass is the missing rvalue ref that C++ has. So using structs is a big disaster. But there are plenty of other missing features.
January 25, 2013
On 01/25/2013 10:39 PM, Namespace wrote:
> On Friday, 25 January 2013 at 20:45:22 UTC, Szymon wrote:
>> Hi,
>>
>> I would really like to start using D in our small company as a
>> C++ replacement. With that in mind I do have few questions:
>>
>> 1) Is D2 really ready for production code?
>
> Not really. A big pain in the ass is the missing rvalue ref that C++
> has.  So using structs is a big disaster.

No. Also, it is not stopping production use at all.

> But there are plenty of other missing features.

It is not really clear what this is supposed to mean.
January 25, 2013
On Friday, 25 January 2013 at 21:39:58 UTC, Namespace wrote:
> On Friday, 25 January 2013 at 20:45:22 UTC, Szymon wrote:
>> Hi,
>>
>> I would really like to start using D in our small company as a
>> C++ replacement. With that in mind I do have few questions:
>>
>> 1) Is D2 really ready for production code?
>
> Not really. A big pain in the ass is the missing rvalue ref that C++ has. So using structs is a big disaster. But there are plenty of other missing features.

Yes, the ref issue can be a pain, but it's not even close to a show stopper for production use. C++ has by far worse limitations, such as an almost unusable template implementation, and that's just the start of it.

D does not really lack much at all in terms of language features, but one of the main features D lacks on the tool chain side is full shared library support. I really think this needs to be shored up because not only is shared library support is essential on it's own, it's also a safe means for people to start migrating from C++ to D by incorporating D libraries into their existing C++ code.

The other thing is the GC which is also tool chain related. We could use a better implementation, but existing one is definitely not a show stopper for production use, and there are ways to deal with any performance issues that may appear, you just need to be aware of potential slowness problems if you are doing a lot of memory allocations and/or real time programming.

Finally there are editors, and IDE's with decent D support. In fact I find that C++ IDE and editor support is no better, and fails often due to the near impossible nature of correctly parsing through C++ code.

--rt
January 25, 2013
On Friday, 25 January 2013 at 22:00:02 UTC, Rob T wrote:
> On Friday, 25 January 2013 at 21:39:58 UTC, Namespace wrote:
>> On Friday, 25 January 2013 at 20:45:22 UTC, Szymon wrote:
>>> Hi,
>>>
>>> I would really like to start using D in our small company as a
>>> C++ replacement. With that in mind I do have few questions:
>>>

Wow, I may not fully like D after all those comments but I do certainly like its community :) You are as fast as this forums loading times.

I actually played a bit with D in Visual Studio with VisualD and it was rather pleasant experience. I don't know why but release build crashed while debug run fine that is why I turned here with questions.

I am definitely looking forward to D being more mature. And wish I could get to DConf (which I backed!) but it is bit too far ;)

Thanks for all the answers!
January 25, 2013
On Friday, 25 January 2013 at 22:00:02 UTC, Rob T wrote:

> Finally there are editors, and IDE's with decent D support. In fact I find that C++ IDE and editor support is no better, and fails often due to the near impossible nature of correctly parsing through C++ code.
>
> --rt

Come on, Visual C++ is awesome on code completion!
But I have to admit, mono-d does a good job (as I am using ubuntu).
January 25, 2013
On Friday, 25 January 2013 at 21:50:22 UTC, Timon Gehr wrote:
> On 01/25/2013 10:39 PM, Namespace wrote:
>> On Friday, 25 January 2013 at 20:45:22 UTC, Szymon wrote:
>>> Hi,
>>>
>>> I would really like to start using D in our small company as a
>>> C++ replacement. With that in mind I do have few questions:
>>>
>>> 1) Is D2 really ready for production code?
>>
>> Not really. A big pain in the ass is the missing rvalue ref that C++
>> has.  So using structs is a big disaster.
>
> No. Also, it is not stopping production use at all.

No? Still, that's the fact and it doesn't matter whether you agree or not. You don't use structs as many as I do I think.
And I'm not saying that it is stopping production at all. I'm saying that D is far away from productive usage and that the missing rvalue ref is a big pain.
January 25, 2013
> Yes, the ref issue can be a pain, but it's not even close to a show stopper for production use. C++ has by far worse limitations, such as an almost unusable template implementation, and that's just the start of it.

I agree. However, there remains the fact that the lack of an rvalue ref hurts. Nothing else I said. :)