Post: Python or C++ first?
05-20-2016, 02:57 PM #1
WWSASZ V3
Do a barrel roll!
(adsbygoogle = window.adsbygoogle || []).push({}); So, i want to learn C++.

Some people have told me it's better if i learn Python first, rather than getting straight into C++.

Is this true? what will learning Python do to benefit my learning of C++?

also, I have no experience with coding. I'm completely new to this all.

there's this guy on YouTube called Derek Banas who explains C++ in 70 minutes, and Python in 40 mins, will this be a good place to start learning whatever you guys say is the best one for me to learn?
05-20-2016, 07:43 PM #2
Jim Halpert
Bounty hunter
Originally posted by WWSASZ
So, i want to learn C++.

Some people have told me it's better if i learn Python first, rather than getting straight into C++.

Is this true? what will learning Python do to benefit my learning of C++?

also, I have no experience with coding. I'm completely new to this all.

there's this guy on YouTube called Derek Banas who explains C++ in 70 minutes, and Python in 40 mins, will this be a good place to start learning whatever you guys say is the best one for me to learn?


Derek Banas is more of a "crash course" type deal. It's good for a review, not to learn an entire new language. And I think you should definitely go for C++ first. It's harder but a lot more important to understand. Also, it will be easier to go from C++ to Python than from Python to C++.

The following user thanked Jim Halpert for this useful post:

Specter
05-20-2016, 08:07 PM #3
WWSASZ V3
Do a barrel roll!
Originally posted by Jim
Derek Banas is more of a "crash course" type deal. It's good for a review, not to learn an entire new language. And I think you should definitely go for C++ first. It's harder but a lot more important to understand. Also, it will be easier to go from C++ to Python than from Python to C++.


Thanks, is there any websites or anything you recommend i learn it from?
05-20-2016, 08:23 PM #4
psychobe@n
Where are you?
You will not be able to program with just "Learn C++ in 70 minutes", it takes years to become a decent enough programmer at a professional level. I recommend proper reading material such as You must login or register to view this content. I am personally atm learning ASM for reverse engineering using such books and learn more from that than from a youtube video.

Do exercises and create programs that would actually benefit you. Most importantly have fun and if you get burned out, do something else and then come back to it.

The following user thanked psychobe@n for this useful post:

Specter
05-20-2016, 10:06 PM #5
WWSASZ V3
Do a barrel roll!
Originally posted by n View Post
You will not be able to program with just "Learn C++ in 70 minutes", it takes years to become a decent enough programmer at a professional level. I recommend proper reading material such as You must login or register to view this content. I am personally atm learning ASM for reverse engineering using such books and learn more from that than from a youtube video.

Do exercises and create programs that would actually benefit you. Most importantly have fun and if you get burned out, do something else and then come back to it.


I know watching a 70 minute vid isn't enough to make me learn C++ xD I meant just to get started. anyways, $50 for a book, fuck that, I'll get the online version by..... other means XD if u know what I'm saying *wink wink*
05-21-2016, 03:23 AM #6
Specter
Pro Memer
Originally posted by WWSASZ
So, i want to learn C++.

Some people have told me it's better if i learn Python first, rather than getting straight into C++.

Is this true? what will learning Python do to benefit my learning of C++?

also, I have no experience with coding. I'm completely new to this all.

there's this guy on YouTube called Derek Banas who explains C++ in 70 minutes, and Python in 40 mins, will this be a good place to start learning whatever you guys say is the best one for me to learn?


Really depends my friend, if you want to go into hardcore software dev that requires you to go close to the metal (IE. Game Engines, Operating Systems, Libraries) or needs to be cross-platform, go for C++. Python is a scripting language, and while yes it is true once you know what language it's easier to move to the next, python is a whole different ballpark. Python is mostly used by pentesters and the like because scripts and tools are quick and easy to code in Python.

