Click to See Complete Forum and Search --> : What's the best C++ IDE to use?


StevenWilliams
June 1st, 2003, 05:32 AM
I am an experienced developer (now project manager). But I have never really developed using PC languages.
I want to start to develop an idea using C++. What would be the best C++ tool to buy/use as a starter.
I want to use C++ because it allows (I think) low level access to memory. I will need to store data, but not using a database. What is the best means to do this. Any other general help would also be very helphul. Thanks

Daniel.m.v
June 1st, 2003, 07:18 AM
I code in Visual C++ 6.0. You can develop on it you want, but this is a little old and the help system too. It has poor support for templates. You have a tool named ClassWizard. This lets you add methods and properties to MFC classes, event handlers, etc in a easyest way.

Visual C++ .NET 2002 - This is more intuitive to learn and thas better support for templates but has much problems. It has a tool named Properties Window that hangs every 15 minutes (without it you can't code events in the easyest way) so you must restart the IDE. When you make it one or two times a day it don't care but if you are coding 10 hours...
This is bad structured for advanced users because when creating a method it query you the type and the name for a method and for every parameter passed when it is fast write them.
If you order classes in folders it crashes when you select 5 or more (try to upgrade a project made in VC6 with 60 classes or more and you will know what it means...) the IDE crashes.
When you add a event handler to a menu you can't access the code of it with a single double clic. You must search it through all the classes (visual classes or no) with the properties window (do this when you have 60 or more classes...).
I think it have much bugs, 'loose time wizards' and this is bad designed. An IDE has to be a tool to aid the programer not to bore he. MICROSOFT, IF YOU READ IT DO ANY THING TO SOLVE THIS!!!!
We will see what hapens in the 2003 release...

Dev-C++ is an IDE that initially only support the programming of Win32 API and I don't saw any visual resource editor on it. It has a very good support for C++ language.

Andreas Masur
June 1st, 2003, 07:26 AM
Originally posted by StevenWilliams
I am an experienced developer (now project manager). But I have never really developed using PC languages.

Isn't that a contradiction? :cool:

Regarding your question it first depends for which platform you will develop. If you need something for *nix you are pretty limited. There exists KDevelop from the KDE group as an IDE. In addition Borland as also an IDE named Kylix.

For Windows there is of course the Microsoft IDE itself, Borland also provides an IDE and some others as mentioned before...

Sam Hobbs
June 1st, 2003, 08:25 AM
This is not the best forum to be asking this question in. You should ask in the C++ (Non Visual C++ Issues) (http://www.codeguru.com/forum/forumdisplay.php?s=&forumid=9) forum.

Xeon
June 1st, 2003, 11:18 AM
Whatever you do, as long as you code in C++, use Visual C++ 6.0. You will never be wrong. :):D:):)

Mick
June 1st, 2003, 11:40 AM
*lol* heh heh I'm with Andreas on this...just what are you experienced in? Jimi Hendrix or what? UN*X??? ohh that's right it's not a PC...nor am I PC....

Andreas Masur
June 1st, 2003, 12:05 PM
Originally posted by Sam Hobbs
This is not the best forum to be asking this question in. You should ask in the C++ (Non Visual C++ Issues) (http://www.codeguru.com/forum/forumdisplay.php?s=&forumid=9) forum.
Nope...the best forum for this problem as it has been asked would be the developer forum (http://www.codeguru.com/forum/forumdisplay.php?s=&forumid=19)...however I decided to leave the question here until further explanations of the OP... :cool:

StevenWilliams
June 2nd, 2003, 03:14 PM
The target OS will be Windows 2000

MystLurker
June 2nd, 2003, 03:22 PM
When he says he has never used PC languages, he might imply that he did some sort of embedded coding (which at least in my industry is very common) which is often either in C or assember specific to the proccesor or some proprietary language on any non-PC platform.

So no it isn't a contradiction in terms, although in this forumm almost all are developing for the PC, there exists a large market for non-pc based coding. Most of this isn't in standard application form like most PC based stuff, but more in functionality providing and the such, but still...

And btw I recommend Visual C++ 6.0, ad VS.NET in my opinion is overly complex and still somewhat unproven as the best of programming environments (and you have to learn the .NET part of it also).

IndikaNiva
June 2nd, 2003, 03:47 PM
What is your Idea?
To store data using MFC without a db.. you can use Serialization.

Yves M
June 2nd, 2003, 09:22 PM
Please do not cross-post.


[Andreas]: Removed the link after merging.

Andreas Masur
June 4th, 2003, 02:47 AM
[Merged threads]


StevenWilliams, as Yves already has said, please do not cross-post your questions. Thank you very much.

StevenWilliams
June 4th, 2003, 03:45 AM
Perhaps I should clarify then:

The initial development OS will be XP. The target environment for the tool I will develop will be 2000.
I want to develop using C++. I will need an editor, a compiler and everything sufficient to write and run code. I don't need a database. I would also like the capability to deploy some parts onto the web, but this is not essential at first. I would like to avoid Microsoft products if possible, but if Visual C++ is the only way to ge then so be it. Does this run on XP?
I have huge experience in developing software on mainframes, midrange, Notes and other client / server environments. I have used code generators in the past for PC rather than base 3GL's. I like to have my mind focused on the real issues of the problem rather than to be mired in technical detail which PC's and Microsoft encourage you to do.
The purpose of developing business software is to solve business problems, not to bask in technical details. Tools should look after the technical dross to leave the developer free to think of the real issue. That is why business savvy developers are extremely valuable, and code monkeys are just that, monkeys.
I will be developing a tool to help developers de-monkeyfy themselves. If they want.

Sam Hobbs
June 4th, 2003, 03:54 AM
Originally posted by Yves M
Please do not cross-post.I am wondering if the person posted to multiple forums at the same time or if the person posted to one then posted to another one when was advised to do so.

StevenWilliams
June 4th, 2003, 03:57 AM
I was advised to post to two other forums, but when I did so I was told not to 'cross-port'.

Sam Hobbs
June 4th, 2003, 04:05 AM
Originally posted by StevenWilliams
That is why business savvy developers are extremely valuable, and code monkeys are just that, monkeys.
I will be developing a tool to help developers de-monkeyfy themselves. If they want. Very few programmers want to be de-monkeyfied since most programers are not monkeys.

If you want to end this conversation then you have succedded in doing that. Calling developers monkeys is definitely a show-stopper. You will not sell much software if it is designed with that philosophy.

I don't know what Andreas meant by saying "Isn't that a contradiction?" but we get an indication here that it is a contradiction for a person to be both a developer and a manager.

If a person were to go to a forum for managers and call managers monkeys then I would consider that person to be a money.

Sam Hobbs
June 4th, 2003, 04:08 AM
Originally posted by StevenWilliams
I was advised to post to two other forums, but when I did so I was told not to 'cross-port'. Then I think the moderators are over-moderating. I think their comments about cross-posting should be ignored.

Xeon
June 4th, 2003, 06:05 AM
From Sam:

Then I think the moderators are over-moderating. I think their comments about cross-posting should be ignored.

Be patient, Sam! :):)
The CodeGuru 2004 Elections are coming soon. I'll be sure to vote for you! :):):)

Amn
June 4th, 2003, 06:39 AM
Why is it so hot in here ? Show-stopper ? Contradiction ? Why are developers so mean in spring ? :D
CodeGuru is getting MEAN ?!?!?!? :(

Steven, If you are going to target NT platforms using C++ language, go for Visual Studio .NET. It costs a bit, but your company may never notice it ;) I have been using it for a while, and never had a problem with it. You will be safe with it. My Properties window has never hung yet. I have had NO problems with VS .NET.

As you would rather avoid Microsoft, i still ask you to have some trust. Their compiler is very fast and efficient, and you are not the first and last to use their solutions. Windows has come long way since Win95, have some trust ;)

Someone who didnt trust before ;)

StevenWilliams
June 4th, 2003, 07:07 AM
Thanks Amn, that helps. However, I will be developing this on my own time and at my own expense. .NET is a bit spendy.
Would Visual C++ Version 6.0 run on my XP machine and does it come with everything I need e.g. editor, compiler, debugger etc etc etc???
Very grateful for your help.

P.S. Sorry about the monkey thing. I truly have developers interests at heart.

Andreas Masur
June 4th, 2003, 07:08 AM
Originally posted by Sam Hobbs
I am wondering if the person posted to multiple forums at the same time or if the person posted to one then posted to another one when was advised to do so.

Originally posted by Sam Hobbs
Then I think the moderators are over-moderating. I think their comments about cross-posting should be ignored.

As I have said in my earlier reply...the correct forum basically was this one - the developer forum. As I have also said I decided to leave the post in the original forum until the OP would give some more information so that I could see whether this is a general question or not.

I have never advised anybody to cross-post the question. Still cross-posting is not allowed and therefore should be avoided. However, nobody is over-moderating at all. Cross-posting can be considered and tolerated for a specific reason and was tolerated by the moderators several times in the past and will be in the future. In this case however, the same question was asked three times in different forums and therefore it was merged together.

Andreas Masur
June 4th, 2003, 07:40 AM
Originally posted by StevenWilliams
Thanks Amn, that helps. However, I will be developing this on my own time and at my own expense. .NET is a bit spendy.
Would Visual C++ Version 6.0 run on my XP machine and does it come with everything I need e.g. editor, compiler, debugger etc etc etc???
Very grateful for your help.

P.S. Sorry about the monkey thing. I truly have developers interests at heart.
Well...you will get the same either with .NET or 6.0 - that is an editor, compiler, debugger etc. so in short terms a complete IDE.

Jim McCreary
June 4th, 2003, 09:37 AM
If all you need is Visual C++ and want to develop a desktop app without .NET, you can get the student version of Visual C++ from M$ for around $100.

The only draw back is that you do not get the professonal full optimizing compiler. But you do get the full IDE and can build full MFC applications.

Gabriel Fleseriu
June 4th, 2003, 10:41 AM
My personal oppinion:

As the OP says that (1) he doesn't have experience with PC programming and (2) that he is going to do that on his own costs, that is time and money -- here is what I would do:

