www.digitalmars.com         C & C++   DMDScript  

c++ - Is DMC still being developed?

reply =?ISO-8859-1?Q?=22Sz=2E_Horv=E1t=22?= writes:
Is the Digital Mars C++ compiler still being developed?  In spite of the 
  numerous problems/bugs, there has not been a new release for quite 
some time.

I used DMC while learning C++ about 4 years ago (I am not a programmer 
or a regular C++ user, so I need to re-learn it every time I use it ... 
that's the reason for the newbie-type questions ...), and I liked it 
very much.  At that time it was a very good compiler compared to the 
alternatives.  Bruce Eckel's book recommended it over the other 
compilers, as being more standards compliant.  It generated very fast 
numerical code, compared gcc.  It was a very small download, affordable 
for people with dial-up connections.

But now it seems to lag behind the other compilers, both in speed and 
standards compliance.  I can understand if Mr. Bright decided not to 
spend any more time on it, after all DMC is freeware.  But I'd really 
hate to see DMC abandoned.
Sep 06 2007
parent reply Andy C <s lsd.com> writes:
It looks like it is, given that the 8.50 update was just posted!
What is it you need to do that you can't?
Sep 07 2007
parent =?ISO-8859-1?Q?=22Sz=2E_Horv=E1t=22?= writes:
Andy C wrote:
 It looks like it is, given that the 8.50 update was just posted!
Yes, you are right. When I checked the main page a few days ago, only 8.49 was available.
 What is it you need to do that you can't?
There are lots of unfixed bugs. Just browse this newsgroup. Whenever I start experimenting with templates, I run into problems. It is just sad that DMC used to be better than the alternatives, but now it is stagnating. One example I posted back in April (it should compile): template<typename T> class arr { T x; }; template<void (*D)(const arr<double>)> class ode { }; void fun(const arr<double>) { } int main() { ode<fun> odeInst; return 0; } Problems with the library: The -A option gives errors when including C++ standard library headers. std::sqrt() does not work with an argument of type double. Another example I posted in 2004 (it should compile): template<class T> struct A { T t; }; class B { private: struct C { int i; }; static A<C> a; public: B() { a.t.i = 0; } }; A<B::C> B::a; Yet another example from 2004 (this one also prints some unreadable error messages---a common problem with DMC): class Class { template<unsigned U> struct Member { static void g() {} }; public: void f() { Member<0>::g(); } }; int main() { Class u; u.f(); } Szabolcs
Sep 07 2007