Programming - C++ |
As you can read in my resume, I have been a C++
programmer (I don't really like the word programmer but oh well) since the very
early days of C++. I of course started with C and had the fortune to get involved
with
people that had
been in the business a lot longer than myself who told me that C++ was going
to be the future. As soon as I knew about it I bought a book about it, trying
to understand what it was all about. I liked the idea's of object
oriented design and development so much that I first started manually applying
them to the projects written in C I was working on. As I could
not
afford a C-Front (C++ to C converter) I started writing one myself
which I used for quite a couple of projects. Shortly after however I read about
Zortech C++ (written by Walter
Bright)
and it being a native C++ compiler. I bought a copy as soon as I had enough
money to afford it. I remember that I did not have a credit card at that time
being rather young and not having a credit history. So I went to the
bank to get a check/money order I could send to London where the main Zortech
office was located at that time. Probably because of this unusual way of payment
I
didn't
receive
a compiler
for 4 weeks. I finally sent a FAX to Zortech to tell them the
check/money order should have been received and that I was waiting impatiently
for
the
compiler.
I received it within a week
after sending the FAX.
Having worked with Microsoft C, Borland Turbo C and the SCO Xenix and Unix
C compilers at that time Zortech C++ was a different animal. I was surprised
to learn that I had to add a couple of empty lines at the end of a source
file to prevent the compiler from giving an error. After resolving a couple of
minor misunderstandings I had about the C++ language I fell in love with the
compiler and have liked it the very best ever since. In the time I have
been using the compiler Symantec bought Zortech. Symantec pretty much dumped
support of the compiler in favor of their Java product called Visual Cafe until
at the end of 2000 if I am correct Walter Bright got the rights to the compiler back
from Symantec and the product was renamed to Digital
Mars C++. Ever since Walter has been doing an outstanding job of supporting
the compiler and bringing it up to the latest C and C++ standards. The current
version should be compliant with C99 and C++ 98. Walter has done a tremendous
amount of work on template support in C++. The current compiler compile
STLport and probably still SGI's
STL. Libraries as wxWIndows and
STLSoft have
been successfully compiled with the compiler and have their own secstions in
the computers's newsgroup at:
news://news.digitalmars.com/c++
news://news.digitalmars.com/c++.wxwindows
news://news.digitalmars.com/c++.stlsoft
The
amazing part here is that Digital Mars C++ seems
to
be
the
only
compiler that actually can deal with quite a bit of templates in precompiled
header files!
In
many ways the compiler is a blessing. I know people have had
a difficult time believing it, but the compiler compiles C++ code quite a bit
faster than the major C++ compiler
on the Win32 platforms. Digital
Mars C++ outperforms Visual C-- 6.0 with a factor greater than 2. It outperforms
Borland C++ Builder 5.0 with a factor of at least 2. Only on a Dual Processor
computers Borland C++ Builder 5.0 comes
close to Digital Mars C++'
compile time because of heavily utilization of the dual processor. On a single
processor computer it's no competition. Now the next thing is the most unbelievable
thing. While having the shortest compile time
Digital Mars C++ generally
creates rather small and optimized code.
Some
C++
programmers
that never
took the time to do a serious compare of compilers will contest this. However
it is true! Check the newsgroup for Digital Mars C++
at news.digitalmars.com
and question any users about it and they mostlikely will confirm this as for
quite a few of them it is the very reason why they use the compiler. Someday
in the
future
I hope to have the time to publish a project, which will compile
with all three mentioned compilers and will show any one the real difference.
I have wondered many times why such a huge difference in C++ compilers is possible.
However, thinking back about how it all started it is not too surprising. Zortech
C++ was a fact before Borland or Microsoft even heard of C++.
They both performed a catch up and everyone that has been in the business long
enough remembers the ads in the several magazines where they destroyed each other.
Needless to say, neither one of them had a long experience with
implementing a compiler for a language as C++. I also heard that
the original people that build the Turbo C compilers for Borland did not build
the
C++ compilers as they left to create Top Speed. The same is probably
true for Microsoft. This leaves Digital
Mars C++ alone as the first native C++ compiler on earth, created and still
maintained
by Walter Bright.
Programming - C++ |