Download the Dev-C++ (http://www.bloodshed.net/devcpp.html) IDE as it is free. I would use that, and the online MSDN (http://www.msdn.microsoft.com/default.aspx) to gain some experience. You also can download a lot of free SDKs from Microsoft, for free (they are quite large, though).

After using Dev-C++ for a while, I'd try to see where its limitations are, what my needs are, and discuss that with other developers, here on CG. Then, and only then, I'd decide if I need to buy another IDE, and which IDE that should be.

Bottom line: you don't need the **best** IDE to start. An IDE that doesn't automate too many things for you could help you learning.

Now a comment as a moderator:

Originally posted by Sam Hobbs:
Then I think the moderators are over-moderating. I think their comments about cross-posting should be ignored.
By all respect, Sam, I have to say that (1) none of your posts in this thread seem to be aimed at helping the OP and (2) the advice to ignore moderator requests is not a good advice.

Sam Hobbs
June 4th, 2003, 12:06 PM
Originally posted by Gabriel Fleseriu
(2) the advice to ignore moderator requests is not a good advice. It is totally relevant. We shall see what Brad thinks.

Sam Hobbs
June 4th, 2003, 12:18 PM
As far as I know Microsoft is not selling VC Professional edition stand-alone; as far as I know we must buy Visual Studio to get it. I think this is ridiculous and I think that Microsoft's "churning" (requiring us to buy costly upgrades) to get us to get upgrades will cause many oif us to switch to competitors. I don't know how good IBM's is but I know they have something to compete with Microsoft. There are a few others besides Borland. They might be worth investigating. I think Dinkumware is another; I am interested in knowing if it works well for making Windows programs.

Amn
June 4th, 2003, 12:19 PM
Steven and Andreas:

Two cores, the one in 6.0 and the one in .NET are substantially different. By 'core' i mean the compiler, the linker, the profiler, and some other command line utilities that serve as the backend for your programming needs. IDE is basically just a user interface, and here Andreas is more or less right, the two are very much alike, though the .NET version is more fancy and gives some more desirable control. Nevertheless, the difference between compilers is fundamental, and you will be more on a good road when using .NET - it is FAR more standard compliant, for example with C++ templates (does quite a good job), and the speed of compiling is almost double at some tasks. Also .NET compiler or the 7th version of Microsoft C++ compiler (as it is also called) takes more parameters, and is able to operate on C++ extensions, whatever Microsoft invents under there - Managed C++, runtime buffer overrun checks, etc.

In short, .NET is not just an IDE, it is also a newer version of Microsoft utilities, of which compiler is not exactly a fancy, but a critical piece of software. IDEs look very similiar, .NET version eats more memory and is generally very hungry for resources.

Even shorter, if you want to save money, of course go with VC++ 6.0, it can do EXACTLY THE SAME for you if you want to, but on some occasions you will slap your head bad, for example when compiler wont instantiate complex templates.

Gabriel Fleseriu
June 4th, 2003, 12:27 PM
Originally posted by Sam Hobbs
As far as I know Microsoft is not selling VC Professional edition stand-alone; as far as I know we must buy Visual Studio to get it.

I don't know whether Microsoft still sells it, but they used to sell it as standalone (I have a copy).

Sam Hobbs
June 4th, 2003, 12:52 PM
I am in a hurry today.

When I said "VC Professional edition stand-alone" I meant VC .Net. Yes I know VC versions up to 6 are available stand-alone.

Andreas Masur
June 4th, 2003, 01:00 PM
Originally posted by Amn
IDE is basically just a user interface, and here Andreas is more or less right, the two are very much alike, though the .NET version is more fancy and gives some more desirable control.

Well...I did not mean to imply that they are the same...what I meant is the package itself...both 6.0 and .NET studio contain compiler, debugger, IDE etc. - that they are different is another point... :cool:

Xeon
June 4th, 2003, 09:41 PM
Amn the Boy is back, after all these years!
Must have gone to Hollywood to act, I guess. :cool::cool::cool::D

lord loh
June 6th, 2003, 08:41 AM
Dev c++ (http://www.bloodshed.net/devcpp.html)

Relo (http://www.fifsoft.com/relo)-[Alternate Site (http://sourceforge.net/projects/fidel)]

Code Warrior (http://www.codewarrior.com/)

An entire list (http://www.mathtools.net/C++/Editors_and_IDE/)

:mad: Full Stop :mad:
Too much of crap discussions :mad:

Flesh
June 6th, 2003, 02:30 PM
Your brain.

bflynt
June 9th, 2003, 04:54 AM
Does the VS.NET compiler still compile C++ to the intermediate runtime language??

I was under the impression that VC++ 6 compiled to assembly while the .NET compiler went to the intermediate runtime language. Is this correct or have I been wrong all this time?

How about VB.NET and C#.NET they compile to the intermediate language, correct???

Something to watch out for, I have seen the C#.NET standard by itself and I have the Visual Studio .NET 2002 Academic at home. At least with the Academic, and I’ve been told with the Standard, you cannot include the .NET runtime environment with your deployed application. I even downloaded it from the web and tried to include it but you will have to write your own installer to check if they already have it and do the installation process. What a pain in the a#$.

Just some things to think about before going to .NET

For scientific, math, etc programming I’ve found the whole .NET thing to be a PITA. The advantage is supposed to be its portability but until someone gets a stable environment for it to run on Linux/Unix it is pretty limited in my opinion. Plus who makes an IDE with no graphing/chart controls???
I kind of went off on a tangent didn’t I!!!

Bryan

Brad Jones
June 9th, 2003, 09:46 AM
Steven,

Some additional points and a question:

(1) Visual C++ will create an executable file that can be ran on virtually any version of Windows with no additional files needed. You can use VC++ to create, compile and debug your program. You can then distribute the single file and know that it should run.

(2) If you create managed programs for .NET, then you will create an exe file; however, it will be a true executable and it will only run on systems that support and have the .NET Common Language Runtime (CLR). If the CLR is not present, then your program will not run. The CLR is big. Bottom line, C++ programs written targetting .NET, will require your program and the CLR.

Having said this (and answering bflynt's questions), Visual C++ .NET is the newest version of VC++. It will let you create programs that are managed and that are not managed. What this means is that you can create standard VC++ programs that are true executables as well as .NET (managed) programs. (bflynt - C# and VB.NET will only create the .NET (managed) versions, not true executables).

There are a number of C++ compilers that are freely available. As stated by others Borland and Microsoft both have great tools if you are willing to spend some money. There are older versions of the Borland C++ compilers that are freely available as well. I know a few people have recommended Academic versions of products, however, you must be an educator or student, plus those are not legally usable for a number of situations (Those recommending the academic versions should read the licensing before recommending....)

Finally, my question: Why are you looking at C++? If the idea is to quickly build an application, then Visual Basic or some other higher-level languages would most likely be easier to use and faster to learn. (Of course, if you are coming from a PL/1 or other more technical background, then C++ may not be too rough). If coming from a version of COBOL, then I'm guessing VB may be easier. Just a thought.

Brad

Jim McCreary
June 9th, 2003, 11:39 AM
I bought VC++ .NET Standard for $109.00 plus $5.00 shipping and tax on January 1, 2003 at Https::/shop.microsoft.com

This is Visual Studio, but contains only the
C++, not VB or C#. :cool:

Brad Jones
June 9th, 2003, 11:54 AM
Originally posted by Jim McCreary
I bought VC++ .NET Standard for $109.00 plus $5.00 shipping and tax on January 1, 2003 at Https::/shop.microsoft.com

This is Visual Studio, but contains only the
C++, not VB or C#. :cool:

The Visual C++ .NET Deluxe Learning Edition from MS Press includes the Step-by-Step book and a copy of the Standard Edition. It can be found on Amazon for about $84.

http://books.internet.com/books/0735619085

Brad
(this posting is not an endorsement of the product....)

StevenWilliams
June 9th, 2003, 02:43 PM
Brad,

To answer you questions:

My background is COBOL, RPG and what some people call CASE tools.

I want to use C++ for three reasons: a) as an exercise, b) I will move onto Java and, most importantly, c) I want to start to build a tool and anticipate needing (eventually) the low level features of C++, to build a screen painter for example. Also, I am not overly impressed with the screen design capabilities of VB, at least from what I have seen.

Brad Jones
June 9th, 2003, 04:22 PM
COBOL, RPG and what some people call CASE tools

I would generally recommend VB for this type of background; however, based on your comments, go for it with C++ or jump right to Java if that is ultimatelly where you want to go. In my opinion, C++ and Java will be equal challenges to learn.

If you are not wanting to spend any money, then I recommend getting the older Borland C++ compiler that use to be (and I assume is still) available from Borland's site.

The Microsoft Press Deluxe Learning Editions are not a bad starting point either. They include a beginner book and a compiler as well. It is the Standard Edition compiler which is limited; however, it will definitely get you going. If you get the Visual C++ .NET 2003 Edition, then you should be able to do both .NET and non-.NET programming with C++.

Brad!

siddharth_b
June 11th, 2003, 05:40 AM
The best C++ IDE !?!

The question is pretty vague. The answer depends on the platform which you are targeting. If its Linux/Unix, you're better off with Vi !

If you want to work on Windows, Borland has one of the,ummm, no, THE best IDE. Its got several to choose from:

for DOS / Older OWL based windows development, you can use Borald C++ 5.0

If you want to do some quick and easy Windows based development, use Borland C++ Builder. I've used this tools right since it was in Version 1.0. Its absolutely fabulous.

Microsoft VC++ is good if you want to really learn Windows Programming in general. Though for rapid development, MSVC++ should be last in your list. The class library, MFC is bulky, not very intuitive, does a poor job of abstracting the Win32 API (which by the way was its reason for existence!!!).

If you want to work on simple small C++ programs, DevShed C++ IDE is pretty cool.

Hope this helped.

Cheers,
Sid.

siddharth_b
June 11th, 2003, 05:44 AM
The best C++ IDE !?!

The question is pretty vague. The answer depends on the platform which you are targeting. If its Linux/Unix, you're better off with Vi !

If you want to work on Windows, Borland has one of the,ummm, no, THE best IDE. Its got several to choose from:

for DOS / Older OWL based windows development, you can use Borald C++ 5.0

If you want to do some quick and easy Windows based development, use Borland C++ Builder. I've used this tools right since it was in Version 1.0. Its absolutely fabulous.

Microsoft VC++ is good if you want to really learn Windows Programming in general. Though for rapid development, MSVC++ should be last in your list. The class library, MFC is bulky, not very intuitive, does a poor job of abstracting the Win32 API (which by the way was its reason for existence!!!).

If you want to work on simple small C++ programs, DevShed C++ IDE is pretty cool.

Hope this helped.

Cheers,
Sid.

Website (http://powerappz.tripod.com)

stober
June 12th, 2003, 07:24 PM
Originally posted by StevenWilliams
Brad,
I want to use C++ for three reasons: a) as an exercise, b) I will move onto Java and, most importantly, c) I want to start to build a tool and anticipate needing (eventually) the low level features of C++, to build a screen painter for example. Also, I am not overly impressed with the screen design capabilities of VB, at least from what I have seen.

One thing to keep in mind is that regardless of what compiler and IDE you use, they all must eventually call Win32 API functions to do anything at all in the Windows OS platform. It is not possible to write a program in any language that does not access the resources through Win32 API functions. There is DirectDraw and DirectX that do direct screen writes -- I don't know much about those but they are both Microsoft products for Windows platform.

The design capabilities of Visual Basic is pretty much standard way of doing RAD compilers. Borland C++ Builder 6 IDE looks almost identical to VB, and so do the one or two ide's I've used for unix gui (I forget what they are called its been sooo many years ago!).

stober
June 12th, 2003, 07:29 PM
BTW Thaks everyone for your comments. I was about to post an very similar question until I came across this thread. I was thinking of upgrading my VC++ 6.0 to either .NET or get Borland C++ Builder 6.0, but I think I will just keep what I have after reading your comments. :)

