M
Miroslaw Makowiecki
Where can I download Comeau compiler as a trial version?
Thanks in advice.
Thanks in advice.
Miroslaw Makowiecki wrote:
:: Where can I download Comeau compiler as a trial version?
:: Thanks in advice.
You cannot. You can test-drive it on their web site though
The purchase price is also dirt cheap; something even a student
could afford.
Chris Thomasson said:Right. Good price for a high quality product. Nice!
You might want a better compiler!JohnQ said:That's in addition to the compiler you must have to turn Comeau's
generated C code to machine code, yes? Why not just use the platform
compiler (VC++ on Windows, for example) in the first place? I don't
understand how adding translation steps and requiring more compilers is
good. I could see how many years ago when there weren't C++ compilers
available on most platforms how that would be good. But today??
Ian Collins said:You might want a better compiler!
Or more likely, you are using one of the many embedded platforms that
don't have a C++ compiler.
1. I wouldn't call something that translates from one high
level language to another a compiler. (Just like I wouldn't
consider cfront one). I'd call the components that do
translation (to intermediate form) that occurs before the C
code generation a compiler front-end.
2. If by "better", you mean "better compliance with the
standard", well it would have to be an awfully critical need
for some feature that would cause one to go from a compiler to
a language-to-language translator.
1. I wouldn't call something that translates from one high
level language to another a compiler. (Just like I wouldn't
consider cfront one). I'd call the components that do
translation (to intermediate form) that occurs before the C
code generation a compiler front-end.
2. If by "better", you mean "better compliance with the
standard", well it would have to be an awfully critical need
for some feature that would cause one to go from a compiler to
a language-to-language translator.
JohnQ said:"Formally, you're probably correct, but practically, it comes out
to the same thing."
How can you consider "the same thing" having to have 2 tools installed
rather than just one to get the same result?
"Better can mean many things: less bugs, more optimization,
stricter standards compliance... Off hand, Comeau beats VC++ two
out of three there."
But Comeau feed into VC++ (or g++), yes? It still seems like you have
all the issues with the platform compiler plus any issues with the front
end.
"Better can also mean portability. One of the strongest motives
I know for using g++ is that I have the same compiler on all of
my platforms."
Though using different compilers does help check out your code better.
You'll probably write less portable code and have more bugs within the
safety of one compiler than if you were to build with many.
"Comeau offers the same advantage, with even better quality and better
standard compliance."
But it's still apples and oranges if you ask me because Comeau is not a
"from source to executable" product. It seems like a special-purpose
product to use when you want to code in C++ but one or more of your
target platforms doesn't have a C++ compiler. Yes?
I don't see how the effects of using multiple compilers/tools wouldn't
be additive as far as the potential issues go. It's just that Comeau
abstracts one away from one set of the issues. But who's to say they're
better at it than you are?
It appears to me that you'd have to be targeting a lot of "weird"
hardware where Comeau is and other C++ compilers aren't, in or to be
using the product. If all your platforms had a C++ compiler or g++,
you'd probably use those/that.
Also, there's 2 vendor dependencies: Comeau front end and the platform
compiler. Seems painful: more vendors, more pain.
> Am I missing some
info? Would you agree that if I was (just) developing GUI programs with
wxWindows on Windows and on FreeBSD/X I would not want to use Comeau?
This is pretty old, from November 2003, but may still be interesting to
you. It's been a long time since I read the article. I wish someone would
repeat this today. Maybe someone has. Does anyone know?
C++ Compilers & ISO Conformance
http://www.ddj.com/cpp/184405483
That's in addition to the compiler you must have to turn Comeau's generated
C code to machine code, yes?
Yes.
Why not just use the platform compiler (VC++ on
Windows, for example) in the first place?
I don't understand how adding
translation steps and requiring more compilers is good.
I could see how many
years ago when there weren't C++ compilers available on most platforms how
that would be good. But today??
1. I wouldn't call something that translates from one high level language to
another a compiler. (Just like I wouldn't consider cfront one). I'd call
the components that do translation (to intermediate form) that occurs before
the C code generation a compiler front-end.
2. If by "better", you mean "better compliance with the standard", well it
would have to be an awfully critical need for some feature that would cause
one to go from a compiler to a language-to-language translator.
That niche I can understand.
On Aug 8, 3:01 am, "JohnQ" <[email protected]>
wrote:
...
Better can mean many things: less bugs, more optimization,
stricter standards compliance... Off hand, Comeau beats VC++ two
out of three there.
Better can also mean portability. One of the strongest motives
I know for using g++ is that I have the same compiler on all of
my platforms. Comeau offers the same advantage, with even
better quality and better standard compliance.
"Formally, you're probably correct, but practically, it comes out
to the same thing."
How can you consider "the same thing" having to have 2 tools installed
rather than just one to get the same result?
"Better can mean many things: less bugs, more optimization,
stricter standards compliance... Off hand, Comeau beats VC++ two
out of three there."
But Comeau feed into VC++ (or g++), yes?
It still seems like you have all
the issues with the platform compiler plus any issues with the front end.
"Better can also mean portability. One of the strongest motives
I know for using g++ is that I have the same compiler on all of
my platforms."
Though using different compilers does help check out your code better.
You'll probably write less portable code and have more bugs within the
safety of one compiler than if you were to build with many.
"Comeau offers the same advantage, with even better quality and better
standard compliance."
But it's still apples and oranges if you ask me because Comeau is not a
"from source to executable" product.
It seems like a special-purpose product
to use when you want to code in C++ but one or more of your target platforms
doesn't have a C++ compiler. Yes?
"As to "language-to-language translator": Comeau is just using C
as a platform neutral intermediate representation."
I don't think that is correct. I think it translates to
platform-compiler-specific C. (Which compilers it uses on which platforms, I
don't know. VC++ on Windows?)
"It's not
really converting C++ to C, at least not to any C you'd ever
want to see."
I don't see how the effects of using multiple compilers/tools wouldn't be
additive as far as the potential issues go.
It's just that Comeau abstracts one away from one set of the issues.
But who's to say they're better at it than you are?
It appears to me that you'd have to be targeting a lot of "weird" hardware
where Comeau is and other C++ compilers aren't,
in or to be using the
product. If all your platforms had a C++ compiler or g++, you'd probably use
those/that.
"And who cares what intermediate representation is
being used. That's an internal detail of the compiler,
invisible to the user."
Having TWO intermediate representations doesn't seem good.
Also, there's 2 vendor dependencies: Comeau front end and the platform
compiler. Seems painful: more vendors, more pain. Am I missing some info?
Would you agree that if I was (just) developing GUI programs with wxWindows
on Windows and on FreeBSD/X I would not want to use Comeau?
I'm sure I read it back then, but if I wasn't particularly concerned
with conformance issues then (I wasn't), I'm surely not today since I
make an effort to use as few features of the language as possible
Why?
when it's not painful to do so.
> For me, I need only a fraction of the features C++ offers
> and would be happier with a stipped-down,
non-conforming compiler with just the features I use than a conforming
compiler. But I know that's a "way out there" point of view.
LR said:Why?
There's the rub.
Maybe you'd be happier with another language then?
But of course, C++ does allow that wonderful flexibility. Use what you
want, if not, then don't, and the stuff you don't want today will be
available when you *need* it. A good reason to be concerned about
conformance, even if you don't need it Right Now.
Well. You're not alone there. I hesitate to mention the name since it
seems to provoke flame wars, but there has been at least one effort along
those lines. I tend to agree with those who think that effort was sadly
misguided and mine is The Objective Point of View (tm), of course.
But seriously, if you really feel this way, then why C++? Why not some
other language? Does C++ have some particular feature that is unavailable
in other languages that you want? Which?
Greg Comeau said:There is some wiggle room for what we can call things, and I agree we
can explore that, but when push comes to shove, there is little else to
call the process except "compiling C++ to C," given all that needs to
be considered, and hence, calling the tools that does that, a compiler.
Personally I prefer to think Comeau offers a compiler system, since
some other stuff is going on.
Mmm, no, if I understand you, that's not the choice. Probably we should
leave this until the above is explored further.
OK
You're saying that it's "compiling" rather than just "translating"
because you are going to an intermediate form in between the C++ source
and the generated C source. I think Bjarne S. called cfront a compiler
for that reason too, noting that it had symbol tables etc. so that made
it more than a preprocessor. It really shouldn't be subjective, there
should be industry definitions that are unambigous. Are there?
Example: A platform compiler that goes from C++ source to intermediate
form to assembly. Is that "compiling"?
Alf P. Steinbach said:* JohnQ -> Greg Comeau:
Yes. If you don't have the Dragon book, get it.
Yes.
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.