Jump to content

Smart to start with C++?

CookieTheMonsta

Hello, well I would like to learn programming, so I want to start somewhere, and on my first year of college we started with C. I never did any programming ever, so I didn't really get it, it was just boring haha (probably teachers fault). So I would like to do it on my own, and my question is should I start with C++? Or is it too hard, for a total newbie. I would use lynda.com videos to start and probably finish the course, just don't want to throw money on it, and then realize it was a waste.

[spoiler= My "gaming rig" ]

  • CPU: Intel i5 2500
  • Motherboard: Asrock B75M-GL R2.0
  • RAM: 1x4 GB 1333 Mhz Kingston, 1x4 GB 1333 Mhz Transcend
  • GPU: MSI GTX 770 Gaming OC 2 GB
  • Case: Zalman Z3 plus white
  • Storage: WD Blue 500 GB, WD Black 1 TB
  • PSU: LC POWER 650W ATX v2.3 80+ bronze
  • Display(s): Acer V223HQ
  • Cooling: Scythe SCKTN-3000
  • Keyboard: CoolerMaster QuickFire TK MX blue
  • Mouse: Sharkoon Fireglider Laser Mouse
Link to comment
Share on other sites

Link to post
Share on other sites

Wait, so you took a course in college that taught C but didn't actually code anything during that course? That doesn't sound right...

 

Anyway, sure you can start with C++. It can be a tough language for someone with no programming experience, but certainly possible. I'm confused as to how much experience you got from that college course, but if you got some, I would think you could pick up C++ easier than a complete beginner.

Link to comment
Share on other sites

Link to post
Share on other sites

I've heard that C# is a really good language to start with

Don't forget to Like the things you like!

Link to comment
Share on other sites

Link to post
Share on other sites

Wait, so you took a course in college that taught C but didn't actually code anything during that course? That doesn't sound right...

 

Anyway, sure you can start with C++. It can be a tough language for someone with no programming experience, but certainly possible. I'm confused as to how much experience you got from that college course, but if you got some, I would think you could pick up C++ easier than a complete beginner.

It's not that we didn't code anything, but it was basic things, as we went on forward I lost all motivation and stopped working on it because it was dull and I was not interested in that time, now that I am, it's really late to ask him something basic, since they moved on greatly to structures and that type of stuff, which I don't understand now. So I would like to learn it on my own, and be prepared for next year, since I have to attend it again.

[spoiler= My "gaming rig" ]

  • CPU: Intel i5 2500
  • Motherboard: Asrock B75M-GL R2.0
  • RAM: 1x4 GB 1333 Mhz Kingston, 1x4 GB 1333 Mhz Transcend
  • GPU: MSI GTX 770 Gaming OC 2 GB
  • Case: Zalman Z3 plus white
  • Storage: WD Blue 500 GB, WD Black 1 TB
  • PSU: LC POWER 650W ATX v2.3 80+ bronze
  • Display(s): Acer V223HQ
  • Cooling: Scythe SCKTN-3000
  • Keyboard: CoolerMaster QuickFire TK MX blue
  • Mouse: Sharkoon Fireglider Laser Mouse
Link to comment
Share on other sites

Link to post
Share on other sites

It's not that we didn't code anything, but it was basic things, as we went on forward I lost all motivation and stopped working on it because it was dull and I was not interested in that time, now that I am, it's really late to ask him something basic, since they moved on greatly to structures and that type of stuff, which I don't understand now. So I would like to learn it on my own, and be prepared for next year, since I have to attend it again.

 

I see. You can certainly learn a different language like C++ if you really want, but if you're preparing for a class in C, then maybe you should just work on improving with C. Basic programming classes aren't interesting for everyone, so play around with the language yourself. Code your own programs for fun and explore the language as you're learning.

Link to comment
Share on other sites

Link to post
Share on other sites

While you can start with C++, it would be easier to start with C#.

Link to comment
Share on other sites

Link to post
Share on other sites

Java can also be nice, especially to understand OOP.

 

Java and C# are quite similar in how they work, ofcourse the language is a little bit different, but if you can java, then c# will be really easy.

