www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Feq questions about the D language

reply "DFGH" <kthulukthulu gmail.com> writes:
I'm a C# programmer who wants to start using D as well for 
various reasons. Is the official D compiler(DMD) matured enough 
to be used for writing 'heavy' applications? I mean, there is a 
bug tracker section for the compiler on this website and there 
are many 'major' and 'critical' bugs listed there and i'm not 
sure how much should i be concerned about them. I played with D 
for a while and it feels a lot like C# which is obviously good 
for me. What about performance? Yeah, i know that D is a native 
language and theoretically should be faster than C#, but it's all 
about compiler/runtime implementations. The Microsoft's .NET 
implementation nowadays produces extremely fast code. So, 
performance is definetely NOT one of the reasons for using D. 
Achieving similar performance in D compared to C# would be good 
enough for me. Also i need a portable graphic library for drawing 
2D primitives. In C# there is a .NET wrapper around 
GDI+(System.Drawing namespace) and it's super easy to draw 
things. I have a large GUI application written in C# and i want 
to rewrite it in D. Is there something like the System.Drawing 
available? I don't need a heavy framework/api that's used for 
drawing UI elements(buttons, panels, etc.) like QT, GTK+ or 
something like that, but a library for drawing primitive objects 
on the screen. I have drawn almost all the controls in my 
application using System.Drawing because i'm not happy with some 
of the built-in controls offered by .NET(which also have some 
bugs). So, do you know such library?
Mar 10 2012
next sibling parent bearophile <bearophileHUGS lycos.com> writes:
 I'm a C# programmer who wants to start using D as well for
 various reasons.

Welcome here and to D then.
 Is the official D compiler(DMD) matured enough
 to be used for writing 'heavy' applications? I mean, there is a
 bug tracker section for the compiler on this website and there
 are many 'major' and 'critical' bugs listed there and i'm not
 sure how much should i be concerned about them.

The DMD compiler is getting better and better, but I suggest to start with less serious applications for now. I don't suggest to use D/DMD for mission critical applications yet. It's also a matter of what you mean by "heavy application". In Bugzilla DMD has several bugs, but I think the situation is acceptable for smaller and not critical programs.
 I played with D
 for a while and it feels a lot like C# which is obviously good
 for me.

But there are many small differences too, that you have to keep in mind, to avoid troubles. The differences are quite interesting. C# is a very well designed language, it contains only a quite small number of relevant warts/design mistakes.
 What about performance? Yeah, i know that D is a native
 language and theoretically should be faster than C#, but it's all
 about compiler/runtime implementations.

DMD back-end is not so advanced. Generally if you want high performance you have to take a look at the LDC2 D compiler, with LLVM back-ed (there is also GDC with GCC back-end).
 The Microsoft's .NET
 implementation nowadays produces extremely fast code.

The Microsoft's .NET avoids most obvious sources of inefficiencies, but clearly it is not obsessed with performance. The JavaVM, despite not supporting structs managed by value, has a more efficient GC, better escape analysis, better de-virtualization of virtual functions, and so on, and generally gives a higher performance than the dotnet. In theory D is able to be even better, but in practice it's a matter of quality of compiler implementation.
 Achieving similar performance in D compared to C# would be good
 enough for me.

In D there are several small things that are slower than C# compiled on the dotnet.
 Is there something like the System.Drawing available?

I have suggested a small portable graphics module in Phobos, but we are not there yet. There are external libs, based on GTK, Wx, etc. Bye, bearophile
Mar 10 2012
prev sibling next sibling parent Martin Krejcirik <mk-junk i-line.cz> writes:
On 10.3.2012 13:43, DFGH wrote:
 almost all the controls in my application using System.Drawing because
 i'm not happy with some of the built-in controls offered by .NET(which
 also have some bugs). So, do you know such library?

You can try DFL: http://www.dprogramming.com/dfl.php But it's for D1 and seems unmaintained lately. There is also D2 update here: https://github.com/Rayerd/dfl -- mk
Mar 10 2012
prev sibling next sibling parent "Nick Sabalausky" <a a.a> writes:
"DFGH" <kthulukthulu gmail.com> wrote in message 
news:ztpuxnnvmbustuhbzuvk forum.dlang.org...
 I'm a C# programmer who wants to start using D as well for various 
 reasons. Is the official D compiler(DMD) matured enough to be used for 
 writing 'heavy' applications?

