C++ development environment suggestions

Discussion in 'C++' started by John A. Byerly, Jan 9, 2007.

  1. Sorry for the MS Windows-specific question, but I wasn't sure there was a
    better newgroup in which to ask this.

    Can anyone suggest a better environment for C++ development than MS VC++?
    We have been doing our development in VC++ 6.0 and have gotten to the point
    where we have to upgrade. I am really sick of the garbage Microsoft calls
    an IDE, and was wondering (hoping) there were better alternatives. I know
    there are a lot of Borland users. Is Borland considered to be the best
    competition to Microsoft VC++?

    By the way, I suppose this might sound like a troll, but it really isn't. I
    just don't know what is available.

    JAB
    John A. Byerly, Jan 9, 2007
    #1
    1. Advertising

  2. "John A. Byerly" <> wrote in message
    news:4KPoh.5998$Mf2.2676@trndny01...
    > Sorry for the MS Windows-specific question, but I wasn't sure there was a
    > better newgroup in which to ask this.
    >
    > Can anyone suggest a better environment for C++ development than MS VC++?
    > We have been doing our development in VC++ 6.0 and have gotten to the
    > point
    > where we have to upgrade. I am really sick of the garbage Microsoft calls
    > an IDE, and was wondering (hoping) there were better alternatives. I know
    > there are a lot of Borland users. Is Borland considered to be the best
    > competition to Microsoft VC++?
    >
    > By the way, I suppose this might sound like a troll, but it really isn't.
    > I
    > just don't know what is available.
    >
    > JAB


    So, what you're saying is that the IDEs of MS suck, and that statement is
    based on a piece of software that is 9 (!!!) years old? You're right - you
    _do_ sound like a troll, and yes this is not the correct newsgroup. But for
    what it's worth: download MS VC++ 2005 Express for FREE and perhaps maybe
    you'd like to recall your statement (or not, it's your opinion, but just
    don't base it on something that is very very old).

    - Sylvester
    Sylvester Hesp, Jan 9, 2007
    #2
    1. Advertising

  3. "Sylvester Hesp" <> wrote in message
    news:45a3ccec$0$328$4all.nl...
    >
    > "John A. Byerly" <> wrote in message
    > news:4KPoh.5998$Mf2.2676@trndny01...
    > > Sorry for the MS Windows-specific question, but I wasn't sure there was

    a
    > > better newgroup in which to ask this.
    > >
    > > Can anyone suggest a better environment for C++ development than MS

    VC++?
    > > We have been doing our development in VC++ 6.0 and have gotten to the
    > > point
    > > where we have to upgrade. I am really sick of the garbage Microsoft

    calls
    > > an IDE, and was wondering (hoping) there were better alternatives. I

    know
    > > there are a lot of Borland users. Is Borland considered to be the best
    > > competition to Microsoft VC++?
    > >
    > > By the way, I suppose this might sound like a troll, but it really

    isn't.
    > > I
    > > just don't know what is available.
    > >
    > > JAB

    >
    > So, what you're saying is that the IDEs of MS suck, and that statement is
    > based on a piece of software that is 9 (!!!) years old? You're right - you
    > _do_ sound like a troll, and yes this is not the correct newsgroup. But

    for
    > what it's worth: download MS VC++ 2005 Express for FREE and perhaps maybe
    > you'd like to recall your statement (or not, it's your opinion, but just
    > don't base it on something that is very very old).


    Thanks for your reply.

    I am not basing my opinion solely on VC++ 6.0. I only said that is what we
    are currently using. I have also tried out VC++ 7 (2003), and found the IDE
    to be worse. And I am also basing my opinion on the input of others who
    claim that 2005 is even worse than that. I am also not saying that all IDEs
    of Microsoft's are bad. I think that in many ways, the VB IDE is superior
    to VC++, and I have not used VJ++ or the C# stuff.

    My intention was not to post an MS stinks message. But I don't think that
    Microsoft is concerned with C++ developers, and I think it shows in their
    VC++ IDE. I have used IntelliJ for Java development and was blown away by
    it. It made it awfully hard to go back to VC++ (6.0 or 7).

    A friend of mine is an Eclipse user, but he has never used it for C++
    development. I am in the process of downloading it and trying it.

    By the way, thanks for the VC++ 2005 Express suggestion. I forgot it was
    free. I will download it and try it.

    Incidentally, there is no comp.ide.c++ newsgroup, so where do you suggest I
    post?

    Thanks!

    JAB
    John A. Byerly, Jan 9, 2007
    #3
  4. John A. Byerly

    Dennis Jones Guest

    "John A. Byerly" <> wrote in message
    news:4KPoh.5998$Mf2.2676@trndny01...
    > Sorry for the MS Windows-specific question, but I wasn't sure there was a
    > better newgroup in which to ask this.
    >
    > Can anyone suggest a better environment for C++ development than MS VC++?
    > We have been doing our development in VC++ 6.0 and have gotten to the
    > point
    > where we have to upgrade. I am really sick of the garbage Microsoft calls
    > an IDE, and was wondering (hoping) there were better alternatives. I know
    > there are a lot of Borland users. Is Borland considered to be the best
    > competition to Microsoft VC++?


    I think Borland probably is the *only* competition anymore. All other
    viable IDE vendors from the past have pretty much given up competing with
    Borland and Microsoft (Watcom and Symantec are the only other major
    competitors that even come to mind).

    And by the way, Borland recently split off their development tools division
    into a new company called, "CodeGear," though CodeGear has yet to release
    anything since the spin-off.

    As to whether or not the Borland (CodeGear) IDE's are any better than MS
    IDE's, well, that's really just a matter of opinion. I find it interesting
    that people who have been using MS IDE's for a long time are getting
    frustrated with MS, and people who have been using Borland IDE's for a long
    time are getting frustrated with Borland. Everyone swears they will switch
    to the competition, but rarely does it actually happen because they tend to
    stick with what's familiar. Even if their IDE has problems, a developer
    often knows better how to work around the problems with their current
    environment than they would if they switched.

    For a very long time, Borland has been way ahead of MS in the RAD (Rapid
    Application Development) arena, particularly with respect to C++ since MS
    has no RAD tools for C++ at all. Borland's VCL (based on the Delphi/Pascal
    language) is far superior to MS's MFC in many respects. Sure, the IDE has
    its problems, but as you know, so does VC++/VS. Borland's most recent
    release does a lot to improve the IDE and to bring their compiler into
    better compliance with the C++ standard, and though it still falls short,
    Borland/CodeGear is promising better compliance and IDE improvements in the
    future.

    Though I do get frustrated with Borland, I think their IDE is a better
    choice than MS, simply because of the RAD aspect. I think if MS were ever
    to create a RAD tool for C++ (which they might finally do that with
    C++/CLI), Borland/CodeGear will have a lot more to be concerned about. In
    fact, that might just be what Borland/CodeGear needs to get their butts in
    gear and resolve those nagging issues we Borland users have been suffering
    through.

    Anyway, that's my opnion in a nutshell.

    - Dennis
    Dennis Jones, Jan 9, 2007
    #4
  5. John A. Byerly wrote:
    > [..]
    > Incidentally, there is no comp.ide.c++ newsgroup, so where do you
    > suggest I post?


    I suggest you post to the newsgroup that deals with your platform.
    There you will find more people getting similar problems solved on
    the daily basis. They must use some tools, ask which ones, and why.

    V
    --
    Please remove capital 'A's when replying by e-mail
    I do not respond to top-posted replies, please don't ask
    Victor Bazarov, Jan 9, 2007
    #5
  6. John A. Byerly

    BobR Guest

    Sylvester Hesp wrote in message ...
    >
    >"John A. Byerly" <> wrote in message ...
    >> Sorry for the MS Windows-specific question, but I wasn't sure there was a
    >> better newgroup in which to ask this.
    >> Can anyone suggest a better environment for C++ development than MS VC++?
    >> We have been doing our development in VC++ 6.0 and have gotten to the
    >> point
    >> where we have to upgrade. I am really sick of the garbage Microsoft calls
    >> an IDE, and was wondering (hoping) there were better alternatives. I know
    >> there are a lot of Borland users. Is Borland considered to be the best
    >> competition to Microsoft VC++?
    >> By the way, I suppose this might sound like a troll, but it really isn't.
    >> I just don't know what is available.
    >> JAB

    >
    >So, what you're saying is that the IDEs of MS suck, and that statement is
    >based on a piece of software that is 9 (!!!) years old? You're right - you
    >_do_ sound like a troll, and yes this is not the correct newsgroup. But for
    >what it's worth: download MS VC++ 2005 Express for FREE and perhaps maybe
    >you'd like to recall your statement (or not, it's your opinion, but just
    >don't base it on something that is very very old).
    >- Sylvester


    Just to have more choices:
    Dev-C++ IDE: http://www.bloodshed.net/
    MinGWStudio http://www.parinyasoft.com/
    Also, look for Code::Blocks.

    --
    Bob R
    POVrookie
    BobR, Jan 9, 2007
    #6
  7. John A. Byerly

    IR Guest

    Dennis Jones wrote:
    [snipped the argumentation]
    > Anyway, that's my opnion in a nutshell.



    I'll roughly second that opinion, only to add that (at least as of
    C++Builder 6 / BCC 5.5 which is the latest version I used), the
    compiler and linker are kind of crappy.

    I recently had headaches on a simple ( ? : ) statement which did not
    behave as expected, until I made it an if-else. This is just one of
    many examples I could tell.

    Also, if you are concerned by performance, you definitely won't want
    to use Borland (again, I'm speaking of BCC 5.5). Examining both BCC
    and MSVC assembly output will easily show that.


    But let's be fair, as Dennis said, the RAD part is very well
    designed. And some non-standard extensions really come handy (eg.
    closures, deterministic static initialization, ...).


    We usually use Borland, linking to MSVC dlls (through a C interface)
    whenever performance is critical (which is very seldom anyway).

    But I have to admit I'm lobbying to have MSVC8 + wxWidgets used for
    new projects, I'm tired of all those strange compilation/linking
    problems...


    Hope this helps a bit.

    Cheers,
    --
    IR
    IR, Jan 9, 2007
    #7
  8. John A. Byerly

    Guest

    John A. Byerly wrote:

    > Can anyone suggest a better environment for C++
    > development than MS VC++?


    Provided you're from the old school of programming, meaning
    you're at home with compiler and linker command line
    configuration you should give the Zeus IDE test drive:

    http://www.zeusedit.com/features.html

    Zeus has many of the features of other IDE's (ie workspace
    management, integrated version control, class browsing,
    code completion, integrated help etc), but it does require
    the user to get down and dirty ;)

    So if you know you way around make files and setting up
    compiler and linker command line options Zeus is very
    easy to configure and you'll end up with somthing that
    has the power of and IDE but without the bloat.

    Jussi Jumppanen
    Author: Zeus for Windows
    , Jan 10, 2007
    #8
  9. John A. Byerly

    Lionel B Guest

    On Wed, 10 Jan 2007 00:35:50 -0800, "jussij wrote:

    > John A. Byerly wrote:
    >
    >> Can anyone suggest a better environment for C++
    >> development than MS VC++?

    >
    > Provided you're from the old school of programming, meaning
    > you're at home with compiler and linker command line
    > configuration


    [snip]

    You might also have a look at jEdit:

    http://www.jedit.org/

    Although it describes itself as a "Programmer's Text Editor" rather than
    an IDE it has many features of an IDE (project management, etc.), some
    available via a plugin architecture.

    It is written in Java (and therefore very cross-platform) but supports many
    languages, again via plugins.

    Personally I find it has some performance issues on my platform, which is
    a shame as I find it otherwise quite pleasant as an IDE "lite".

    --
    Lionel B
    Lionel B, Jan 10, 2007
    #9
  10. John A. Byerly

    Grizlyk Guest

    IR wrote:

    > BCC 5.5


    Free BCC 5.5.1 command line tools does not support last C++ standard
    (at least my copies).

    > I recently had headaches on a simple ( ? : ) statement which did not
    > behave as expected, until I made it an if-else. This is just one of
    > many examples I could tell.


    In most cases you can try find out command line keys, switching
    Borland/Microsoft extentions of C++. What is the trouble with ( ? : )
    statement there?
    Grizlyk, Jan 13, 2007
    #10
  11. John A. Byerly

    IR Guest

    Grizlyk wrote:

    > IR wrote:
    >
    >> BCC 5.5

    >
    > Free BCC 5.5.1 command line tools does not support last C++
    > standard (at least my copies).


    FWIW, neither does the paying C++Builder 6.
    My point, though, was not about standard conformance, but rather
    about the fact that _all_ Borland compilers I have worked with
    (namely, BC4/4.5, BCB4/5/6, and BCC5.5) are buggy like hell, even
    when fully patched.

    >> I recently had headaches on a simple ( ? : ) statement which did
    >> not behave as expected, until I made it an if-else. This is just
    >> one of many examples I could tell.

    >
    > In most cases you can try find out command line keys, switching
    > Borland/Microsoft extentions of C++.


    Sorry, but we won't change that kind of compiler settings on a
    project which is already about 300kloc, and counting. ;-)

    > What is the trouble with ( ? : ) statement there?


    This very case is indeed a strange BCB6 bug.
    I don't have the code at hand, but it was something very
    straightforward:


    AnsiString __fastcall SomeNetworkMessage::getMessage() const
    {
    AnsiString msg;
    //...
    msg = msg + (bool_expression ? "a string" : "another string");
    //...
    return msg;
    }


    The "msg = msg + ..." line always added garbage to msg, no matter
    the value of bool_expression.

    Switching to


    if (bool_expression)
    msg = msg + "a string";
    else
    msg = msg + "another string";


    solved the bug. Note that in other places, ?: works perfectly fine.

    Debugging at asm level showed that both "a string" and "another
    string" where in fact taken from the stack (hence the garbage) in
    the ?: version, while the if-else version correctly points at the
    data segment.


    > IR wrote:
    >> This is just one of many examples I could tell.

    [...]
    >> I'm tired of all those strange compilation/linking
    >> problems...



    Cheers,
    --
    IR
    IR, Jan 13, 2007
    #11
  12. "IR" <> wrote in message
    news:Xns98B76EC5112BCZjx3HdoP0Qwt@194.177.96.26...
    >> What is the trouble with ( ? : ) statement there?

    >
    > This very case is indeed a strange BCB6 bug.
    > I don't have the code at hand, but it was something very
    > straightforward:
    >
    > [some examples]


    That's harsh. On VC++ (all versions AFAIK) I also had issues with the ?: in
    combination when used with references.

    #include <iostream>

    struct A
    {
    virtual void foo() { std::cout << "A::foo()" << std::endl; }
    };

    struct B : public A
    {
    virtual void foo() { std::cout << "B::foo()" << std::endl; }
    };

    int main()
    {
    A a;
    B b;
    A & aRef = false ? a : b;
    aRef.foo();
    }

    Guess what above program outputs. Right, A::foo(), because a temporary A is
    copy-constructed out of a B, and tied to the reference (which shouldn't even
    be possible according to the standard, as the reference is not const, but
    VC++ allows it when language extensions are enabled). It took me some time
    to find out why my data appeared to corrupt.

    I fixed it by explicitely static_casting 'b' to an A&. So apparently the
    compiler prefers value over reference when the two opererands are not of the
    same type. "Luckily" this is only a mere misinterpretation of the standard,
    it isn't as severe as wrong assembly code actually being generated (like in
    your example) :)

    - Sylvester
    Sylvester Hesp, Jan 14, 2007
    #12
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. JerryK
    Replies:
    2
    Views:
    569
    Ray Cassick \(Home\)
    Jan 29, 2004
  2. deko
    Replies:
    3
    Views:
    424
    Mark Rae
    Sep 5, 2004
  3. Akhlaq Khan
    Replies:
    4
    Views:
    749
    =?Utf-8?B?Q293Ym95IChHcmVnb3J5IEEuIEJlYW1lcikgLSBN
    Sep 27, 2004
  4. Replies:
    1
    Views:
    347
    Darren Kopp
    Feb 20, 2006
  5. Replies:
    5
    Views:
    643
Loading...

Share This Page