Page 1 of 2 12 LastLast
Results 1 to 16 of 17

Thread: C++ Getting Started

  1. #1
    Registered User
    Join Date
    Aug 2006
    Location
    Eureka California
    Posts
    10
    Thanks
    0
    Thanked
    0 times in 0 posts

    Arrow C++ Getting Started

    I would love to learn to program in C++, who wouldn't? I have the time and I have the patience, but I don't know where to get started. I could go with a book but I read reviews and I can't find a good book that doesn't cost me an arm and a leg.

    Somebody help me!

  2. #2
    Comfortably Numb directhex's Avatar
    Join Date
    Jul 2003
    Location
    /dev/urandom
    Posts
    17,074
    Thanks
    228
    Thanked
    1,027 times in 678 posts
    • directhex's system
      • Motherboard:
      • Asus ROG Strix B550-I Gaming
      • CPU:
      • Ryzen 5900x
      • Memory:
      • 64GB G.Skill Trident Z RGB
      • Storage:
      • 2TB Seagate Firecuda 520
      • Graphics card(s):
      • EVGA GeForce RTX 3080 XC3 Ultra
      • PSU:
      • EVGA SuperNOVA 850W G3
      • Case:
      • NZXT H210i
      • Operating System:
      • Ubuntu 20.04, Windows 10
      • Monitor(s):
      • LG 34GN850
      • Internet:
      • FIOS
    unfortunately, good books cost money - and a good book is a vital tol for learning a language.

    what's your programming background? it would mae it easier to recommend a specific title

  3. #3
    Senior Member Kezzer's Avatar
    Join Date
    Sep 2003
    Posts
    4,863
    Thanks
    12
    Thanked
    5 times in 5 posts
    Thinking in C++ is a damn good book, it's also freely available (legally) online. I'd highly recommend it.

  4. #4
    Synergy leverager
    Join Date
    Jun 2005
    Location
    /dev/dsk/c1d0s7
    Posts
    1,051
    Thanks
    45
    Thanked
    31 times in 27 posts
    • Mutley's system
      • Motherboard:
      • Abit IP-35 Pro
      • CPU:
      • Intel QX9650 (OC'd to 3.8Ghz)
      • Memory:
      • 8GB (4x2GB) G.Skill DDR2-1066 8500CL5D
      • Storage:
      • Samsung 840EVO 250GB SSD & Samsung HD501LJ 500GB SATA
      • Graphics card(s):
      • Asus GTX 660
      • PSU:
      • Enermax Infiniti 650W
      • Case:
      • Antec P-182
      • Operating System:
      • Windows 10 Pro
      • Monitor(s):
      • NEC 20WGX2
      • Internet:
      • 60MB Cable (Virgin)
    If you don't have a programming background, I would suggest you start with learning some software engineering basics, and understand the nature of programming languages, especially object orientation. Its not really that difficult to learn to write a programme in C++, but it is more difficult to learn to use the language properly, and understand how it works. When you've learned the principles, they can be transferred from one language to another (whether its Perl or Java or whatever).

    It can be very rewarding - have fun!

  5. #5
    Comfortably Numb directhex's Avatar
    Join Date
    Jul 2003
    Location
    /dev/urandom
    Posts
    17,074
    Thanks
    228
    Thanked
    1,027 times in 678 posts
    • directhex's system
      • Motherboard:
      • Asus ROG Strix B550-I Gaming
      • CPU:
      • Ryzen 5900x
      • Memory:
      • 64GB G.Skill Trident Z RGB
      • Storage:
      • 2TB Seagate Firecuda 520
      • Graphics card(s):
      • EVGA GeForce RTX 3080 XC3 Ultra
      • PSU:
      • EVGA SuperNOVA 850W G3
      • Case:
      • NZXT H210i
      • Operating System:
      • Ubuntu 20.04, Windows 10
      • Monitor(s):
      • LG 34GN850
      • Internet:
      • FIOS
    with no background in programming, i'd suggest c++ is a frustrating beginning, compared to more "friendly" languages like java or c#

  6. #6
    Theoretical Element Spud1's Avatar
    Join Date
    Jul 2003
    Location
    North West
    Posts
    7,494
    Thanks
    335
    Thanked
    313 times in 249 posts
    • Spud1's system
      • Motherboard:
      • Gigabyte Aorus Master
      • CPU:
      • 9900k
      • Memory:
      • 16GB GSkill Trident Z
      • Storage:
      • Lots.
      • Graphics card(s):
      • RTX3090
      • PSU:
      • 750w
      • Case:
      • BeQuiet Dark Base Pro rev.2
      • Operating System:
      • Windows 10
      • Monitor(s):
      • Asus PG35VQ
      • Internet:
      • 910/100mb Fibre
    ^^ I agree with the above - C# is a better language to start with for a beginner.

    C++ is _very_ powerful, and the basics are quite simple as with almost any language - but once you get past 'hello world' and similar it can get quite complicated to use properly.

    C# has a very similar syntax, is still a very powerful language despite being interpreted, and whats more there are some very good starter books for it

    For example, this one is free:
    http://www.samspublishing.com/librar...p_24hours&rl=1


    Many people would suggest starting with Visual Basic - or Visual Basic.NET. Personally I strongly reccomend against this, as it will teach you some bad habits and a very different syntax to C# - which uses a similar syntax to other languages such as C, C++, Java etc. VB may be easy to get in to, but it makes switching to other languages quite difficult imho (mainly due to strange syntax - having no colon at the end of a line, the way variables are defined, the way exception handling is done)

  7. #7
    Ah, Mrs. Peel! mike_w's Avatar
    Join Date
    Oct 2003
    Location
    Hertfordshire, England
    Posts
    3,326
    Thanks
    3
    Thanked
    9 times in 7 posts
    Apparently, these books are supposed to be good:

    http://greenteapress.com/

    There's one for C++, along with Python and Java.
    "Well, there was your Uncle Tiberius who died wrapped in cabbage leaves but we assumed that was a freak accident."

  8. #8
    The King of Vague Steve B's Avatar
    Join Date
    Oct 2005
    Location
    Glasgow
    Posts
    5,051
    Thanks
    116
    Thanked
    67 times in 63 posts
    Quote Originally Posted by directhex
    with no background in programming, i'd suggest c++ is a frustrating beginning, compared to more "friendly" languages like java or c#
    delphi and VB get my vote for easy languages

  9. #9
    Comfortably Numb directhex's Avatar
    Join Date
    Jul 2003
    Location
    /dev/urandom
    Posts
    17,074
    Thanks
    228
    Thanked
    1,027 times in 678 posts
    • directhex's system
      • Motherboard:
      • Asus ROG Strix B550-I Gaming
      • CPU:
      • Ryzen 5900x
      • Memory:
      • 64GB G.Skill Trident Z RGB
      • Storage:
      • 2TB Seagate Firecuda 520
      • Graphics card(s):
      • EVGA GeForce RTX 3080 XC3 Ultra
      • PSU:
      • EVGA SuperNOVA 850W G3
      • Case:
      • NZXT H210i
      • Operating System:
      • Ubuntu 20.04, Windows 10
      • Monitor(s):
      • LG 34GN850
      • Internet:
      • FIOS
    Quote Originally Posted by Steve B
    delphi and VB get my vote for easy languages
    VB is a poor choice of language for any learner situation - it has a very wooly syntax that encourages bad habits. see also: almost every web-based and script-based language, like perl, php, things like that

    delphi... well delphi's one of the first languages i learnt, and whilst it's better than VB, it shows its roots as a functional programming language (rather than as an OOP language)

    i would really recommend a strongly-typed OOP language as a starter these days, and that really narrows it down to java or c# if you want a reasonable selection of reference materials to work from
    Last edited by directhex; 26-08-2006 at 01:05 AM.

  10. #10
    Senior Member
    Join Date
    Jan 2006
    Location
    Guildford, Surrey.
    Posts
    389
    Thanks
    29
    Thanked
    40 times in 28 posts
    • billythewiz's system
      • Motherboard:
      • Asus Sabertooth P67
      • CPU:
      • Intel Core i7 2600K Clocked to 4.7GHz with Alpenfohn Matterhorn Performance Cooler
      • Memory:
      • 8Gb (2x4Gb) Corsair Vengeance, DDR3 1600Mhz
      • Storage:
      • Samsung 1Tb Spinpoint F3
      • Graphics card(s):
      • Gigabyte GTX 460
      • PSU:
      • Seasonic 600W
      • Case:
      • Thermaltake Soprano
      • Operating System:
      • Windows 7 / Ubuntu
      • Monitor(s):
      • Acer V243H
      • Internet:
      • Virgin Media 20Gb/s
    There's no point in even considering languages like C# or VB unless you actually have a compiler for them. These can be very expensive.

    C++ and Java both have free environments available. Personally I would start with Java.

    Environments like Eclipse and NetBeans are very good, or if you just want to have a play about, then Robocode is a great and fun way to get into programming. Who wants to write list sorting programs, when you could be coding a robot ? ;-)

    http://robocode.sourceforge.net/

    WRT to books, I'd advise you to save your money to start with. There are loads of online tutorials that you can use to learn the syntax. Then if you want greater knowledge later on, there are many great books (Effective C++ and Effective Java are two good examples).

  11. #11
    Theoretical Element Spud1's Avatar
    Join Date
    Jul 2003
    Location
    North West
    Posts
    7,494
    Thanks
    335
    Thanked
    313 times in 249 posts
    • Spud1's system
      • Motherboard:
      • Gigabyte Aorus Master
      • CPU:
      • 9900k
      • Memory:
      • 16GB GSkill Trident Z
      • Storage:
      • Lots.
      • Graphics card(s):
      • RTX3090
      • PSU:
      • 750w
      • Case:
      • BeQuiet Dark Base Pro rev.2
      • Operating System:
      • Windows 10
      • Monitor(s):
      • Asus PG35VQ
      • Internet:
      • 910/100mb Fibre
    ^^ thats innacurate, nay totally wrong...well the first line is

    The C# and VB compilers are available free of charge (and always have been) and I think you can still get the free Visual Studio Express editions so that you have a nice IDE for them too.

    As for java - eclipse is a nice IDE for it, and there are lots of tutorials - Sun themselves have an excellent beginner set of tutorials themselves.

    BUT I still don't think it is a good language to get into first - more something to use once you have built up a solid background in C#.* This is just my opinion ofc, and with C# and VS express edition you can jump straight into making GUI based programs (with winForms) that acutally look quite nice, as opposed to messing about with the fugly java gui options..

  12. #12
    Senior Member charleski's Avatar
    Join Date
    Jul 2006
    Posts
    1,586
    Thanks
    7
    Thanked
    52 times in 45 posts
    Get the Visual Studio Express development environment and compilers here, they're now free for ever. Download the MSDN library as well as it contains a lot of documentation. This MS website has a lot of links to tutorials and examples and is well worth a look.

    C# gets my vote as well - the .NET managed application environment is one of the best things Microsoft has developed and C#'s syntax is much less confusing than the gobbledegook you can get in C++. Basically, I'd only advise using C++ when you need low-level access or need to create an app that will work outside .NET 2.0, but it's not a good language to learn on.
    Last edited by charleski; 26-08-2006 at 12:47 PM.

  13. #13
    Comfortably Numb directhex's Avatar
    Join Date
    Jul 2003
    Location
    /dev/urandom
    Posts
    17,074
    Thanks
    228
    Thanked
    1,027 times in 678 posts
    • directhex's system
      • Motherboard:
      • Asus ROG Strix B550-I Gaming
      • CPU:
      • Ryzen 5900x
      • Memory:
      • 64GB G.Skill Trident Z RGB
      • Storage:
      • 2TB Seagate Firecuda 520
      • Graphics card(s):
      • EVGA GeForce RTX 3080 XC3 Ultra
      • PSU:
      • EVGA SuperNOVA 850W G3
      • Case:
      • NZXT H210i
      • Operating System:
      • Ubuntu 20.04, Windows 10
      • Monitor(s):
      • LG 34GN850
      • Internet:
      • FIOS
    Quote Originally Posted by billythewiz
    There's no point in even considering languages like C# or VB unless you actually have a compiler for them. These can be very expensive.
    aptitude install monodevelop mono-mbas mono-gmcs

    there you go. c# 1.1, c# 2.2, vb.net compilers, plus an IDE, for free. microsoft also have free tools

  14. #14
    Senior Member
    Join Date
    Jan 2005
    Location
    Manchester
    Posts
    2,899
    Thanks
    67
    Thanked
    180 times in 135 posts
    • Butcher's system
      • Motherboard:
      • MSI Z97 Gaming 3
      • CPU:
      • i7-4790K
      • Memory:
      • 8 GB Corsair 1866 MHz
      • Storage:
      • 120GB SSD, 240GB SSD, 2TB HDD
      • Graphics card(s):
      • MSI GTX 970
      • PSU:
      • Antec 650W
      • Case:
      • Big Black Cube!
      • Operating System:
      • Windows 7
    I learned C first, it's not much harder than anything else to start with and once you know it everything else is easy.

    Also delphi is procedural, not functional.

  15. #15
    Senior Member
    Join Date
    Jan 2006
    Location
    Guildford, Surrey.
    Posts
    389
    Thanks
    29
    Thanked
    40 times in 28 posts
    • billythewiz's system
      • Motherboard:
      • Asus Sabertooth P67
      • CPU:
      • Intel Core i7 2600K Clocked to 4.7GHz with Alpenfohn Matterhorn Performance Cooler
      • Memory:
      • 8Gb (2x4Gb) Corsair Vengeance, DDR3 1600Mhz
      • Storage:
      • Samsung 1Tb Spinpoint F3
      • Graphics card(s):
      • Gigabyte GTX 460
      • PSU:
      • Seasonic 600W
      • Case:
      • Thermaltake Soprano
      • Operating System:
      • Windows 7 / Ubuntu
      • Monitor(s):
      • Acer V243H
      • Internet:
      • Virgin Media 20Gb/s
    Well I'd say that some good did come of my post.
    I stand by my first statement though. There is little point trying to learn a new language without a compiler for it.

    Charleski has included some useful links including one to VS Express, and directhex has mentioned mono if OSS is more your thing.

    Spud1 made a very valid point. If you want to jump into gui development then an MS Visual language (VB, VC++, C#, etc.) is going to be more accessible than "the fugly java gui options" - Swing

    If you have development environements for a variety of languages then I'd ask what you hope to get out of the new language ?

    If you want to become a hard core mega developer then go for the hardest. That means C++. And if you want to see how hard things can get then gotw has some of the hardest. You'll soon be impressing your mates with you exception safe, templated, multiple, virtual inherited copy constructors. And one day you may even understand STL

    OTOH if you want to have some fun I'd look elsewhere. If you want to develop GUIs then VB is great for that. True it's not the best language for learning good techniques, but that's not what you're after, right ?

    If you want to learn good techniques and algorithm development then avoid being bogged down by all the frilly UI stuff and go for C/C++ or Java.

    If you want to learn MS technologies like COM, MFC or .NET then C# (or VB, VC++) is the way to go.

    If you want to get into "real" development then find an OSS project/product that interests you or which might be useful to you, and have a go at building it. If you manage that then see if you can fix some of the minor bugs. If that's your thing then pick the product and learn whatever language it's written in (just avoid anything written in Perl ).

    And finally, if you want to blow up tanks then it has to be robocode

  16. #16
    Theoretical Element Spud1's Avatar
    Join Date
    Jul 2003
    Location
    North West
    Posts
    7,494
    Thanks
    335
    Thanked
    313 times in 249 posts
    • Spud1's system
      • Motherboard:
      • Gigabyte Aorus Master
      • CPU:
      • 9900k
      • Memory:
      • 16GB GSkill Trident Z
      • Storage:
      • Lots.
      • Graphics card(s):
      • RTX3090
      • PSU:
      • 750w
      • Case:
      • BeQuiet Dark Base Pro rev.2
      • Operating System:
      • Windows 10
      • Monitor(s):
      • Asus PG35VQ
      • Internet:
      • 910/100mb Fibre
    ^^ just one thing to add to that for now - MFC and COM are not really good things to use with C#.

    One of the big things wiht C# and .net in general is that you should use the built in libraries/functions etc for your projects. .NET includes many functions/libraries that for the most part replace MFC and COM.

    The only real reason to use MFC and COM with .NET is for legacy reasons, eg if your company has developed a set of libraries/interfaces/classes based on the MFC, and you don't want to redevelop them all in .NET. You *can* do this using unsigned code, but it is not reccomended unless you need to, as that code is not 'managed' and you lose half of the advantages of .NET...

Page 1 of 2 12 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Started to save for a car...
    By Platinum in forum Automotive
    Replies: 6
    Last Post: 14-04-2004, 07:58 AM
  2. First mod started!
    By spindle in forum Chassis and Mods
    Replies: 9
    Last Post: 01-04-2004, 09:25 PM
  3. Started a course in Indian cooking over the weekend
    By Blub2k in forum Kitchen and Cooking
    Replies: 1
    Last Post: 30-03-2004, 01:00 AM
  4. Just Started
    By Craig in forum Software
    Replies: 6
    Last Post: 18-01-2004, 01:08 PM
  5. Once we've started you, theres no stopping you
    By steve threlfall in forum General Discussion
    Replies: 4
    Last Post: 13-01-2004, 11:43 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •