Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Best way to learn C++ (and other languages)?
New Posts  All Forums:Forum Nav:

Best way to learn C++ (and other languages)?

post #1 of 19
Thread Starter 
I would like to learn C++ and javascript this year. I heard it was better to start with C as it is still really present. I checked some tutorial on the web but I find it hard to learn via web tutorial because you can't go rapidly back to read again a portion you forgot to understand what you are currently reading.

One thing that is also missing is the exercises, it is way easier to understand something when you try it and see what you are missing.
In the best world, I need a book build like if I was following a C++ class, with theory, exercises & applications.

Considering this, do you know a good book or a good web tutorial?

Also, how do you practise? Is there a web site dedicated to help you master C++?
My System
(15 items)
 
  
CPUMotherboardGraphicsRAM
i7-4790k MSI Z97 Gaming 5 Sapphire R9 290X Tri-X 2x8gb ADATA 2133MHz CL10 
Hard DriveCoolingOSKeyboard
Mushkin 1 TB SSD & Samsung F3 spinpoint 1 TB MCP655A + 2 x MCP320 + EK supreme copper Win10 Corsair K70 Lux 
PowerCaseMouse
Corsair 750W Bitphenix Monstrous water cooling case Logitech G9X 
  hide details  
Reply
My System
(15 items)
 
  
CPUMotherboardGraphicsRAM
i7-4790k MSI Z97 Gaming 5 Sapphire R9 290X Tri-X 2x8gb ADATA 2133MHz CL10 
Hard DriveCoolingOSKeyboard
Mushkin 1 TB SSD & Samsung F3 spinpoint 1 TB MCP655A + 2 x MCP320 + EK supreme copper Win10 Corsair K70 Lux 
PowerCaseMouse
Corsair 750W Bitphenix Monstrous water cooling case Logitech G9X 
  hide details  
Reply
post #2 of 19
Quote:
Originally Posted by Just a nickname View Post

I would like to learn C++ and javascript this year. I heard it was better to start with C as it is still really present. I checked some tutorial on the web but I find it hard to learn via web tutorial because you can't go rapidly back to read again a portion you forgot to understand what you are currently reading.
One thing that is also missing is the exercises, it is way easier to understand something when you try it and see what you are missing.
In the best world, I need a book build like if I was following a C++ class, with theory, exercises & applications.
Considering this, do you know a good book or a good web tutorial?
Also, how do you practise? Is there a web site dedicated to help you master C++?

You may be able to find some good websites for tutorials but I've never used any, I tend to use the Internet for looking up specifics, like error messages or how to use specific functions or classes. I recommend searching Amazon for C/C++ books with good reviews, such as http://www.amazon.com/C-Programming-Language-Special/dp/0201700735/ref=sr_1_7?ie=UTF8&qid=1330390637&sr=8-7

If you cannot figure out the answer to a problem you're having after about 10-15 minutes I recommend googling for the answer if you have something specific you can search for. If you can't find anything through a search engine then I would take your question to stackoverflow.com. Make sure you have done prior research on your problem, and post as much helpful information you can about the problem and your current code, so that people have the info they need to give you an answer.
Foldatron
(17 items)
 
Mat
(10 items)
 
Work iMac
(9 items)
 