Sam Hobbs
June 12th, 2003, 08:16 PM
Originally posted by stober
One thing to keep in mind is that regardless of what compiler and IDE you use, they all must eventually call Win32 API functions to do anything at all in the Windows OS platform.It is entirely totally possible to write an IDE without Windows and therefore absolutely no calls to Win32 API functions.
Originally posted by stober
It is not possible to write a program in any language that does not access the resources through Win32 API functions.It is possible.

stober
June 12th, 2003, 09:00 PM
Originally posted by Sam Hobbs
It is entirely totally possible to write an IDE without Windows and therefore absolutely no calls to Win32 API functions.
It is possible.

Prove it! I did not see even one example on the link you provided. Post an example program that uses the Windows OS without using any Win32 API functions either directly or indirectly. I don't think that is possible.

Sam Hobbs
June 12th, 2003, 09:15 PM
You did say "they all must eventually call Win32 API functions to do anything at all in the Windows OS platform" and certainly any program in the Windows OS platform must use Win32 API functions, but that is misleading. Do you consider Wordpad to be an IDE that is as good as any other IDE?

stober
June 12th, 2003, 09:31 PM
what is misleading about that statement. Sounds pretty clear-cut to me. And yes, Wordpad, Notepad, ed, edline etc are all examples of IDEs and, if they run in the Windows OS must use Win32 API function calls to do anything. None of them access the hardware directly because Windows OS don't let them.

stober
June 12th, 2003, 09:38 PM
Originally posted by Sam Hobbs
Do you consider Wordpad to be an IDE that is as good as any other IDE?

No -- Wordpad is a word processor, not a programmer's IDE. You can write a program with it, but it makes a pretty poor IDE.