I guess all we really have to go on is cfront or early gcc (1.15.3 was the first version with a c++ front end). We also have Walter Bright's Digital Mars compiler but how different is this from Zortech?
I guess all we really have to go on is cfront or early gcc (1.15.3 was the first version with a c++ front end). We also have Walter Bright's Digital Mars compiler but how different is this from Zortech?
Pretty horrible. I attempted to use the E (education) release of cfront, and failed miserably (couldn't install it).
I then was forced to use the Glockenspiel compiler (based on cfront) and running on OS/2 (eek!) who's favourite error message was a core dump - this was at a training company, and the combination of very bad error messages and OS/2 was not popular with our clients.
The Zortech compiler was the first good one, and then Microsofts. Then IBM came out with a very good one on AIX.
I may well have got the sequencing wrong here - so long ago and far away :-)
And of course many people in SE Asia are still being damaged by still being taught using Turbo C++ when they could be usefully using GCC or clang.
Reason number X for someone to work on semi-faithfully cloning that MS-DOS-era TUI interface so that it can work as an IDE on modern systems and compilers, piggibacking on things like LSP servers. It was done already for the Pascal version ("fp" ide), and we also have things like QB64. Hopefully it's just a matter of someone being inspired to do the work.
https://web.archive.org/web/20160321050842/http://www.aljex....
It's like an X11 rendition of the Borland tui.
It didn't have a logo or icon so I made one. (several crap ones actually)
Now the modern system I was using that emulated-old-thing on is itself even older than turboc was at the time.
What anyone does or doesn't do with that which is possible is no excuse to tolerate, let alone advocate, things being not-possible.
ZTC++ came out, and a ton of magazine articles came out about C++ using Zortech C++. ObjectiveC fell away, and most of the C++ programming was in ZTC++.
Zortech, Borland, Watcom, Metaware all beat Microsoft to it, which released their first support on Microsoft C/C++ 7.0, their very last MS-DOS compiler.
It's the same compiler, but upgraded for C++98. It's Open Source now.
In the end, I have used mostly the Microsoft C++ compiler, but not because I had noticed any problem with the Borland compiler, but because the library delivered by Microsoft happened to include some functions that I needed frequently, and which were missing in the Borland library.
Because at that time there was no standard, even if the language accepted by the two compilers was mostly the same, the libraries were quite different.
I do not know how well templates worked in those early compilers, because I did not attempt to use templates in any program written during those years.
Except for templates and for multiple inheritance, which I have used only seldom, I had exercised all other language features in some complex programs, which simulated some physical models.
In general using C++ at that stage was, at least for me, a pleasant experience in comparison with the earlier use of languages like C, Fortran, Pascal or Basic. Because my programs included a lot of complicated formulae whose operands were matrices or vectors of complex numbers, I have especially appreciated using overloaded operators to reduce dramatically the size of the formulae, making them much more easy to read than in my earlier programs.
In my opinion, the Java creators had some weird mental problems, because they believed that it is better to write and read something like:
cplx_vector_add(A, cplx_vector_sub(cplx_mat_vec_mul(B, C), cplx_mat_vec_mul(D, cplx_mat_vec_mul(E, F))))
instead of writing and reading something like:
A + B * C - D * E * F
(The formulae that I had to use were much more complicated than in the example above, so the reduction in text size was much larger)
I did not have any complaints about the performance of the compilation or execution of the programs.
I have found once a bug in a certain version of the Microsoft C++ compiler, where depending on the order of some declarations, for which there was no reason to be significant, either correct or buggy code was generated. However the next compiler version no longer had the bug.
Both the Microsoft C++ compiler and the Borland Turbo C++ compiler had superb documentation.
Even without knowing anything about C++ and without any other books or publications on the subject (and obviously without Internet), just reading carefully the set of manuals provided with the compiler was enough for becoming a good C++ programmer (assuming that you were familiar with programming in any other language).
I think that actually the largest difference that I feel when I compare now an early C++ compiler with a current C++ compiler, is not that the current C++ language has 5 times more features than early C++, but that the early compilers were paired with a huge quantity of documentation, which seemed to have required about as much writing effort as writing the compiler.