Link to comment
Share on other sites

Link to post
Share on other sites

Java can also be nice, especially to understand OOP.

 

Java and C# are quite similar in how they work, ofcourse the language is a little bit different, but if you can java, then c# will be really easy.

Starting out and going OOP is not the way it goes.

C# is what I'd suggest.

Link to comment
Share on other sites

Link to post
Share on other sites

It's not that we didn't code anything, but it was basic things, as we went on forward I lost all motivation and stopped working on it because it was dull and I was not interested in that time, now that I am, it's really late to ask him something basic, since they moved on greatly to structures and that type of stuff, which I don't understand now. So I would like to learn it on my own, and be prepared for next year, since I have to attend it again.

 

If C bored you, you shouldn't even look at C++.

 

 

Starting out and going OOP is not the way it goes.

C# is what I'd suggest.

 

and C# isn't an OOP language .... *facepalm*

also the syntax of c# and Java is quite similar.

Mini-Desktop: NCASE M1 Build Log
Mini-Server: M350 Build Log

Link to comment
Share on other sites

Link to post
Share on other sites

If C bored you, you shouldn't even look at C++.

 

 

 

and C# isn't an OOP language .... *facepalm*

also the syntax of c# and Java is quite similar.

I never stated OOP is a language, I'm not retarded.

Starting out with Java and going OOP from the beginning is what's not smart to do.

Starting out in C# is better than Java even tho the syntax is similar.

Link to comment
Share on other sites

Link to post
Share on other sites

I never stated OOP is a language, I'm not retarded.

Starting out with Java and going OOP from the beginning is what's not smart to do.

Starting out in C# is better than Java even tho the syntax is similar.

 

C# IS AN OOPL

 

JAVA IS AN OOPL

 

 

 

C IS NOT AN OOPL

Mini-Desktop: NCASE M1 Build Log
Mini-Server: M350 Build Log

Link to comment
Share on other sites

Link to post
Share on other sites

C# IS AN OOPL

 

JAVA IS AN OOPL

 

 

 

C IS NOT AN OOPL

You are retarded, nevermind.

Link to comment
Share on other sites

Link to post
Share on other sites

You are retarded, nevermind.

 

I am retarded? :D

 

"Starting out with Java and going OOP from the beginning is what's not smart to do.

Starting out in C# is better than Java even tho the syntax is similar."

 

The syntax is practically the same and C# is pretty much as object oriented as Java.

So why is C# so much better to start out with than Java?

Mini-Desktop: NCASE M1 Build Log
Mini-Server: M350 Build Log

Link to comment
Share on other sites

Link to post
Share on other sites

I am retarded? :D

 

"Starting out with Java and going OOP from the beginning is what's not smart to do.

Starting out in C# is better than Java even tho the syntax is similar."

 

The syntax is practically the same and C# is pretty much as object oriented as Java.

So why is C# so much better to start out with than Java?

Java is ancient. Not worth to learn.

Link to comment
Share on other sites

Link to post
Share on other sites

Starting with any language is fine (but Python is the best cough cough) as long as you put in the effort. But whatever you pick

Java is ancient. Not worth to learn.

don't listen to this guy.

1474412270.2748842

Link to comment
Share on other sites

Link to post
Share on other sites

Starting with any language is fine (but Python is the best cough cough) as long as you put in the effort. But whatever you pick

don't listen to this guy.

Well the more accurate thing is java is used in backends and specialized multiplatform development. I havent see working java plugin code in years.

Everything you need to know about AMD cpus in one simple post.  Christian Member 

Wii u, ps3(2 usb fat),ps4

Iphone 6 64gb and surface RT

Hp DL380 G5 with one E5345 and bunch of hot swappable hdds in raid 5 from when i got it. intend to run xen server on it

Apple Power Macintosh G5 2.0 DP (PCI-X) with notebook hdd i had lying around 4GB of ram

TOSHIBA Satellite P850 with Core i7-3610QM,8gb of ram,default 750hdd has dual screens via a external display as main and laptop display as second running windows 10

MacBookPro11,3:I7-4870HQ, 512gb ssd,16gb of memory

