From Beginner to Expert

Pages: 12
Hey I just had a quick question to help me understand something greater.

I am still a beginner C++ programmer and I've used tools like DevC++ and Visual C++, and these tools are good, but I get the impression that they are mainly used by beginners, and have their limitations if one wants to make a larger programming project.

I am wondering what tools are more common for experts programming in C++. I know that Linux and its tools are probably the best answer, but I just wanted to see what you guys might say.

ty
I've used tools like DevC++ and Visual C++, and these tools are good, but I get the impression that they are mainly used by beginners


Where the heck did you get that impression?
I agree with what PanGalactic said.

IDEs (like DevC++, MSVS) are useful for beginners and experts alike. There are even IDEs for Linux.
EXPERT ENTERPRISE PROGRAMMERSTM churn out lines of .NET or Java by the truckload, actually.

I know that Linux and its tools are probably the best answer
Do you have a particular problem you know can only be solved by any of these (portable) tools, or are you just going by a confused notion you heard from a Linux preacher?
Last edited on
LOL Linux Preacher! Thats hilarious xD

No I dont know where I got these impressions. Anyway I dont have a problem, I was just wondering what tools pro's use. I suppose people in the industry code their own tools and then use those to build from. Maybe that was what I was after.

One more question: All code is essentially read one line at a time right to left, top to bottom, correct? I mean, it will hop around based on lines of code that tell it to execute other lines elsewhere, but then it returns back to where it previously was, and so on, correct?

I suppose people in the industry code their own tools and then use those to build from.
Yes, pros have nothing better to do than reinventing the wheel over and over and over again.

One more question: All code is essentially read one line at a time right to left, top to bottom, correct? I mean, it will hop around based on lines of code that tell it to execute other lines elsewhere, but then it returns back to where it previously was, and so on, correct?
No. Read about control flow. Particularly loops, selections, and gotos.
Also, the atomic unit of execution is the instruction, not the line.
closed account (z05DSL3A)
"I was just wondering what tools pro's use"

I use Microsoft Visual Studio Team System 2008 Developer Edition.
While those IDE's are beginner friendly, that should not be mistaken with for beginner only.
My CS professor programs in Visual Studio 2008.

I know that Linux and its tools are probably the best answer


There is are no "best answers" in programming. There are instead, right tools for the right job, that your comfy with. Linux tools are certainly not the best answer when developing .NET applications but they are certainly better suited for developing GTK+ ones.

I write in gedit and compile with make files. Not because it's the best answer, I just get a bit claustrophobic in IDE's.
IDEs where invented for a reason.That reason is they make a programmer's life much easier.Otherwise no one would have thought of them.Use IDEs if possible.
If you need MFC, NET and other of that monopolistic stuff, then yes, Visual Studio is the best.It comes by default with all of them.But if you are lucky not to be forced to use them, then I would recomend you open-source IDEs such as Code Blocks, Code Lite and Geany for BSD.IDEs make people's life much easier in my opinion.
Technically, that's vendor lock-in, not monopoly.
Also, VC++'s debugger is the best I've seen so far, so even if you're going to write pure C/++, VC++ is the way to go if you're on WINdows.
Last edited on

VC++ is the way to go if you're on WINdows

This is were I disagree.
Call it vendor lock-in, call it monopol, it's still the same expression for slavery.If you want to be a slave of Microsoft then you should use their products as much as you can and come to depend on them so much that you can't live without them.But that will turn you into a slave.As much as I admit that VC++ is the best if you want proprietary Microsoft libraries, if you don't want them then it's not the best.I would favor Code Blocks if you don't need any library related to Microsoft.
Hold on there... using MS products does not, by any stretch of the imagination, enslave you.

If you want to work on Windows, and a very large number of people do, then there is nothing wrong with using the OS vendor's own tools. (I've never heard anyone complain about using the GCC on Linux -- and the GCC provides nonstandard extensions just as freely as VC++.)

Those tools in no way prevent you from using other tools.


Remember, business considerations trump technical concerns. Religious bigotry is a newbie waste of time. Use the tools at hand. When you are given a choice, choose the tool best suited to the job. Anything beyond that is pure nonsense.
Let's get a couple of things straight:
1. The mere fact of choosing a library for a project pretty much means that the same library will have to be used from the beginning to the end of said project, unless a library that provides the same interface and functionality exists, or a good abstraction layer exists between the library and the rest of the system, which unless it's known that the library may change, will not be implemented. This applies regardless of where the library came from.
As much as I admit that VC++ is the best if you want proprietary Microsoft libraries, if you don't want them then it's not the best.
2. No one forces you to use said libraries. If you want, you can write perfectly portable code by basing it on different libraries (for example, by using wxWidgets or Qt instead of the WinAPI, or Open*L instead of DirectX). If you choose to use libraries only available in a single platform it's your own fault, not the compiler's, just as it's your fault if you use GCC's non-standard extensions.
I would favor Code Blocks
3. Code::Blocks is an IDE, not a compiler, and it allows you to use a variety of compilers. VC++, Intel's, and Borland's being three of them.
"Hurr slavery durr."
4. Well, looks like someone has been reading a little too much anti-Microsoft propaganda. Can you provide any good examples of how using a proprietary compiler in any of the ways I detailed above would produce a vendor lock-in? Also, I've been writing an engine that compiles on both Linux and Windows for the past year, entirely in VC++. Please tell me how I've become Microsoft's slave because I would very much like to end such a relationship with them.