CPUMotherboardGraphicsGraphics
i7 950 EVGA x58 3-way SLI EVGA GTX 660ti GTX 275 
RAMHard DriveHard DriveHard Drive
3x2GB Corsair Dominator DDR3-1600 80GB Intel X25-M SSD 2TB WD Black 150GB WD Raptor 
Hard DriveOSMonitorKeyboard
2x 150GB WD V-raptor in RAID0 Win7 Home 64-bit OEM 55" LED 120hz 1080p Vizio MS Natural Ergonomic Keyboard 4000 
PowerCase
750W PC P&C Silencer CoolerMaster 690 
CPUGraphicsRAMHard Drive
Intel Core i5 2500S AMD 6770M 8GB (2x4GB) at 1333Mhz 1TB, 7200 rpm 
Optical DriveOSMonitorKeyboard
LG 8X Dual-Layer "SuperDrive" OS X Lion 27" iMac screen Mac wireless keyboard 
Mouse
Mac wireless mouse 
CPUGraphicsRAMHard Drive
i7-2600K AMD 6970M 1GB 16GB PC3-10600 DDR3 1TB 7200rpm 
Hard DriveOptical DriveOSMonitor
256GB SSD 8x DL "SuperDrive" OS X 10.7 Lion 27" 2560x1440 iMac display 
Monitor
27" Apple thunderbolt display 
  hide details  
Reply
Foldatron
(17 items)
 
Mat
(10 items)
 
Work iMac
(9 items)
 
CPUMotherboardGraphicsGraphics
i7 950 EVGA x58 3-way SLI EVGA GTX 660ti GTX 275 
RAMHard DriveHard DriveHard Drive
3x2GB Corsair Dominator DDR3-1600 80GB Intel X25-M SSD 2TB WD Black 150GB WD Raptor 
Hard DriveOSMonitorKeyboard
2x 150GB WD V-raptor in RAID0 Win7 Home 64-bit OEM 55" LED 120hz 1080p Vizio MS Natural Ergonomic Keyboard 4000 
PowerCase
750W PC P&C Silencer CoolerMaster 690 
CPUGraphicsRAMHard Drive
Intel Core i5 2500S AMD 6770M 8GB (2x4GB) at 1333Mhz 1TB, 7200 rpm 
Optical DriveOSMonitorKeyboard
LG 8X Dual-Layer "SuperDrive" OS X Lion 27" iMac screen Mac wireless keyboard 
Mouse
Mac wireless mouse 
CPUGraphicsRAMHard Drive
i7-2600K AMD 6970M 1GB 16GB PC3-10600 DDR3 1TB 7200rpm 
Hard DriveOptical DriveOSMonitor
256GB SSD 8x DL "SuperDrive" OS X 10.7 Lion 27" 2560x1440 iMac display 
Monitor
27" Apple thunderbolt display 
  hide details  
Reply
post #3 of 19
http://thenewboston.org/list.php?cat=16

I find these tutorials to be good and have good pacing. Might wanna take a look.
My System
(13 items)
 
  
CPUMotherboardGraphicsRAM
Intel i7 950 Asus P6X58D-E Gigabyte GTX 770  12 GB GSkill 
Hard DriveOptical DriveOSMonitor
Seagate 1TB, Samsung 2TB TSSTcorp Windows 7 home Premium x64 Asus 24" 1920*1080 x 2 
KeyboardPowerCaseMouse
WASD XFX 650 watt Cooler Master HAF 932 Logitech G500 
  hide details  
Reply
My System
(13 items)
 
  
CPUMotherboardGraphicsRAM
Intel i7 950 Asus P6X58D-E Gigabyte GTX 770  12 GB GSkill 
Hard DriveOptical DriveOSMonitor
Seagate 1TB, Samsung 2TB TSSTcorp Windows 7 home Premium x64 Asus 24" 1920*1080 x 2 
KeyboardPowerCaseMouse
WASD XFX 650 watt Cooler Master HAF 932 Logitech G500 
  hide details  
Reply
post #4 of 19
Learn the fundamentals of programming, then start small looking at others coding, create your own.
FIRST POST
(13 items)
 
  
CPUMotherboardGraphicsRAM
2500k @ 4.6ghz 1.35v ASUS Z68-V 2x MSI GTX 580s Watercooled @975 mhz 4gb Patriot 
Hard DriveOptical DriveOSPower
320gb x2 WD Raid1 ASUS BDVD Burner Windows 7 x64 Corsair 750a 
Mouse
G5 Logitech 
  hide details  