Link to comment
Share on other sites

Link to post
Share on other sites

If C bored you, you shouldn't even look at C++.

 

 

 

and C# isn't an OOP language .... *facepalm*

 

There's a lot, lot more to C++ than C (hell, that could even be why they called it C++). C++ is much more interesting. "If C bored you, you shouldn't even look at C++" is absolute BS.

 

And C# is very object oriented I'll have you know (note: I am not advocating .NET in any way). As an example, C# doesn't even allow global functions. If you still don't agree with me, then Wikipedia doesn't agree with you.

 

To OP:

I would highly recommend starting with C++. I know C, C++, C# .NET, VB .NET, Java (which I am ashamed of), JavaScript, PHP, Python, x86 Assembly. If I had to choose one to learn, it would without a shadow of a doubt be C++.

 

C++ (IMO) is the perfect mix of modern OOP, raw performance, and productivity, and is suited to a wide range of applications.

 

Even if you intend to be mainly using higher level languages, I would still recommend C++ for the following reason: it teaches you how computers work. You could argue that Assembly would be better for that; and yes it would be. However using such a language isn't practical today.

 

Here's a summary of some of the most popular programming languages:

 

  • If you want to reimplement the universe (along with the infinite parallel universes, or 'the multiverse') in the most lines of code possible, use Assembly.
  • If you think you know better then the compiler, use C.
  • If you don't think you know better than the compiler, use C++.
  • If you are allergic to cleaning up garbage you create, use Java.
  • If you want a function provided for everything you could possibly do, use PHP.
  • If you think "IEnterpriseAuthenticationProviderFactoryManagementFactory" is a reasonable name for a class, use C# .NET
  • If you like nesting functions within functions within variables within functions within variables, use JavaScript
Link to comment
Share on other sites

Link to post
Share on other sites

C++ is the perfect mix of modern OOP, raw performance, and productivity, and is suited to a wide range of applications.

 

No it's not. This is a pointless, subjective statement. No language is the "perfect mix" of anything. Requirements differ based on different projects and C++ isn't always the best tool for the job.

 

 

Here's a summary of some of the most popular programming languages:

 

  • If you want to reimplement the universe (along with the infinite parallel universes, or 'the multiverse') in the most lines of code possible, use Assembly.
  • If you think you know better then the compiler, use C.
  • If you don't think you know better than the compiler, use C++.
  • If you are allergic to cleaning up garbage you create, use Java.
  • If you want a function provided for everything you could possibly do, use PHP.
  • If you think "IEnterpriseAuthenticationProviderFactoryManagementFactory" is a reasonable name for a class, use C# .NET
  • If you like nesting functions within functions within variables within functions within variables, use JavaScript

 

 

This is hardly a summary. It's useless negativity towards languages you don't like.

Link to comment
Share on other sites

Link to post
Share on other sites

 

This is hardly a summary. It's useless negativity towards languages you don't like.

In fairness as a fan of c#, his comment about c# is true and annoying, PHP is mostly whats claimed even if the naming for the api is confusing and awful(i hate phps messy inconsistent naming of base apis).

Everything you need to know about AMD cpus in one simple post.  Christian Member 

Wii u, ps3(2 usb fat),ps4

Iphone 6 64gb and surface RT

Hp DL380 G5 with one E5345 and bunch of hot swappable hdds in raid 5 from when i got it. intend to run xen server on it

Apple Power Macintosh G5 2.0 DP (PCI-X) with notebook hdd i had lying around 4GB of ram

TOSHIBA Satellite P850 with Core i7-3610QM,8gb of ram,default 750hdd has dual screens via a external display as main and laptop display as second running windows 10

MacBookPro11,3:I7-4870HQ, 512gb ssd,16gb of memory

Link to comment
Share on other sites

Link to post
Share on other sites

I've heard that C# is a really good language to start with

 

I can confirm this. I have been working as a software developer for 8 years now and also started with C# (after HTML, which I don't consider a programming language).

The great advantage of C# is, that the .NET Framework that lies behind it, does a lot of work for you. You don't have to worry about garbage collecting, pointers, ...

