Advertisement

Compiler debate, the pros and cons

Started by March 15, 2003 12:52 AM
12 comments, last by hexman 21 years, 8 months ago
There has been a lot of talk regarding the "perfect" compiler. I see MSVC as being a well balanced program. But what about Borland? Is it capable of handling code like MSVC? Is Borland woth using to code? What are your opinions? Hexman
I've used MSVC and some version of Borland (a little). Call me crazy, but I'll usually take anything Microsoft over a similar product It's (usually) easier to get comfortable with an MS product, at least IMO. All the interfaces are the same, with similar icons, etc... so it helps a little as far as learning curves go. It's easier to learn the interface, is usually better documented, better integrated, etc... However, it (MSVC) costs money, while others are free. Some people look to other compilers because MSVC is not totally ANSI compliant (or something like that). I'm sure everyone has their favorite though.

Peon

[edited by - Peon on March 15, 2003 2:22:44 AM]
Peon
Advertisement

I''m attempting to move my code base out of MSVC++ and into Dev-C++ with the GCC compiler. I want to keep my work platform-independant so that my potential market includes Mac and Linux gamers as well as Windows.
(Xai corrented me on several accounts, I withdraw my statements)

[edited by - dede on March 15, 2003 11:15:02 PM]
~~~~~Screaming Statue Software. | OpenGL FontLibWhy does Data talk to the computer? Surely he's Wi-Fi enabled... - phaseburn
the anti-borland statements are crazy ... borland doesn''t have anything to do with legacy apps, these people are thinking of Borland C++ 4.5 and 5.0, which are over 5 years old ... Borland C++ Builder and the Borland C++ free compiler can handle modern C++ and compilation beatifully, MUCH better than Visual C++ 6.0. Right now, of all popular compilers Visual C++ 6.0 is the absolute worst compiler on the market in terms of standard C++ support, but Visual C++ .Net is somewhat better, and the next version of Visual Studio (2003?) is actually said to finnaly pass more standard tests than Borland and GCC ... I haven''t used Dev-C++ personally, so I don''t know ...

Basically, I use Visual Studio IDE and Borland C++ Builder when on windows (Visual Studio''s IDE is good, just not the compiler) and GCC when on BeOS, FreeBSD, or Linux. I have never found feature supported by Visual C++ that wasn''t supported on all other compilers ... but they are at least trying to get better. And Borland C++ Builder 6.0 does have intellisense (their version of it).
The perfect compiler is one that works properly.

Most assembly compilers work fine, they do EXACTLY what you want, without doing stuff that you don''t, but of course... the time to write an application is way up there.

MSVC is alright, it doesn''t conform to the C++ standard perfectly, but it''s not a bad try for the 3rd version! (msvc1, 5, and 6 i beleive were their only versions?).

The newer borland compilers are great, and can handle anything that MSVC can handle.

There is no perfect compiler, because it''s "impossible" to be perfect. The perfect compiler would optomize better than most people could do in assembly (which isn''t going to happen any time soon). It would also, automatically create seperate code paths for different CPU instruction sets (mmx, 3d-now, etc) with the click of a button. The perfect compiler would support the standards perfectly, and compile within seconds, not minutes . The perfect compiler is a dream, so the closest you''re going to get under windows is Dev-C++, MSVC and borland, which are all pretty equivalant. Dev-C++ being free, borlands command line compiler is free, and msvc (6) is ~$100.. take your pick .
Advertisement
quote: hexman
There has been a lot of talk regarding the "perfect" compiler. I see MSVC as being a well balanced program. But what about Borland? Is it capable of handling code like MSVC? Is Borland woth using to code? What are your opinions?

Well, yes & no. C++ Builder is a very nice package, but it cost $2500 to get the same feature set as the $600 Visual Studio package. According to thier product literature, the standard versions of BCB & Delphi will not import type libraries, which is useful to essential if you work with COM. I do not have any first-hand knowledge of the standard editions though, so I cannot verify the claim (I use the professional versions at work, so everything is there).

quote: Xai
Borland C++ Builder and the Borland C++ free compiler can handle modern C++ and compilation beatifully, MUCH better than Visual C++ 6.0.

The list of issues is significantly shorter, but BCB also has compliance issues.

OT, but I have learned of a C++ compiler that is worse than Microsoft's - and it's Sun's Forte compiler.


quote: Ready4Dis
MSVC is alright, it doesn't conform to the C++ standard perfectly, but it's not a bad try for the 3rd version! (msvc1, 5, and 6 i beleive were their only versions?).

MSVC6 is the twelveth iteration of thier C/C++ compiler. They have been implementing C++ as it was developed over the past twenty years, but they fell behind in the last five years.

[edited by - Magmai Kai Holmlor on March 15, 2003 11:36:19 PM]
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
Well here''s my two cents... I''ve used DevC++ a lot, until recently (I got VC++)... But there are features that DevC++ has that really would make VC++ a lot better... Just mostly the navigation style, and switching back and forth between files... Hmm I''m actually toying with the idea of taking the header files and libraries and using them with DevC++ (is that possible?)
GameDweeb: Well, you could take the header files alright, but the librarys that MSVC (and Borland for that matter) aren''t the same format that GCC uses. I''ve never had the chance to use VC++, or Borland Builder, though I did experiment a little with the 5.0 free command line tools.

I personally love GCC. I started using the DJGPP DOS port. That''s where most of my learning happened. For about a year or so I''ve been using the Mingw32 port of GCC (a newer version than the one that comes with Dev-C++). I love the Dev-C++ IDE and since I started using it I have been able to accomplish more than with the stupid IDE I was using before. The only time I''ve ever wished I was using something other than GCC was when I was first getting DirectX set up. That was a lil pain but not too bad, and it works great now.

P.S. Please don''t forget that Dev-C++ and GCC are not the same. Dev-C++ uses GCC, but many people like using makefiles and such better.
Personally I use the VC++ IDE but have it set to use the Intel compiler, which takes a bit longer to compile but generates quicker code in some cases.

But...one thing that MS does know how to do is write compilers. There is not a single c/c++ compiler that conforms EXACTLY to the standard. Sometimes this is a bad thing, but sometimes this is a GOOD thing, as the standard is not perfect. I believe most non-conformances go unoticed by people in this forum. For those of you who are trashing the MS compiler due to it being non-conforming...what are your specific issues with it?

This topic is closed to new replies.

Advertisement