Personally, I think it is. Any warts that are there are in areas that are already beyond the abilitie of most other languages anyway. There are people here that use it for real-world work. I do.
 I played with D for a while and it feels a lot like C# which is obviously 
 good for me. What about performance? Yeah, i know that D is a native 
 language and theoretically should be faster than C#, but it's all about 
 compiler/runtime implementations.

I used to use C#, and I find D to be much faster.
 Also i need a portable graphic library for drawing 2D primitives. In C# 
 there is a .NET wrapper around GDI+(System.Drawing namespace) and it's 
 super easy to draw things. I have a large GUI application written in C# 
 and i want to rewrite it in D. Is there something like the System.Drawing 
 available?

Off the top of my head, you could use SDL. That would give you far better performance than GDI anyway. GDI is known to be super-slow. I don't recall offhand though whether it does shape drawing. As for actual UI controls, the main ones for D are WxD (Wx), DWT (SWT), QtD (Qt), GTKD (GTK), and DFL (Win32).
Mar 10 2012
prev sibling next sibling parent "F i L" <witte2008 gmail.com> writes:
DFGH wrote:
 I'm a C# programmer who wants to start using D as well for 
 various reasons. Is the official D compiler(DMD) matured enough 
 to be used for writing 'heavy' applications?

I'm a C# developer. DMD is very fast and compiles efficient binary. I get variable runtime performance results comparing DMD vs .NET on different hardware with modest (math related) benchmarks (no SIMD). GDC however, is either just-on-par or much faster than both on all platforms. If cross-platform is a goal, GDC/LDC run much more efficiently than Mono C# (in many areas). Performance and low-level memory control are among the main reasons that D sparked my interests, not having to sacrifice many of C# productivity features (and actually adding some) is why I stuck around. Beyond performance, DMD is compiling my projects without a hitch. Granted they are relatively modest (mainly porting http://code.google.com/p/reign-sdk/). There where bugs I had with 2.057 that where fixed in the latest release, and progress in bug fixing seems to have picked up, even since I've been around (few months). That's not to say D is without it's rotten apples. UFCS (which is being added) and Property syntax are things I like much better in C#. The standard libraries are poorly documented in some areas and, in my opinion, somewhat confusingly named and over abbreviated. As I understand it, D's GC is also STW not incremental (for now), and while I've never had any major hangs in my programs, I understand they can occur. If you are used to Visual Studios, I recommend MonoDevelop IDE + Mono-D. It's still in development, but has very nice code-completion and project support comparable to VS in many ways. Still not as good, but it's getting there, and Alex (the dev) works very fast.
Mar 10 2012
prev sibling next sibling parent Chad J <chadjoan __spam.is.bad__gmail.com> writes:
On 03/10/2012 07:43 AM, DFGH wrote:
 I have a large GUI application written in C# and i want
 to rewrite it in D. Is there something like the System.Drawing
 available?

If you can make due with fairly low-level access to the screen, then I might suggest checking out the Derelict2 bindings and consider SDL or OpenGL. Now, these are probably much harder to use than System.Drawing: you'll have to implement a lot of the primitives from lower things. OpenGL perhaps even moreso, since you'd have to learn its model before you even get very many pixels onto the screen. This would be more of a thing for game devs than for apps devs, since in game dev you'll be spending so much time on game-specific stuff that writing a few graphics primitives becomes a drop in the bucket at times. I figure you're probably going to want something that gets you going faster. Hmmmm, there's probably a better way, but I thought I'd mention this incase it's of any worth. It makes me wonder what's happening with all of the old team0xf code written in D1. IIRC there was a lot of it, and it went places.
Mar 10 2012
prev sibling next sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 3/10/12 6:43 AM, DFGH wrote:
 I'm a C# programmer who wants to start using D as well for various
 reasons. Is the official D compiler(DMD) matured enough to be used for
 writing 'heavy' applications? I mean, there is a bug tracker section for
 the compiler on this website and there are many 'major' and 'critical'
 bugs listed there and i'm not sure how much should i be concerned about
 them.

A good real-time summary of the bugs situation: http://dlang.org/bugstats.php Andrei
Mar 10 2012
prev sibling next sibling parent reply Caligo <iteronvexor gmail.com> writes:
D is not ready for anything.  At the very best, It's in alpha.  Don't
let others make you think otherwise.

DMD is one of the buggiest compilers out there.  If you are a
non-DMD/Phobos developer and think that D is ready for any kind of
work then you must be high on dope.

If you want to learn a new programming language and experience D, then
go for it.  The language itself is very enjoyable, specially if you
are coming from C/C++/Java.  However, anything more than a 1K LOC is
going to get you in trouble, specially if you decide to use one of the
_nice_ features of the language.

Yes, things are improving rapidly, but I would say it's going take at
least another year before DMD is stable.
Mar 11 2012
next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 3/11/12 1:44 PM, Caligo wrote:
 D is not ready for anything.  At the very best, It's in alpha.  Don't
 let others make you think otherwise.

What happened here? Andrei
Mar 11 2012
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 3/11/12 4:48 PM, Caligo wrote:
 Bugs causing frustration, that's all.  If someone is new to D, just
 like the OP, and they want to do anything serious with D, then they
 are going to get frustrated.  At least that's been my experience in
 the past year or so, and I'm just trying to save the guy the trouble.

I understand, and I would have agreed a lot more before 2.058. Anyhow, probably saying what you said above in the first place instead of generalizations might have been more helpful.
 D Developers offering workarounds or urgent bugs getting fixed quickly
 is about the only help he's going to get.

But that's pretty awesome. Andrei
Mar 11 2012
parent deadalnix <deadalnix gmail.com> writes:
Le 11/03/2012 23:34, Andrei Alexandrescu a écrit :
 On 3/11/12 4:48 PM, Caligo wrote:
 Bugs causing frustration, that's all. If someone is new to D, just
 like the OP, and they want to do anything serious with D, then they
 are going to get frustrated. At least that's been my experience in
 the past year or so, and I'm just trying to save the guy the trouble.

I understand, and I would have agreed a lot more before 2.058. Anyhow, probably saying what you said above in the first place instead of generalizations might have been more helpful.

Come on ! Bascis things as const and worse, shared are still problematic. We all like D, but it is lacking. I wouldn't use it for a really big project ATM.
Mar 11 2012
prev sibling parent reply =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= <xtzgzorex gmail.com> writes:
On 11-03-2012 19:44, Caligo wrote:
 D is not ready for anything.  At the very best, It's in alpha.  Don't
 let others make you think otherwise.

 DMD is one of the buggiest compilers out there.  If you are a
 non-DMD/Phobos developer and think that D is ready for any kind of
 work then you must be high on dope.

 If you want to learn a new programming language and experience D, then
 go for it.  The language itself is very enjoyable, specially if you
 are coming from C/C++/Java.  However, anything more than a 1K LOC is
 going to get you in trouble, specially if you decide to use one of the
 _nice_ features of the language.

False. MCI is 20k+ lines. We have around 4 workarounds for DMD bugs in the source. That is all.
 Yes, things are improving rapidly, but I would say it's going take at
 least another year before DMD is stable.

-- - Alex
Mar 11 2012
next sibling parent reply =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= <xtzgzorex gmail.com> writes:
On 11-03-2012 22:57, Caligo wrote:
 On Sun, Mar 11, 2012 at 3:00 PM, Alex Rønne Petersen
 <xtzgzorex gmail.com>  wrote:
 False. MCI is 20k+ lines. We have around 4 workarounds for DMD bugs in the
 source. That is all.

 --
 - Alex

Well, I don't know what MCI is. Maybe you could give us a link?

https://github.com/lycus/mci
 My own project is maybe 5K lines, and there are at least 4-5
 workarounds.  iirc, in the past year I have discovered and reported
 half a dozen new bugs, and I have encountered a few dozen bugs that
 have already been reported and/or later fixed.  I'm sorry, but time
 wasted because of bugs is not fun, UNLESS you are there specifically
 to find and resolve DMD issues.