Basically its a very easy to use and understand language and has the best IDE (Visual Studio) in my opinion.

 

C++ is much complexer and you need to understand much more of low-level stuff. I would really advise you to start with C# and when you understand that, you can move on to C++ which goes "deeper".

 

EDIT:

However it always depends on what your goal is. Do you want to create business applications, games, or program robotoers?

For anything hardware related you obviously will need C++ or even C, as they are low-level languages that are much more complex, but are the only that work reliable for doing this.

For games and business applications I would suggest you to do it in C#. It's much less complex and results in much less code, leading to easier readability of the code and easier maintenance. Also you only need a fraction of the time to code something as opposed to C++.

 

Especially in the Indie-Game Industry C# in combination with XNA (or MonoGame) has become one of the most used languages, as it really simplifies a lot of stuff.

My beast (PC):

  • ASUS R.O.G. Rampage IV Black Edition, X79, LGA2011, AC4
  • 2x ASUS Fury X
  • Intel Core i7 4930K BOX (LGA 2011, 3.40GHz) OC @4.4GHz
  • Corsair H100i, CPU Cooler (240mm)
  • Samsung SSD 830 Series (512GB)
  • Samsung SSD 850 Pro 1TB
  • Western Digital 512GB HDD
  • TridentX 4x 8GB 2400MHz
  • Corsair Obsidian 900D

Link to comment
Share on other sites

Link to post
Share on other sites

There's a lot, lot more to C++ than C (hell, that could even be why they called it C++).

o rly? a lot more stuff that only is frustrating to a new programmer.

heck most of the stuff you can do with c++, you can't (efficient) with other languages is not important anymore in most scenarios today anyway ...

C++ is much more interesting.

to you maybe.

"If C bored you, you shouldn't even look at C++" is absolute BS.

No it isn't. It just isn't your narrow opinion.

And C# is very object oriented I'll have you know (note: I am not advocating .NET in any way). As an example, C# doesn't even allow global functions. If you still don't agree with me, then Wikipedia doesn't agree with you.

no shit it is ...

 

To OP:

I would highly recommend starting with C++. I know C, C++, C# .NET, VB .NET, Java (which I am ashamed of), JavaScript, PHP, Python, x86 Assembly. If I had to choose one to learn, it would without a shadow of a doubt be C++.

because c++ is fucking cool, right?

C++ is the perfect mix of modern OOP, raw performance, and productivity, and is suited to a wide range of applications.

modern OOP :D ... more like old school OOP. nothing mdoern about C++.

performance ... in most cases Java will match C++.

productivity ... yeah doing unecessary or overcomplicated stuff/routines (compared to other languages) is really productive.

  • If you want to reimplement the universe (along with the infinite parallel universes, or 'the multiverse') in the most lines of code possible, use Assembly.

why stop at assembly? why not redo an whole architecutre. get your solder iron ready.

_____

the only reason to learn c++ nowadays is if you really need to squeeze out every bit of performance AND want an oopl. raw performancewise there are other/better options. Or you need low level hardware access or absolut memory control.

Mini-Desktop: NCASE M1 Build Log
Mini-Server: M350 Build Log

Link to comment
Share on other sites

Link to post
Share on other sites

I agree with MrSuperb.

 

To start C# is the best choice in my opinion.

If you then want to go "deeper" and actually understand how the low-level stuff of the code you write actually works, you can still take a look at C, C++ and Assembler.

There is a reason, why Indie-game developers choose C# nowadays and the most wanted programmer for business applications is a C# / .Net developer

 

EDIT:

By the way, I found that people that try to defend an older language (like C++) to newer one, are always the kind of people that hate changes. They can't stand the fact that what they are doing might have become outdated. And that is what a good programmer is in my opinion: Open to new technology and a person that can adapt to new techniques fast.

Also keep in mind that programming is an engineer discipline. Which means you have to stay as cost effective as possible. And that is where C# shines.

My beast (PC):

  • ASUS R.O.G. Rampage IV Black Edition, X79, LGA2011, AC4
  • 2x ASUS Fury X
  • Intel Core i7 4930K BOX (LGA 2011, 3.40GHz) OC @4.4GHz
  • Corsair H100i, CPU Cooler (240mm)
  • Samsung SSD 830 Series (512GB)
  • Samsung SSD 850 Pro 1TB
  • Western Digital 512GB HDD
  • TridentX 4x 8GB 2400MHz
  • Corsair Obsidian 900D

Link to comment
Share on other sites

Link to post
Share on other sites

In fairness as a fan of c#, his comment about c# is true and annoying, PHP is mostly whats claimed even if the naming for the api is confusing and awful(i hate phps messy inconsistent naming of base apis).

 

Bad naming isn't unique to any one language. Any API can included poorly named classes, functions, etc. Not everyone likes the same naming conventions either. Some people like the verbose naming in .NET and others don't.

 

Large API's also aren't a bad thing. If a function exists for what you want to do then you can either choose to use it or write your own code. That's a really great choice to get to make. If an API is poorly designed, well that's a different issue, but it doesn't automatically mean it isn't useful.

Link to comment
Share on other sites

Link to post
Share on other sites

 

There's a lot, lot more to C++ than C (hell, that could even be why they called it C++). C++ is much more interesting. "If C bored you, you shouldn't even look at C++" is absolute BS.

 

And C# is very object oriented I'll have you know (note: I am not advocating .NET in any way). As an example, C# doesn't even allow global functions. If you still don't agree with me, then Wikipedia doesn't agree with you.

 

To OP:

I would highly recommend starting with C++. I know C, C++, C# .NET, VB .NET, Java (which I am ashamed of), JavaScript, PHP, Python, x86 Assembly. If I had to choose one to learn, it would without a shadow of a doubt be C++.

 

C++ (IMO) is the perfect mix of modern OOP, raw performance, and productivity, and is suited to a wide range of applications.

 

Even if you intend to be mainly using higher level languages, I would still recommend C++ for the following reason: it teaches you how computers work. You could argue that Assembly would be better for that; and yes it would be. However using such a language isn't practical today.

 

Here's a summary of some of the most popular programming languages:

 

  • If you want to reimplement the universe (along with the infinite parallel universes, or 'the multiverse') in the most lines of code possible, use Assembly.
  • If you think you know better then the compiler, use C.
  • If you don't think you know better than the compiler, use C++.
  • If you are allergic to cleaning up garbage you create, use Java.
  • If you want a function provided for everything you could possibly do, use PHP.
  • If you think "IEnterpriseAuthenticationProviderFactoryManagementFactory" is a reasonable name for a class, use C# .NET
  • If you like nesting functions within functions within variables within functions within variables, use JavaScript

 

 

This is biased as fuck Lol

Link to comment
Share on other sites

Link to post
Share on other sites

Bad naming isn't unique to any one language. Any API can included poorly named classes, functions, etc. Not everyone likes the same naming conventions either. Some people like the verbose naming in .NET and others don't.

 

Large API's also aren't a bad thing. If a function exists for what you want to do then you can either choose to use it or write your own code. That's a really great choice to get to make. If an API is poorly designed, well that's a different issue, but it doesn't automatically mean it isn't useful.

Agreed i have no quarrel with large apis, just ones huge amounts of poor naming, duplicates, and legacy apis which should never be touched but were stupidly left in(PHP). While .net is very verbose and some of it is a bit long winded, i do agree it is clear what it does and you normally use copy and paste, or autocomplete on them anyway.

Everything you need to know about AMD cpus in one simple post.  Christian Member 

Wii u, ps3(2 usb fat),ps4

Iphone 6 64gb and surface RT

Hp DL380 G5 with one E5345 and bunch of hot swappable hdds in raid 5 from when i got it. intend to run xen server on it

Apple Power Macintosh G5 2.0 DP (PCI-X) with notebook hdd i had lying around 4GB of ram

TOSHIBA Satellite P850 with Core i7-3610QM,8gb of ram,default 750hdd has dual screens via a external display as main and laptop display as second running windows 10

MacBookPro11,3:I7-4870HQ, 512gb ssd,16gb of memory

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×