I'm pretty good with Java but I would like to learn to create interesting things with C++ or C. At the moment I have to ask: Why do all of these IDE's and libraries make it so damn difficult to set up an environment for programming? Personally I believe programming should be about writing code instead of managing an IDE, an OS, and preparing the IDE so code can be written!

When I load up VS 2013 I can only feel mind boggled by the sheer mountain of options, a small percentage of which I actually know what to do with.

Microsoft likes to bury important options beneath menu's or in general provide 5 different ways to do one thing.

I tried CodeBlocks before I switched to VS. I just couldn't get Boost to work. The worst part of all of this is just how much time it takes to get everything set up. I set out to do some C++ programming in my spare time tonight, that was about two hours ago. First the internet goes down, and after that it was pretty congested when it came back up. I downloaded Boost. I thought it might help me to make more interesting things. It took ages for windows to unpack the .zip file! It even locked up a few times!!

I managed to completely unzip it* at the same time windows was doing that* when I tried 7-Zip. There goes fifteen minutes!

Then I downloaded CodeBlocks. This is where it got really frustrating. To use Boost, you need to find some tutorial on using it with CodeBlocks. I managed that. I tried it. Then I found out I needed to download something called boostJam which would build the libraries for me. As it turns out that executable does nothing afaik, it just opens a command prompt for half a second and closes. Reading the fine print on the tutorial, it said you need to build the boostJam application instead. Which is because BoostJam does not work any more.

At this point I'm about to give up. This is ridiculous! Is there an easier way to get started C++ programming with cool stuff like graphics (even 2d) or GUI's or something?!

Edited 11 Months Ago by Curious Gorge: Changed title

yeahh...you dont wanna do GUI's with c++ lol. c# is the one for UI's...

C++ is mainly used for consoles. so commands in and out pretty much

VS is a good IDE honestly. its powerful, and you just need to create several projects and you'll get the hang of it quickly.

Some programmers like to stay in total control. So they update the PATH variable and work with makefiles, write their code in NotePad or use vi, compile and debug via commands that look like strange incantations etc. etc. I did that. In the previous century. I now use the Visual Studio IDE and program mainly in C# (which looks somewhat like Java btw.) If I use 25% of the VS menu commands that will be a lot. Yet I made windows applications filled with buttons, textboxes and where I draw circles, squares etc. All this in less than an hour! That's what I like, with the least effort come to a result and if I would feel the urge to peek and poke around in memory addresses I could still do that.
If I would like it, I can program in VB.NET, C++, F# and even Python, all in the same IDE. Perhaps other IDEs have similar options I don’t know, but I'm in with catastrophe2 onthis one.

I'm not a professional programmer by any stretch of the imagination so here are my novice thoughts for what they are worth. I've played around with VS a few years ago but I found it's vast array of options daunting and I also realized that it makes you dumber when it comes to understanding what's actually going on from source code to binary. I eventually had to slow way down on my programming practice and learn the Linux OS which is a decision I don't regret. After getting a decent grasp of Linux I began looking for VS like equivalent for Linux (CodeBlocks, Eclipse, etc...) and finally realized that that's not the Linux way, not to mention they also suffered from the same problems that plagued VS. So I started learning the Linux tools of the trade and I took a udemy course on VIM, learned a little gcc, g++, & gdb. I haven't looked back and if you follow the same path I don't think you'll miss microshaft.

@lewashby
Happy for you you found your way. :)
But for me it's like driving a car. I know under the hood there's an engine with cylinders etc. But I don't like to build an engine every time I start my car.
Same with programming. Visual Studio is doing that for me and I can still look at that code to see how it works, but I don't have to type it in every time I start a new program. You could call me lazy, but still knowing what I'm doing when I drag a new button on my window design window.

Also with VS2015 the realtime syntax suggestion/checking(Intellisense) for c++ is quite good. Once you get used to it it's hard to go back.

Edited 11 Months Ago by tinstaafl

If you want to program for MS Windows, and you want a desktop application that's not using something like OpenGL or DirectX, then you really don't want C++. The framework for Windows UI apps in C++ is MFC, which...I don't even want to go there, the nightmares never stop... However, C# is a good intermediate language. Like already said, it's similar in syntax to Java with subtle differences but you should pick those up fine.

If you want to write automation utilities, services, underlying libraries where performance is more important than productivity, C++ is the right tool for the job. If you want to program for Linux, again C++ is probably the wrong choice (python and GTK+ is probably the right choice). Don't use a programming language because you think it's more powerful, or has better control unless you need it. Nowadays there are so many options it's more about using the right tool for the job.

Edited 11 Months Ago by Ketsuekiame

WinAPI is a nightmare. Boost is also a nightmare of a library. It's super large!
Most of the time you don't want certain parts of boost. Secondly, most of boost is actually in C++11, C++14, C++17.

I haven't found a use for boost since.. Unless dealing with shared memory and lots of other streams, you can pretty much get away without using boost.

Dragging and dropping buttons? It seems like you're talking about Microsoft's C++.Net? Either way, Codeblocks on Windows is the most simplistic IDE. Even DevC++ which seems to have been revived is a good alternative.

But again, Mingw-Builds + Codeblocks is what I use. On OSX I just use XCode.

This article has been dead for over six months. Start a new discussion instead.