No argument from me there!
 And just for the record, there are software projects that are millions
 of lines of code in C/C++ and have ZERO workarounds.  Also, I have
 never encountered a bug in GCC when programming in C++, even when
 trying out the latest C++11.

I kind of doubt that they have no workarounds *at all*. I mean, really, every C/C++ compiler has quirks. -- - Alex
Mar 11 2012
parent "Nick Sabalausky" <a a.a> writes:
"Alex Rønne Petersen" <xtzgzorex gmail.com> wrote in message 
news:jjj849$2r6r$1 digitalmars.com...
 On 11-03-2012 22:57, Caligo wrote:
 On Sun, Mar 11, 2012 at 3:00 PM, Alex Rønne Petersen
 <xtzgzorex gmail.com>  wrote:
 False. MCI is 20k+ lines. We have around 4 workarounds for DMD bugs in 
 the
 source. That is all.

 --
 - Alex

Well, I don't know what MCI is. Maybe you could give us a link?

https://github.com/lycus/mci

Ah, I was wondering about that, too. I see "MCI" and I think of that old phone company (the one that merged with...uhh...one of the Baby Bells?...to become Verizon. IIRC.)
Mar 11 2012
prev sibling next sibling parent reply Timon Gehr <timon.gehr gmx.ch> writes:
On 03/11/2012 10:57 PM, Caligo wrote:
 And just for the record, there are software projects that are millions
 of lines of code in C/C++ and have ZERO workarounds.  Also, I have
 never encountered a bug in GCC when programming in C++, even when
 trying out the latest C++11.

I have encountered bugs in both GCC and Clang. Without using any C++11 features, and even though I don't use C++ regularly.
Mar 11 2012
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 3/11/12 5:37 PM, Timon Gehr wrote:
 On 03/11/2012 10:57 PM, Caligo wrote:
 And just for the record, there are software projects that are millions
 of lines of code in C/C++ and have ZERO workarounds. Also, I have
 never encountered a bug in GCC when programming in C++, even when
 trying out the latest C++11.

I have encountered bugs in both GCC and Clang. Without using any C++11 features, and even though I don't use C++ regularly.

We at Facebook found a bunch of gcc bugs for each release we've used, and have known workarounds. I'd find it surprising if a large C++ project didn't fit the same pattern. At any rate, the comparison is rigged because C++ is much more mature and invested in. Andrei
Mar 11 2012
prev sibling next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 3/11/2012 2:57 PM, Caligo wrote:
 And just for the record, there are software projects that are millions
 of lines of code in C/C++ and have ZERO workarounds.  Also, I have
 never encountered a bug in GCC when programming in C++, even when
 trying out the latest C++11.

GCC itself is fairly bug free, but then again I don't push it that hard. The runtime library, more specifically the math functions, are erratically buggy. (This is why Phobos has its own implementations of those functions, rather than simply forwarding to gcc's library versions.) The ld linker on OSX is pretty awful, as in costing me much time in devising workarounds.
Mar 11 2012
parent Don Clugston <dac nospam.com> writes:
On 12/03/12 01:20, Walter Bright wrote:
 On 3/11/2012 2:57 PM, Caligo wrote:
 And just for the record, there are software projects that are millions
 of lines of code in C/C++ and have ZERO workarounds. Also, I have
 never encountered a bug in GCC when programming in C++, even when
 trying out the latest C++11.

GCC itself is fairly bug free,

I had used g++ for a grand total of three hours before I found a wrong-code regression -- the absolute worst category of bug. I've never found a DMD bug which was significantly worse than that one. GCC is much more mature than the DMD front-end, of course, but I don't think it's any more bug-free than the DMD back-end. but then again I don't push it that hard.
 The runtime library, more specifically the math functions, are
 erratically buggy. (This is why Phobos has its own implementations of
 those functions, rather than simply forwarding to gcc's library
 versions.) The ld linker on OSX is pretty awful, as in costing me much
 time in devising workarounds.

Mar 13 2012
prev sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 3/11/12 5:45 PM, Caligo wrote:
 On Sun, Mar 11, 2012 at 5:27 PM, Nick Sabalausky<a a.a>  wrote:
 "Caligo"<iteronvexor gmail.com>  wrote in message
 news:mailman.500.1331503046.4860.digitalmars-d puremagic.com...
 And just for the record, there are software projects that are millions
 of lines of code in C/C++ and have ZERO workarounds.  Also, I have
 never encountered a bug in GCC when programming in C++, even when
 trying out the latest C++11.

Peronally, I find D with some occasional bugs to still be *vastly* nicer to deal with than a perfect implementation of C++. YMMV, of course.

lol, I can totally agree with that. Maybe that's why I haven't left D. Although, getting used to dealing with compiler bugs has some getting used to.

All right, then probably a great thing to do would be to not use hyperbole to the end of scaring newcomers away. Thanks, Andrei
Mar 11 2012
prev sibling next sibling parent reply James Miller <james aatch.net> writes:
On 12 March 2012 07:44, Caligo <iteronvexor gmail.com> wrote:
 D is not ready for anything. =C2=A0At the very best, It's in alpha. =C2=

 let others make you think otherwise.

 DMD is one of the buggiest compilers out there. =C2=A0If you are a
 non-DMD/Phobos developer and think that D is ready for any kind of
 work then you must be high on dope.

 If you want to learn a new programming language and experience D, then
 go for it. =C2=A0The language itself is very enjoyable, specially if you
 are coming from C/C++/Java. =C2=A0However, anything more than a 1K LOC is
 going to get you in trouble, specially if you decide to use one of the
 _nice_ features of the language.

 Yes, things are improving rapidly, but I would say it's going take at
 least another year before DMD is stable.

Well the D forums are written in D. Also, somebody should tell Adam that he's breaking the rules, all that professional D code that he does, doesn't he know that he shouldn't do that?! There are quite a few people here writing code in D, professionally, so I would take a moment before declaring that D is "alpha at best" -- James Miller
Mar 11 2012
parent deadalnix <deadalnix gmail.com> writes:
Le 11/03/2012 22:20, James Miller a écrit :
 On 12 March 2012 07:44, Caligo<iteronvexor gmail.com>  wrote:
 D is not ready for anything.  At the very best, It's in alpha.  Don't
 let others make you think otherwise.

 DMD is one of the buggiest compilers out there.  If you are a
 non-DMD/Phobos developer and think that D is ready for any kind of
 work then you must be high on dope.

 If you want to learn a new programming language and experience D, then
 go for it.  The language itself is very enjoyable, specially if you
 are coming from C/C++/Java.  However, anything more than a 1K LOC is
 going to get you in trouble, specially if you decide to use one of the
 _nice_ features of the language.

 Yes, things are improving rapidly, but I would say it's going take at
 least another year before DMD is stable.

Well the D forums are written in D. Also, somebody should tell Adam that he's breaking the rules, all that professional D code that he does, doesn't he know that he shouldn't do that?! There are quite a few people here writing code in D, professionally, so I would take a moment before declaring that D is "alpha at best" -- James Miller

You can build reliable stuff on top of unreliable technology. Internet is a good example. This argument tells us nothing.
Mar 11 2012
prev sibling next sibling parent Caligo <iteronvexor gmail.com> writes:
On Sun, Mar 11, 2012 at 2:46 PM, Andrei Alexandrescu
<SeeWebsiteForEmail erdani.org> wrote:
 On 3/11/12 1:44 PM, Caligo wrote:
 D is not ready for anything. =A0At the very best, It's in alpha. =A0Don'=


 let others make you think otherwise.

What happened here? Andrei

Bugs causing frustration, that's all. If someone is new to D, just like the OP, and they want to do anything serious with D, then they are going to get frustrated. At least that's been my experience in the past year or so, and I'm just trying to save the guy the trouble. D Developers offering workarounds or urgent bugs getting fixed quickly is about the only help he's going to get.
Mar 11 2012
prev sibling next sibling parent reply Caligo <iteronvexor gmail.com> writes:
On Sun, Mar 11, 2012 at 3:00 PM, Alex R=F8nne Petersen
<xtzgzorex gmail.com> wrote:
 False. MCI is 20k+ lines. We have around 4 workarounds for DMD bugs in th=

 source. That is all.

 --
 - Alex