When you have matured enough to see past the anti-* propaganda to realize tools are tools, no matter where they come from, feel free to come back and have a serious discussion on this subject.

3. Code::Blocks is an IDE, not a compiler, and it allows you to use a variety of compilers. VC++, Intel's, and Borland's being three of them.

Yup.But we where talking about IDEs.An IDE has some kind of fancy text editor and comes, as far as I know, with a least one compiler.Code Blocks comes by default whit GCC.But the context was about IDE, not about compilers, at least that's what I understood.If I understood wrong then I apologise.

2. No one forces you to use said libraries. If you want, you can write perfectly portable code by basing it on different libraries (for example, by using wxWidgets or Qt instead of the WinAPI, or Open*L instead of DirectX). If you choose to use libraries only available in a single platform it's your own fault, not the compiler's, just as it's your fault if you use GCC's non-standard extensions.

That's what I said. :)
If you want microsoft libraries, you should Visual Studio because it comes whit them by default.
But if not, then what is the advantage of using Visual Studio.I'm sure that as an IDE, Code Blocks or Code Lite can do the job very well.
And if you are talking about compilers, again, what is the point of using the microsoft compiler instead of GCC.Is GCC that lame compared to the microsoft compiler??

Can you provide any good examples of how using a proprietary compiler in any of the ways I detailed above would produce a vendor lock-in?

Glad to. :)
If that compiler has a feature only available on that compiler and you become to depend on it, then you will be able to use only that compiler.Duh?? :)

And of course, a lot of people will say that the microsoft compiler and GCC are pretty comparable.And maybe the microsoft compiler doesn't have an extra feature not available anywhere else, so you won't be dependent of it.
Even so, you all forget that Microsoft is a constant threat to open-source software and even to commercial software.If it was as Microsoft they would be the only software company around and no one else would be aloud to even make software, let alone sell it for profit.
Microsoft is a company that is so huge because of illegal practices, just search on Google, or if you consider some of those sites propaganda, the search in a newspaper library.That should do it.

So yes, if I have a choice, I was always choose the non Microsoft variant.
But the context was about IDE, not about compilers, at least that's what I understood.If I understood wrong then I apologise.
Well, you started talking about libraries. The libraries don't come with the IDE. They come with the compiler.
But if not, then what is the advantage of using Visual Studio.
The debugger. The debugger is beyond description. gdb doesn't even come close.*
And if you are talking about compilers, again, what is the point of using the microsoft compiler instead of GCC.Is GCC that lame compared to the microsoft compiler??
They're both okay. I haven't noticed performance differences between the two. GCC has the advantage that is available on several platforms, however.**
If that compiler has a feature only available on that compiler and you become to depend on it, then you will be able to use only that compiler.
I thought we had already established that a) that's your own fault, and b) all compilers have extensions. IIRC, a good example of vendor lock-in is the Linux kernel. It uses GCC's extensions so much that it doesn't compile on anything else. Yes, vendor lock-in is vendor lock-in no matter who practices it.

Even so, you all forget that Microsoft is a constant threat to open-source software and even to commercial software.If it was as Microsoft they would be the only software company around and no one else would be aloud to even make software, let alone sell it for profit.
Microsoft is a company that is so huge because of illegal practices, just search on Google, or if you consider some of those sites propaganda, the search in a newspaper library.That should do it.
And here we go again. You know? If your goal is to lose credibility, you should make sure to say this as many times as you can, because it will never fail.
What you're doing here is the equivalent of a fallacy known as ad hominem. In an ad hominem, you attack the person, not the argument (e.g. instead of "your argument is flawed because such and such", "you're stupid"). This is the same. While we're talking about the tools, you go on a rant about how the Evil Empire (see The Jargon File) is trying to take over the world by somehow eliminating OSS. You just make yourself sound stupid when you do that. Just like you did here: http://www.cplusplus.com/forum/general/11081/ No one said anything about monopolies or anything even remotely similar; OP wanted to write something that would compile anywhere. Also, how you come to the conclusion that using an API promotes a monopoly is something I can't help but wonder. We should all uninstall Java, then, lest Sun rule us all.


*This and **this is how you properly compare two tools. Notice how I made no references to who made them? It's called impartiality. Applying the same set of rules to all elements.
Actually, I'm partial against anything with GNU in its title and I will try to find an alternative if I can, as I think the GPL is the worst thing that ever happened to OSS. That doesn't mean I don't recognize a good tool when I see one.
Last edited on
We should all uninstall Java, then, lest Sun rule us all.

+1
I dont think it makes any difference what comiler you use the stuff im working on now i usxe VS 2008 I dont like all the preset formats for forms etc but thats why theres blank project then you write the code the way you want it. The difference between us Beginers and the all knowing masters of c++ :P is just that where still new to it and getting a feel for our own style and what we can do with c++
OK, there is obviously a problem here.
I was wondering last day why such a pro Microsoft attitude, or at least anti anti Microsoft attitude.
As if the people here don't know what kind of company Microsoft is.Then I realised this:

Call it vendor lock-in, call it monopol, it's still the same expression for slavery.If you want to be a slave of Microsoft then you should use their products as much as you can and come to depend on them so much that you can't live without them.

It seems that completely unintentionally I've kind of called anyone who uses Visual Studio or other Microsoft products a slave.If that's what I did, then I sincerely apologise. That wasn't even close to what I wanted to say.And because a lot of people do use Microsoft compilers, IDEs, etc, of course they where insulted.I wanted to say one thing but it came out completely different. :)
That's completely my fault.So it seems after all that people here don't have pro Microsoft attitude necessarily, they just felt insulted.Again, I apologise if that's it.That's not what I wanted to do.At least that's the only reason that I can figure out for such an attitude.
As you can see I've kind of pushed it a little.Gee, what would be the chances of that happening in Microsoft related discussions?? :)
Anyway, as long as VS isn't the only IDE, compiler for Windows, and you do have a choice, you are NOT a slave if you use it.The same whit other Microsoft products.But if there are no alternatives, what would be the chances of that happening, especially knowing Microsoft ??

As far as the API goes, yes, sometimes it's the best, especially for working with files, folders, etc.
That was my bad again.


While we're talking about the tools, you go on a rant about how the Evil Empire (see The Jargon File) is trying to take over the world by somehow eliminating OSS. You just make yourself sound stupid when you do that.

OK.You just want tools.You don't care who made them.Right??
So if Hitler would still be alive and he made the world's greatest C++ compiler, that made incredibly fast programs and very small and supports all of the C++ features, anyway, the best compiler in the world, and he would offer it as freeware even for commercial use you would use it.Right?
I'm more than shore that you would choose a different compiler, even if it's not as good, because Hitler was a very bad person.And even thinking of him would discust you.
But it seems that when it comes to Microsoft, which is evil too, proven by history, not by me, you don't have any problem.Good for you.You are free to choose what you want.But try to understand me, that as you feel about Hitler, I feel the same way abou Microsoft.How is it different in your case than mine, I don't know.It doesn't seem different.
Anyway, you are FREE to choose what you want.

I am not you master.I only gave advice.You are an intelligent person who can think for himself.You are not my slave.I didn't gave orders, just advices.That's how I write all my answers, as advices.Because I asume that all people who red this forum are inteligent people, not zombies who can't think.So you still can do what you want. :)

As for the Evil Empire part, yes, like I said, Microsoft has proven by facts that there are no good,and even you can't disagree whit the fact that Microsoft would very much like for all of us to be there slaves and pay them lots of money.


You just make yourself sound stupid when you do that.

Doing the wright thing is never stupid.At least if the definition of wright hasn't changed.


Actually, I'm partial against anything with GNU in its title and I will try to find an alternative if I can, as I think the GPL is the worst thing that ever happened to OSS. That doesn't mean I don't recognize a good tool when I see one.

This almost made me cry.No joke.I agree whit you 100%.The GPL doesn't promote freedom at all, it only promotes open-source software, as in you can look but you can only touch if you let us look too.How is that freedom??Unfortunately the FSF has fooled hundreds of millions of people, maybe billions, that the GPL and LGPL promotes free software, even on Wikipedia, every software licensed under GPL or LGPL is presented as being free software.That's one of the biggest scams in the world!!

So as you can see, Helios, we can still agree on some things.I hope there are no hard feelings.

Well, good luck to all of you whit whatever IDE, compiler, libraries you are using !!.As long as there is a choice, you won't be slaves, but if there isn't...
Last edited on
Wait a second....

OK.You just want tools.You don't care who made them.Right??
So if Hitler would still be alive and he made the world's greatest C++ compiler, that made incredibly fast programs and very small and supports all of the C++ features, anyway, the best compiler in the world, and he would offer it as freeware even for commercial use you would use it.Right?
I'm more than shore that you would choose a different compiler, even if it's not as good, because Hitler was a very bad person.And even thinking of him would discust you.
But it seems that when it comes to Microsoft, which is evil too, proven by history, not by me, you don't have any problem


If that was the case, I would still use the Visual Reich C++ IDE/Compiler AND use the deutschland API if it got the job done!!! What a stupid comment comparing Microsoft to Hitler. You're an idiot. Regardless of the reasons you completely despise Microsoft and compare a software company to an architect of mass murder and destruction, who cares which compiler/ide anyone uses. My choice is Visual Studio simply because of the robust debugger and integerated tools. Every piece of software has its pros and cons. You pick the tools you feel will best meet your needs. I've noticed that the people that blast Microsoft and it's products typically don't really know why they hate them and it's never "Oh I just prefer code blocks" it's "I hate those damn Microsoft guys" as if they are responsible for a death in your family. Sounds like brainwashing when you don't have a legitamite reason lol.
Godwin's Law -- thread over.
Pages: 12