Reply
FIRST POST
(13 items)
 
  
CPUMotherboardGraphicsRAM
2500k @ 4.6ghz 1.35v ASUS Z68-V 2x MSI GTX 580s Watercooled @975 mhz 4gb Patriot 
Hard DriveOptical DriveOSPower
320gb x2 WD Raid1 ASUS BDVD Burner Windows 7 x64 Corsair 750a 
Mouse
G5 Logitech 
  hide details  
Reply
post #5 of 19
Thread Starter 
Quote:
Originally Posted by OPENbracket View Post

Learn the fundamentals of programming, then start small looking at others coding, create your own.

Like what? C?
Tried some HTML, but it`s kind of boring. Not really looking to make web pages...
My System
(15 items)
 
  
CPUMotherboardGraphicsRAM
i7-4790k MSI Z97 Gaming 5 Sapphire R9 290X Tri-X 2x8gb ADATA 2133MHz CL10 
Hard DriveCoolingOSKeyboard
Mushkin 1 TB SSD & Samsung F3 spinpoint 1 TB MCP655A + 2 x MCP320 + EK supreme copper Win10 Corsair K70 Lux 
PowerCaseMouse
Corsair 750W Bitphenix Monstrous water cooling case Logitech G9X 
  hide details  
Reply
My System
(15 items)
 
  
CPUMotherboardGraphicsRAM
i7-4790k MSI Z97 Gaming 5 Sapphire R9 290X Tri-X 2x8gb ADATA 2133MHz CL10 
Hard DriveCoolingOSKeyboard
Mushkin 1 TB SSD & Samsung F3 spinpoint 1 TB MCP655A + 2 x MCP320 + EK supreme copper Win10 Corsair K70 Lux 
PowerCaseMouse
Corsair 750W Bitphenix Monstrous water cooling case Logitech G9X 
  hide details  
Reply
post #6 of 19
Quote:
Originally Posted by Just a nickname View Post

Like what? C?
Tried some HTML, but it`s kind of boring. Not really looking to make web pages...

I think by "learn programming fundamentals first", he means that instead of diving right into coding, you should take a step backward to learn programming first.

Meaning that first, you should learn the basics of programming that include learning the process of coming up with algorithms to solve a particular problem using various methodologies and paradigms that are fairly common to all languages.
For example, you should have a good understanding of data types and the methods or subroutines that are used to manipulate the data. You should have an idea of how the different parts of a program collaborate to produce a particular result. You should have a concept of variables, conditionals, loops, arrays, etc. In addition, for object-oriented programming, you will need to know how classes and objects (instantiations of classes) work in a program.

Basically, these are the fundamental concepts that are common to all programming languages (just like the concept of nouns, verbs and tenses are common to all real world languages). If you understand these, you can learn pretty much any programming language as the only real difference will be the style of programming (OO, procedural, functional etc) and the syntax, and these can be learned easily depending on the particular language you are interested in.

If you are not really into web coding and are learning a programming language for the first time, I'd suggest you start with either Python or C# (which happen to be two fairly different languages). However, C is a good choice nonetheless as most of the languages today, including the two I mentioned, are basically derived from or influenced by C.
MacBook Pro 13"
(6 items)
 
 
Desktop
(13 items)
 