Well, I don't know what MCI is. Maybe you could give us a link? My own project is maybe 5K lines, and there are at least 4-5 workarounds. iirc, in the past year I have discovered and reported half a dozen new bugs, and I have encountered a few dozen bugs that have already been reported and/or later fixed. I'm sorry, but time wasted because of bugs is not fun, UNLESS you are there specifically to find and resolve DMD issues. And just for the record, there are software projects that are millions of lines of code in C/C++ and have ZERO workarounds. Also, I have never encountered a bug in GCC when programming in C++, even when trying out the latest C++11.
Mar 11 2012
parent "Nick Sabalausky" <a a.a> writes:
"Caligo" <iteronvexor gmail.com> wrote in message 
news:mailman.500.1331503046.4860.digitalmars-d puremagic.com...
And just for the record, there are software projects that are millions
of lines of code in C/C++ and have ZERO workarounds.  Also, I have
never encountered a bug in GCC when programming in C++, even when
trying out the latest C++11.

Peronally, I find D with some occasional bugs to still be *vastly* nicer to deal with than a perfect implementation of C++. YMMV, of course.
Mar 11 2012
prev sibling next sibling parent Caligo <iteronvexor gmail.com> writes:
On Sun, Mar 11, 2012 at 5:27 PM, Nick Sabalausky <a a.a> wrote:
 "Caligo" <iteronvexor gmail.com> wrote in message
 news:mailman.500.1331503046.4860.digitalmars-d puremagic.com...
And just for the record, there are software projects that are millions
of lines of code in C/C++ and have ZERO workarounds. =A0Also, I have
never encountered a bug in GCC when programming in C++, even when
trying out the latest C++11.

Peronally, I find D with some occasional bugs to still be *vastly* nicer =

 deal with than a perfect implementation of C++. YMMV, of course.

lol, I can totally agree with that. Maybe that's why I haven't left D. Although, getting used to dealing with compiler bugs has some getting used to.
Mar 11 2012
prev sibling next sibling parent "Damian Ziemba" <spam dzfl.pl> writes:
On Saturday, 10 March 2012 at 12:43:20 UTC, DFGH wrote:
 I'm a C# programmer who wants to start using D as well for 
 various reasons. Is the official D compiler(DMD) matured enough 
 to be used for writing 'heavy' applications? I mean, there is a 
 bug tracker section for the compiler on this website and there 
 are many 'major' and 'critical' bugs listed there and i'm not 
 sure how much should i be concerned about them. I played with D 
 for a while and it feels a lot like C# which is obviously good 
 for me. What about performance? Yeah, i know that D is a native 
 language and theoretically should be faster than C#, but it's 
 all about compiler/runtime implementations. The Microsoft's 
 .NET implementation nowadays produces extremely fast code. So, 
 performance is definetely NOT one of the reasons for using D. 
 Achieving similar performance in D compared to C# would be good 
 enough for me. Also i need a portable graphic library for 
 drawing 2D primitives. In C# there is a .NET wrapper around 
 GDI+(System.Drawing namespace) and it's super easy to draw 
 things. I have a large GUI application written in C# and i want 
 to rewrite it in D. Is there something like the System.Drawing 
 available? I don't need a heavy framework/api that's used for 
 drawing UI elements(buttons, panels, etc.) like QT, GTK+ or 
 something like that, but a library for drawing primitive 
 objects on the screen. I have drawn almost all the controls in 
 my application using System.Drawing because i'm not happy with 
 some of the built-in controls offered by .NET(which also have 
 some bugs). So, do you know such library?

Hello and welcome on board. I've written 3 paid projects in D and couple hobby ones and as far I am very happy with D. Maybe I'm just lucky but I hited only 4 bugs in my "carrier" which one is already fixed. Maybe I haven't wrote enough code in D, well, my biggest project in D is 35K LOC, its webserver solution. I need to say that it scales very well and handles high traffic without any problem. Its up for more than month now and I had only one segfault because of hole in my framework. The only problem actually I have is lack of up-to-date wxD or QtD bindings. 4 GUI applications written with GtkD - they work quite well, but meh, it doesn't work too well on Mac OSX :p I would give it a try. Best regards, Damian Ziemba
Mar 11 2012
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 3/12/12, Damian Ziemba <spam dzfl.pl> wrote:
 The only problem actually I have is lack of up-to-date wxD or QtD
 bindings.

I'm still working on my autogenerator for wxD. Maybe I'll have something that works in the coming weeks, we'll see. The code is not available yet, so no e-mails please! :)
Mar 11 2012
prev sibling next sibling parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Sunday, March 11, 2012 21:33:23 Andrei Alexandrescu wrote:
 At any rate, the comparison is rigged because C++ is much more mature
 and invested in.

It _is_ rigged, but if a programmer is used to more mature languages where they don't run into compiler bugs, and they try out a new one where they _do_ run into compiler bugs, that's going to give a very negative impression. I don't know that there's much of anything that we can do about that though - other than fix bugs (especially the more important ones) as fast as we can. That's just the way it goes with a less mature language. We'll reach that level of stability eventually though, and we _have_ been making great strides with the huge number of bugs which have been fixed of late. - Jonathan M Davis
Mar 11 2012
prev sibling next sibling parent "Peter Alexander" <peter.alexander.au gmail.com> writes:
On Monday, 12 March 2012 at 02:33:23 UTC, Andrei Alexandrescu 
wrote:
 On 3/11/12 5:37 PM, Timon Gehr wrote:
 On 03/11/2012 10:57 PM, Caligo wrote:
 And just for the record, there are software projects that are 
 millions
 of lines of code in C/C++ and have ZERO workarounds. Also, I 
 have
 never encountered a bug in GCC when programming in C++, even 
 when
 trying out the latest C++11.

I have encountered bugs in both GCC and Clang. Without using any C++11 features, and even though I don't use C++ regularly.

We at Facebook found a bunch of gcc bugs for each release we've used, and have known workarounds. I'd find it surprising if a large C++ project didn't fit the same pattern.

They do, but I think the difference here is the kind of bugs you find. In GCC, most of the bugs are rare edge cases (yes, I'm sure there are some less rare bugs too), but in DMD, there are lots of "this language feature simply doesn't work". Things like selective imports, Object const-correctness, post-blitting const structs etc.
 At any rate, the comparison is rigged because C++ is much more 
 mature and invested in.

It may be an unfair comparison, but it is an appropriate one. If a customer is evaluating products, he isn't going to give special treatment to those that are less mature. Bugs are bugs no matter how you justify them.
Mar 13 2012
prev sibling parent Iain Buclaw <ibuclaw ubuntu.com> writes:
On 13 March 2012 09:07, Don Clugston <dac nospam.com> wrote:
 On 12/03/12 01:20, Walter Bright wrote:
 On 3/11/2012 2:57 PM, Caligo wrote:
 And just for the record, there are software projects that are millions
 of lines of code in C/C++ and have ZERO workarounds. Also, I have
 never encountered a bug in GCC when programming in C++, even when
 trying out the latest C++11.

GCC itself is fairly bug free,

I had used g++ for a grand total of three hours before I found a wrong-code regression -- the absolute worst category of bug. I've never found a DMD bug which was significantly worse than that one. GCC is much more mature than the DMD front-end, of course, but I don't think it's any more bug-free than the DMD back-end. but then again I don't push it that hard.

The only bug I've been bitten by is bug #323 - http://gcc.gnu.org/bugzilla/show_bug.cgi?id=323 Which has only recently been somewhat addressed in the latter versions of GCC (though requires frontend language support that I haven't decided whether it's worth adding - so is still technically a bug in GDC ;) Other than that - I've found that GCC is *very* good at finding bugs in the DMD Frontend codegen that I have both raised and fixed (or fixed by Walter and co) since I picked up the project. This is in part due to it's strict tree checking in development builds. Regards -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
Mar 15 2012