I personally am not a fan of Python, I very much dislike how whitespace actually matters, making formatting your code hell. You'd swear the creator of Python got abused by semi-colons and curly brackets in his childhood or something. Another place where Python may not be the best for beginners is how it's not strongly-typed (or as Python devs like to call it, it's "Dynamically-Typed" because they want to sound cool). This means you don't learn much about the data-types you're dealing with, because you don't have to (like PHP). This can lead to annoying run-time errors that, at times, can take hours to fix. In my opinion, all languages should be strongly-typed, although it may take longer to code, it helps avoid bugs and teaches people how to know what data they're dealing with, which can also help in preventing exploitable software.

The problem with C++ and a beginner comes in, is when they use a bad resource or are taught improperly, too many times I see tutorials for C++ covering C code and such first. The other problem is, there are things like no boundary-checking. Since you're new to programming, you probably don't know what that means. In a language like Python, you will never be able to access/modify an index of an array that does not exist, in C++ this is not the case. If you have an array with 4 items, and you try to access a non-existant 5th item in C++, you can do it, however the program will hit a Segmentation Fault (accessing memory that's not allowed), and crash. This leaves programs vulnerable to exploitation and instability. C++ lets you do a lot of things, it gives you a lot of control, but this also makes it easier for you to destabilize your program or even your entire system if you're not careful, but this control is also why it's so widely used and deservedly so.

TLAwesome faceR: If you want to go into software dev, I'd recommend C++ right from the start. The only reason people see C++ as scary is because many courses actually teach C for the first few days, not C++ (stupidly enough). It also takes a lot more time and effort to learn, but if you put the time and effort in, it can be very rewarding. After this you can move into Python and actually, at least know what's going on at the lower-level (Python was actually built off of C, and extensions can be written in C/C++).

If you want to go into something like pentesting or writing scripts/tools, start out with Python. Then, maybe later you could go over to C++, but if you're coming from Python, the semi-colons and curly braces and general syntax will probably scare you.
Last edited by Specter ; 05-21-2016 at 03:30 AM.

The following user thanked Specter for this useful post:

Jim Halpert
05-21-2016, 09:27 AM #7
WWSASZ V3
Do a barrel roll!
Originally posted by F View Post
Really depends my friend, if you want to go into hardcore software dev that requires you to go close to the metal (IE. Game Engines, Operating Systems, Libraries) or needs to be cross-platform, go for C++. Python is a scripting language, and while yes it is true once you know what language it's easier to move to the next, python is a whole different ballpark. Python is mostly used by pentesters and the like because scripts and tools are quick and easy to code in Python.

I personally am not a fan of Python, I very much dislike how whitespace actually matters, making formatting your code hell. You'd swear the creator of Python got abused by semi-colons and curly brackets in his childhood or something. Another place where Python may not be the best for beginners is how it's not strongly-typed (or as Python devs like to call it, it's "Dynamically-Typed" because they want to sound cool). This means you don't learn much about the data-types you're dealing with, because you don't have to (like PHP). This can lead to annoying run-time errors that, at times, can take hours to fix. In my opinion, all languages should be strongly-typed, although it may take longer to code, it helps avoid bugs and teaches people how to know what data they're dealing with, which can also help in preventing exploitable software.

The problem with C++ and a beginner comes in, is when they use a bad resource or are taught improperly, too many times I see tutorials for C++ covering C code and such first. The other problem is, there are things like no boundary-checking. Since you're new to programming, you probably don't know what that means. In a language like Python, you will never be able to access/modify an index of an array that does not exist, in C++ this is not the case. If you have an array with 4 items, and you try to access a non-existant 5th item in C++, you can do it, however the program will hit a Segmentation Fault (accessing memory that's not allowed), and crash. This leaves programs vulnerable to exploitation and instability. C++ lets you do a lot of things, it gives you a lot of control, but this also makes it easier for you to destabilize your program or even your entire system if you're not careful, but this control is also why it's so widely used and deservedly so.

TLAwesome faceR: If you want to go into software dev, I'd recommend C++ right from the start. The only reason people see C++ as scary is because many courses actually teach C for the first few days, not C++ (stupidly enough). It also takes a lot more time and effort to learn, but if you put the time and effort in, it can be very rewarding. After this you can move into Python and actually, at least know what's going on at the lower-level (Python was actually built off of C, and extensions can be written in C/C++).

If you want to go into something like pentesting or writing scripts/tools, start out with Python. Then, maybe later you could go over to C++, but if you're coming from Python, the semi-colons and curly braces and general syntax will probably scare you.


Thanks, I'll get straight into learning C++ then.
05-29-2016, 01:36 AM #8
EGA-Scarface
PS4 Trophy Seller
I'm familiar with a lot of programming languages but not Python yet although I hear great things about it. C++ is a great standard language to learn if you are looking for languages to learn. My standard in school was JAVA but it is very close to C++ so a lot of basic concepts would apply across several different languages.

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo