Author Topic: Learning C++ - Is there no better way?  (Read 8126 times)

pdub2520

  • *
  • Posts: 19
  • Learning
    • View Profile
Learning C++ - Is there no better way?
« on: 2011-08-27 03:12:41 »
Currently I am learning C++. (Much slower than anticipated sadly.)

Now my predicament is that I'm learning via Youtube, and the guy is a bit slower than I would prefer.  Getting off track, and sometimes spending his time in the video trying to figure out what happens if he does something that, I'm assuming, his teacher told him not to do. Personally, I'm the kind of person who learns by doing rather than watching or reading.

I have a few reasons for my desire to learn programming in general. I want to be able to learn a good bit before I get into college in January, to see if that is something that I would love to pursue in a possible career situation. I want to be able to see if learning could push me along the right path to bringing my own ideas to life for myself and others. And possibly to be able to help others with their projects in the future.

Back to the point. Can anyone help me with possibly some materials that they used to help them along? Be it a video a tutorial (preferably with exercises and the such) or maybe even very helpful books?

As an added bonus! Since your Dying to know what channel on Youtube I'm using, I'll give the link, so you can review one or two videos, to see if maybe its something I should stick with, or Remove from my bookmarks.

http://www.youtube.com/user/iam4eversmart88

As always any and all responses are appreciated. ( And I do enjoy your creative insults)

sithlord48

  • *
  • Posts: 1634
  • Dark Lord of the Savegame
    • View Profile
    • Blackchocobo
Re: Learning C++ - Is there no better way?
« Reply #1 on: 2011-08-27 15:36:28 »
here are a few i've found.

http://www.cplusplus.com/doc/tutorial/
http://www.learncpp.com/

maybe the'll help.

pdub2520

  • *
  • Posts: 19
  • Learning
    • View Profile
Re: Learning C++ - Is there no better way?
« Reply #2 on: 2011-08-27 16:28:59 »
Wow pretty cool! thanks a lot sithlord48. Every time I googled something the pages usually looked confusing, or were for more advanced users. Very helpful Thanks again!

Borde

  • *
  • Posts: 891
    • View Profile
Re: Learning C++ - Is there no better way?
« Reply #3 on: 2011-08-27 18:01:49 »
If you don't know programming I advice you against trying to start with C++. There are languages way simplier and best fit for beginners. I'd suggest starting with Visual Basic or even C#/Java. Once you get at least understand the basics of those learning C++ will be way easier.

I'd also advice you against using videotutorials. Learing to program is a task that usually implies extensive copy/pastig code and then modifying it.

pdub2520

  • *
  • Posts: 19
  • Learning
    • View Profile
Re: Learning C++ - Is there no better way?
« Reply #4 on: 2011-08-27 18:10:47 »
Thanks for the post Borde. That doesn't seem like a bad idea to me. I'm not very far into learning C++ so it wouldn't really bother me to jump over to C#/Java from the beginning. As for the video tuts, I decided against those, not too long after thanking sithlord48, after falling asleep in the middle of one with the laptop on my chest. I believe HP has a secret plan to brand most of their users....
Thanks for the post Borde! Very helpful indeed.

Borde

  • *
  • Posts: 891
    • View Profile
Re: Learning C++ - Is there no better way?
« Reply #5 on: 2011-08-27 19:01:36 »
No problem. And good luck. Learing to code can be very frustrating but, in the end, I think it pays.

pyrozen

  • *
  • Posts: 791
  • Team Avalanche Member
    • View Profile
Re: Learning C++ - Is there no better way?
« Reply #6 on: 2011-08-29 03:26:57 »
Learning to program is a task that usually implies extensive copy/pastig code and then modifying it.

Pure truth! I wish i had known this when i had first started, i struggled with books that were wayyy to slow(c#). Once i got a job, i found i learned extremely quickly by simply deciding on a program I needed to create, then creating it based on examples/code that other I had found. Rarely do they simply drop into your projects, but the act of breaking them down, and making them work how you want is invaluable to learning. Been working for 6 months, mostly doing one off utilites to aid in automation of tasks for various departments, but I never would have guessed I'd come this far in such a short time span.

also, http://www.stackoverflow.com is your friend :)

lee

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Re: Learning C++ - Is there no better way?
« Reply #7 on: 2011-09-01 23:06:35 »
I'd suggest starting with Visual Basic or even C#/Java. Once you get at least understand the basics of those learning C++ will be way easier.


I'd disagree with your advice to start with Java.


Java isn't that newbie friendly, because you have to understand object orientation to do almost *anything* effectively. Sure, you can learn to knock together some simple programs without really understanding things like classes and namespaces, but it's hard to progress any further without grasping OO.


My recommendation? I still think C++ is an excellent starting point. With C++, you:
* learn a lot about memory management and the ins and outs of data structures (even when you switch to managed languages, this knowledge still helps)
* can start with purely procedural programs with basic functional structuring, then gradually move on to object orientation
* you learn a lot of concepts you'll use in Java anyway
* you're given a lot of room to fail, which forces you to write with discipline


Alternatively? Why not Python? I've enjoyed using Python for my own projects - it's extremely readable, it supports true object orientation and it isn't intimidating to newbies at all. I'd be tempted to say that Python is the new BASIC. No, I'll go further: Python is the language that BASIC tried (and failed) to be: a truly accessible, truly educational and truly useful programming language for the ordinary enthusiast.

pdub2520

  • *
  • Posts: 19
  • Learning
    • View Profile
Re: Learning C++ - Is there no better way?
« Reply #8 on: 2011-09-02 03:08:37 »
Hmm... I'll definitely have to check python out too. I'm switching languages a lot, but I feel that I'm getting myself closer to figuring out exactly what i want to learn first. Thanks to everyone who has posted here. You have all helped A LOT! I really didn't consider trying to learn one thing over the other. I just decided that C++ was gonna be my start no matter what. Now that I'm getting to look around, that may not be the case for me. Again, Thanks for all the help.

Edit: Moved my edit to pitifully bump the thread to try and avoid making another thread so there isn't more wasted thread space by me... Hope it's a legitimate reason since it's still slightly on topic.
« Last Edit: 2011-09-03 03:59:36 by pdub2520 »

Opine

  • *
  • Posts: 521
    • View Profile
Re: Learning C++ - Is there no better way?
« Reply #9 on: 2011-09-02 17:10:11 »
I like Python. I don't have much experience with languages. But I fiddled with Python a bit last year. My experience was that it was very easy to grasp - and there is a very large support group accessible for when you can't quite figure something out.

Borde

  • *
  • Posts: 891
    • View Profile
Re: Learning C++ - Is there no better way?
« Reply #10 on: 2011-09-02 22:55:12 »
Bolsola, in my opinion in the end what makes a language good for beginers is the lack of details that could turn them off in frustration. Getting simple things running quickly is important to keep peolpe trying. That's why I tend to recomend things such as VB. Pointers arithmetics and manual memory management are powerful tools, but they could easily make many beginers desist early (and I think coding C/C++ can lead you to face them pretty soon, either directly or indirectly). Also in my opinion concepts such as classes, inheritance or polymorfism are too advance and would be best avoided by beginers. Sure Java and C# will make you face classes as soon as you try doing something moderately complex, but for small test programs they should be fine and, in case of errors, they offer a nice amount of information to lead you quickly to the source of them.

As you suggested Python is provably a good starting point too. I haven't presonally used it beyond a small script I had to write some time ago for Blender but I've heard good things about it.

pdub2520

  • *
  • Posts: 19
  • Learning
    • View Profile
Re: Learning C++ - Is there no better way?
« Reply #11 on: 2011-09-03 03:59:48 »
I'm trying to find some good IDEs for these Languages. (Aside from C++ and C#, which I've found some that i feel could help me starting off.) What are good, Free, IDEs for beginners to Java, Python and Ruby?
(I figured that I'd continue in this thread since it's kinda still on topic right?) Thanks for any help. You guys are awesome!

Edit: Oh! Just to add. I'm just asking for Opinions on good-for-noobs IDEs not an entire list. I've found lists of IDEs. I just don't have enough room on my PC to try them all out and get the feel from there. And sorry for a lot of edits tonight...
« Last Edit: 2011-09-03 04:20:27 by pdub2520 »

ChaosControl

  • *
  • Posts: 741
  • ยค
    • View Profile
Re: Learning C++ - Is there no better way?
« Reply #12 on: 2011-09-04 03:13:19 »
Just go and understand C# first. And Java, and depending on what you wanne do, try learning some basic SQL too. I remember the days when i wanted to learn programming... Nothing on the internet got me there so I just went to school with those classes and when I actually started working in it, i became a bit good at it.

pdub2520

  • *
  • Posts: 19
  • Learning
    • View Profile
Re: Learning C++ - Is there no better way?
« Reply #13 on: 2011-09-04 05:15:14 »
Thanks for the response ChaosControl. I'm glad most people are pointing towards C# and Java. Reason being, I found a copy of "Java 2 Enterprise Edition 1.4 Bible" at Fry's for $1.99US. Which I think might be pretty helpful. (Especially for the price.) Anyone feel this is a good buy? (Other than the fact that it was only $1.99US?) Thanks for the help!

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Re: Learning C++ - Is there no better way?
« Reply #14 on: 2011-09-04 15:51:24 »
Why are you glad that most people are pointing you towards C# and Java? Do you want to learn OOP first and foremost?

If you want to make an investment in a potential career or long-term hobby, I would *strongly* suggest that you start with unmanaged languages that don't abstract away too much of the underlying processes.
« Last Edit: 2011-09-04 15:53:24 by Bosola »

Neo Bahamut

  • *
  • Posts: 134
    • View Profile
Re: Learning C++ - Is there no better way?
« Reply #15 on: 2011-09-09 03:06:30 »
I disagree, abstracting away the frustrating bits is the best idea for a beginner. I mean, once you know one language, it's not that difficult to move onto another, especially if going from something like C# to C++, since it's really only minor syntax changes, plus memory management (which I've never found as difficult as people make out).

My suggestion is C#, I find that it's a whole lot easier to make fun projects with (i.e. quick games), which is important when starting off. Plus, with the juggernaut that is MS behind it, there's fairly good support in place.

ZL325

  • *
  • Posts: 139
    • View Profile
Re: Learning C++ - Is there no better way?
« Reply #16 on: 2011-09-28 20:46:20 »
I know of some good websites to learn from, such as:

http://tutorialspoint.com/ - Like this one the best, IMO.
http://tutorialized.com/ - Has many tutorials on different things.
http://pscode.com/ - This one is alright, never really looked into it much.