CPUGraphicsRAMHard Drive
Intel i5 3210 @ 2.5 GHz Intel HD4000 4 GB DDR3 @ 1600 MHz 500 GB @ 5400 RPM 
OSMonitor
OSX Mountain Lion 13.3" @ 1280 x 800 
CPUGraphicsRAMHard Drive
Intel i5 480m@2.67GHz AMD Radeon Mobility 5650 4GB DDR3 500GB 
OSMonitor
Windows 7 64bit HP 15.6" 1366x768 
CPUMotherboardGraphicsRAM
E7500 Intel...:( MSI GTS250 1GB 2GB 
Hard DriveOSMonitorPower
250GB Windows XP 17" LG CRT 1280x768@85hz 400W 
  hide details  
Reply
MacBook Pro 13"
(6 items)
 
 
Desktop
(13 items)
 
CPUGraphicsRAMHard Drive
Intel i5 3210 @ 2.5 GHz Intel HD4000 4 GB DDR3 @ 1600 MHz 500 GB @ 5400 RPM 
OSMonitor
OSX Mountain Lion 13.3" @ 1280 x 800 
CPUGraphicsRAMHard Drive
Intel i5 480m@2.67GHz AMD Radeon Mobility 5650 4GB DDR3 500GB 
OSMonitor
Windows 7 64bit HP 15.6" 1366x768 
CPUMotherboardGraphicsRAM
E7500 Intel...:( MSI GTS250 1GB 2GB 
Hard DriveOSMonitorPower
250GB Windows XP 17" LG CRT 1280x768@85hz 400W 
  hide details  
Reply
post #7 of 19
Thread Starter 
Quote:
Originally Posted by {Unregistered} View Post

I think by "learn programming fundamentals first", he means that instead of diving right into coding, you should take a step backward to learn programming first.
Meaning that first, you should learn the basics of programming that include learning the process of coming up with algorithms to solve a particular problem using various methodologies and paradigms that are fairly common to all languages.
For example, you should have a good understanding of data types and the methods or subroutines that are used to manipulate the data. You should have an idea of how the different parts of a program collaborate to produce a particular result. You should have a concept of variables, conditionals, loops, arrays, etc. In addition, for object-oriented programming, you will need to know how classes and objects (instantiations of classes) work in a program.
Basically, these are the fundamental concepts that are common to all programming languages (just like the concept of nouns, verbs and tenses are common to all real world languages). If you understand these, you can learn pretty much any programming language as the only real difference will be the style of programming (OO, procedural, functional etc) and the syntax, and these can be learned easily depending on the particular language you are interested in.
If you are not really into web coding and are learning a programming language for the first time, I'd suggest you start with either Python or C# (which happen to be two fairly different languages). However, C is a good choice nonetheless as most of the languages today, including the two I mentioned, are basically derived from or influenced by C.

Thank you very much! Exactly the answer I was looking for!
My System
(15 items)
 
  
CPUMotherboardGraphicsRAM
i7-4790k MSI Z97 Gaming 5 Sapphire R9 290X Tri-X 2x8gb ADATA 2133MHz CL10 
Hard DriveCoolingOSKeyboard
Mushkin 1 TB SSD & Samsung F3 spinpoint 1 TB MCP655A + 2 x MCP320 + EK supreme copper Win10 Corsair K70 Lux 
PowerCaseMouse
Corsair 750W Bitphenix Monstrous water cooling case Logitech G9X 
  hide details  
Reply
My System
(15 items)
 
  
CPUMotherboardGraphicsRAM
i7-4790k MSI Z97 Gaming 5 Sapphire R9 290X Tri-X 2x8gb ADATA 2133MHz CL10 
Hard DriveCoolingOSKeyboard
Mushkin 1 TB SSD & Samsung F3 spinpoint 1 TB MCP655A + 2 x MCP320 + EK supreme copper Win10 Corsair K70 Lux 
PowerCaseMouse
Corsair 750W Bitphenix Monstrous water cooling case Logitech G9X 
  hide details  
Reply
post #8 of 19
Check out some of the MIT Open Studies computer programming courses, start with the intro course, as it is geared toward learning the fundamentals, and to begin to think like a computer scientist.
post #9 of 19
Quote:
Originally Posted by {Unregistered} View Post

I think by "learn programming fundamentals first", he means that instead of diving right into coding, you should take a step backward to learn programming first.
Meaning that first, you should learn the basics of programming that include learning the process of coming up with algorithms to solve a particular problem using various methodologies and paradigms that are fairly common to all languages.
For example, you should have a good understanding of data types and the methods or subroutines that are used to manipulate the data. You should have an idea of how the different parts of a program collaborate to produce a particular result. You should have a concept of variables, conditionals, loops, arrays, etc. In addition, for object-oriented programming, you will need to know how classes and objects (instantiations of classes) work in a program.
Basically, these are the fundamental concepts that are common to all programming languages (just like the concept of nouns, verbs and tenses are common to all real world languages). If you understand these, you can learn pretty much any programming language as the only real difference will be the style of programming (OO, procedural, functional etc) and the syntax, and these can be learned easily depending on the particular language you are interested in.
If you are not really into web coding and are learning a programming language for the first time, I'd suggest you start with either Python or C# (which happen to be two fairly different languages). However, C is a good choice nonetheless as most of the languages today, including the two I mentioned, are basically derived from or influenced by C.

Couldnt of said it better myself.
FIRST POST
(13 items)
 
  
CPUMotherboardGraphicsRAM
2500k @ 4.6ghz 1.35v ASUS Z68-V 2x MSI GTX 580s Watercooled @975 mhz 4gb Patriot 
Hard DriveOptical DriveOSPower
320gb x2 WD Raid1 ASUS BDVD Burner Windows 7 x64 Corsair 750a 
Mouse
G5 Logitech 
  hide details  
Reply
FIRST POST
(13 items)
 
  
CPUMotherboardGraphicsRAM
2500k @ 4.6ghz 1.35v ASUS Z68-V 2x MSI GTX 580s Watercooled @975 mhz 4gb Patriot 
Hard DriveOptical DriveOSPower
320gb x2 WD Raid1 ASUS BDVD Burner Windows 7 x64 Corsair 750a 
Mouse
G5 Logitech 
  hide details  
Reply
post #10 of 19
http://projecteuler.net/problems

Great site to practice programming to solve problems, but you will need to know the fundamentals of the language you wish to solve the problems in. I can guarantee you will need to know how to use loops to solve most. Which mainly entails exit conditions for the loops, counters and math logic.
Edited by Bobicon - 3/1/12 at 9:48pm
Bob's Computer
(16 items)
 
  
CPUMotherboardGraphicsRAM
Intel i5 2500K MSI P67A-G45 MSI 6970 Lightning 2GB G Skill Ripjaws X (2x4GB) 1866mhz 9-10-9-28 
Hard DriveOptical DriveCoolingOS
Corsair Force 3 SSD (60GB), X1 WD5000AAKS, X1 W... ASUS DRW-24B1ST/BLK/B/AS Black SATA 24X DVD Burner Noctua NH-C14 Windows 7 64 bit 
MonitorKeyboardPowerCase
Asus VH238H Logitech G510 HALE90 750W NZXT Phantom Black 
MouseMouse PadAudioOther
Logitech G9x SteelSeries 4HD ASUS Xonar DGX / Audio-Technica ATH-AD700 Hauppauge! HVR-1250 TV Tuner 
  hide details  
Reply
Bob's Computer
(16 items)
 
  
CPUMotherboardGraphicsRAM
Intel i5 2500K MSI P67A-G45 MSI 6970 Lightning 2GB G Skill Ripjaws X (2x4GB) 1866mhz 9-10-9-28 
Hard DriveOptical DriveCoolingOS
Corsair Force 3 SSD (60GB), X1 WD5000AAKS, X1 W... ASUS DRW-24B1ST/BLK/B/AS Black SATA 24X DVD Burner Noctua NH-C14 Windows 7 64 bit 
MonitorKeyboardPowerCase
Asus VH238H Logitech G510 HALE90 750W NZXT Phantom Black 
MouseMouse PadAudioOther
Logitech G9x SteelSeries 4HD ASUS Xonar DGX / Audio-Technica ATH-AD700 Hauppauge! HVR-1250 TV Tuner 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Coding and Programming
Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Best way to learn C++ (and other languages)?