Planning to learn C++

wd56

Commander
Jun 27, 2017
8
32
100
RSI Handle
wd56
Hi guys!

Hope everyone is doing well.

I come from a Finance/Accounting background and lately I've been looking for something to learn, just for fun and my own knowledge.

I was thinking about learning C++ but obviously have no idea where to begin. My knowledge with programming involves copy pasting excel macros from google. So I would say 0.

Any thoughts, recommendations would be highly appreciated. Thanks!!
 

maynard

Space Marshal
May 20, 2014
5,124
20,290
2,995
RSI Handle
mgk
there are more straightforward languages you could start with

C++ has its strengths for certain applications but its complexity just adds cognitive load for a beginner

you want to learn the basic program control methods (loops, conditionals, etc) and algorithms for working with data first

Python is increasingly being taught as a first language at a lot of schools
 

Sirus7264

Space Marshal
Donor
Apr 5, 2017
3,364
11,195
2,800
RSI Handle
Sirus7264
Hi guys!

Hope everyone is doing well.

I come from a Finance/Accounting background and lately I've been looking for something to learn, just for fun and my own knowledge.

I was thinking about learning C++ but obviously have no idea where to begin. My knowledge with programming involves copy pasting excel macros from google. So I would say 0.

Any thoughts, recommendations would be highly appreciated. Thanks!!
c++ is difficult if you have no background programming background. I would take a class and start doing some basic tutorials on youtube. most things are already prewritten with visual programming editors so maybe try one of those first to get your feet dirty.
 
  • Like
Reactions: wd56 and BluePilote

Stevetank

Lead Aurora Theorycrafter
Donor
Jun 3, 2016
3,249
14,916
2,900
RSI Handle
Stevetank
  • Like
Reactions: wd56 and BluePilote

Snakey

Grand Admiral
Donor
Jul 15, 2015
1,480
3,626
1,150
RSI Handle
SNKYGMG
Don't do it!
Save yourself some time first and start with python because as my legendary says "if you can learn python you can learn any language".
First of,
  • It's very simple
  • Much more useful
  • Can basically do anything if you have a raspberry pi
  • Helps you bridge to other languages such as JavaScript
  • Loads of great online classes and documentation (avoid stack overflow as much as possible!)
  • Supported by a great number of external libraries that make saving data to files and re-aqqiring it as easy as 123, randomise integers, helps with making a GUI, allows you it import every single ascii symbol etc. Basically if you need something not in the vanilla version; there's a library for it
However it's one downside when compared to C++ is that it isn't a compiler language, it's interpreted. Either way, you can literally do anything with python, even make servers, so knock your self out!
 

Xist

Moderator
Staff member
Officer
Donor
Jan 16, 2016
903
2,654
1,650
RSI Handle
Xist
As a professional developer who knows many languages:

Why do you want to learn C++ specifically?

Don't get me wrong, I love the language. I use it whenever the project calls for it.

One of the important things about software development is you should always use whatever language is best for the job.

C++ is amazing when you need absolute efficiency in memory and CPU usage. It's also very, very easy to fuck shit up and break your product.

For that reason, it's a bad language to choose when learning programming.

Better languages include JavaScript, which is one of the most widely used languages today for every platform imaginable, Python which is widespread but only really used in pure server environments, C# which is similar to C++ but much easier to manage and is used to develop many games, and many others.

My advice to you is to pick a project. What do you want to build? Pick something that's not very complicated. Then choose the language that's right for that project.

As you learn, you finish your project, start another one. You may keep the same language, you may change.

At this point in my career I know more than 23 different languages and protocols better than the back of my hand. Few use cases come to mind that obviously scream C++.

That being said, Star Citizen uses CryEngine, which requires mastery of C++. So it definitely does have its uses. :)
 

Sirus7264

Space Marshal
Donor
Apr 5, 2017
3,364
11,195
2,800
RSI Handle
Sirus7264
As a professional developer who knows many languages:

Why do you want to learn C++ specifically?

Don't get me wrong, I love the language. I use it whenever the project calls for it.

One of the important things about software development is you should always use whatever language is best for the job.

C++ is amazing when you need absolute efficiency in memory and CPU usage. It's also very, very easy to fuck shit up and break your product.

For that reason, it's a bad language to choose when learning programming.

Better languages include JavaScript, which is one of the most widely used languages today for every platform imaginable, Python which is widespread but only really used in pure server environments, C# which is similar to C++ but much easier to manage and is used to develop many games, and many others.

My advice to you is to pick a project. What do you want to build? Pick something that's not very complicated. Then choose the language that's right for that project.

As you learn, you finish your project, start another one. You may keep the same language, you may change.

At this point in my career I know more than 23 different languages and protocols better than the back of my hand. Few use cases come to mind that obviously scream C++.

That being said, Star Citizen uses CryEngine, which requires mastery of C++. So it definitely does have its uses. :slight_smile:
I'm not to sure Java will be of much use in the near future as it has a lot of security risks and is blocked by most companies so on so forth(some people at home to but most don't know a thing about IT security). Unless Java can fix it's issues maybe something else might be better to start with. Don't get me wrong Java is fun and is very versatile(and useful) I enjoyed it back in the day when I played around with it while building websites.(can make some great tools with it)
 
  • Like
Reactions: wd56 and BluePilote

Xist

Moderator
Staff member
Officer
Donor
Jan 16, 2016
903
2,654
1,650
RSI Handle
Xist
I'm not to sure Java will be of much use in the near future as it has a lot of security risks and is blocked by most companies so on so forth(some people at home to but most don't know a thing about IT security). Unless Java can fix it's issues maybe something else might be better to start with. Don't get me wrong Java is fun and is very versatile(and useful) I enjoyed it back in the day when I played around with it while building websites.(can make some great tools with it)
Billions of devices use Java, including most significantly Android devices, but in general I don't find it very useful compared to other languages.

My recommendation was for JavaScript though, not for Java.

JavaScript is very, very easy to learn and runs on almost every device everywhere. It's nowhere near as memory and CPU efficient as C++, but it's far easier to use and learn with.
 

Sirus7264

Space Marshal
Donor
Apr 5, 2017
3,364
11,195
2,800
RSI Handle
Sirus7264
Billions of devices use Java, including most significantly Android devices, but in general I don't find it very useful compared to other languages.

My recommendation was for JavaScript though, not for Java.

JavaScript is very, very easy to learn and runs on almost every device everywhere. It's nowhere near as memory and CPU efficient as C++, but it's far easier to use and learn with.
Yeah I agree javascript is a fantastic way to take as a first step into programming. but using it as a primary way to write apps i'd try to start moving away from it. Here is a good post which discusses the risks of javascript. If someone were to modify the code of your javascript on your website or program it could affect your credibility as a programmer and people will be less wanting to use your app because someone got into it and modified it for malicious reasons. There are terrible people out there that will do anything they can to hurt others on the internet for money or whatever other reason.
https://security.stackexchange.com/questions/110850/what-are-the-exact-security-risks-of-having-javascript-enabled

So yeah for learning 100% javascript is the way to start or try out W2 schools and build a website from scratch the hard way.
https://www.w3schools.com/

Later if you are feeling you want to try something a bit harder back in the day I did some work on a project called "Darkstar project" which was a group of online guys who were writing all the scripts for everything in the game for FFXI. I don't suggest playing around with this till you are familiar as you will want to pull out your hairs. There are a lot of prewritten scripts and examples to play around with and learn from so you understand scripting basics and how they connect with an engine. You also get the engine itself that you can mess with tweek and try to learn how it works. This will give you a good understanding on how engines actually work and how they call on scripts to do things within a program. I'm not sure if there is anyone who still works on that project anymore as I haven't touched it in years.
 
  • Like
Reactions: wd56 and BluePilote

Bruce

Grand Admiral
May 23, 2017
520
1,889
1,350
RSI Handle
ABAP
As much as I admire both - people interested in learning something new, and people interested in C++ ... I wouldn't recommend learning C++ w/o clear goal in mind, as in general it isn't something that will play well with financial/accounting backgroung. I'd rather suggest learning something along the line of python or R with intention to use it on top of spark or similar platform.
 
  • Like
Reactions: wd56
Forgot your password?