View mode: basic / threaded / horizontal-split · Log in · Help
January 25, 2013
Re: Incorporating D
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
Re: Incorporating D
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
Re: Incorporating D
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
Re: Incorporating D
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
Re: Incorporating D
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
Re: Incorporating D
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
Re: Incorporating D
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
Re: Incorporating D
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
Re: Incorporating D
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
Re: Incorporating D
> 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. :)
1 2 3 4 5 6
Top | Discussion index | About this forum | D home