Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Can you teach yourself programming?
New Posts  All Forums:Forum Nav:

Can you teach yourself programming?

post #1 of 49
Thread Starter 
How hard would it be to teach yourself programming? I have absolutely no experience with programming. However, it looks really interesting and I'd love to learn something basic, nothing to in-depth just the basic and maybe I'll progress from there.

Which is better to learn first? C++ or Java?
What are some good book to read?
Do you have to be good at math in order to be good at programming?

confused.gifconfused.gifconfused.gif
READY
(17 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X6 1045T 78LMT-S2P HIS 6870 ADATA 8GB 1333mhz 
Hard DriveHard DriveHard DriveCooling
Samsung 830 128GB WD Caviar Black 2TB Seagate 2TB Corsair A70 
OSMonitorPowerCase
Windows 7 2x Acer 23" Antec NEO ECO 620W Antec 300 
Audio
M-Audio Mobilepre II 
  hide details  
Reply
READY
(17 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X6 1045T 78LMT-S2P HIS 6870 ADATA 8GB 1333mhz 
Hard DriveHard DriveHard DriveCooling
Samsung 830 128GB WD Caviar Black 2TB Seagate 2TB Corsair A70 
OSMonitorPowerCase
Windows 7 2x Acer 23" Antec NEO ECO 620W Antec 300 
Audio
M-Audio Mobilepre II 
  hide details  
Reply
post #2 of 49
Visual basic is the best place to start along with tutorials online. Edit: You don't need much math at all mate.
X79-GCN
(22 items)
 
  
CPUMotherboardGraphicsRAM
Intel 3930K 4.5GHz HT GIGABYTE GA-X79-UP4 AMD R9-290X GEil Evo Potenza DDR3 2400MHz CL10 (4x4GB) 
Hard DriveCoolingCoolingCooling
Samsung 840 Pro 120GB EK Supremacy (CPU) NF F12's P/P (360 Rad)  NF A14's (420 Rad)  
CoolingCoolingCoolingCooling
XSPC Chrome Compression Fittings EK RES X3 150 Primochill PremoFlex Advanced LRT Clear 1/2 ID EK-FC (R9 290X) 
CoolingCoolingCoolingOS
EK D5 Vario Top-X  Phobya G-Changer V2 360mm Phobya G-Changer V2 420mm Win 10 x64 Pro 
MonitorKeyboardPowerCase
BenQ XR3501 35" Curved Corsair Vengeance K90 Seasonic X-1250 Gold (v2) Corsair 900D 
MouseAudio
Logitech G400s Senn HD 598 
  hide details  
Reply
X79-GCN
(22 items)
 
  
CPUMotherboardGraphicsRAM
Intel 3930K 4.5GHz HT GIGABYTE GA-X79-UP4 AMD R9-290X GEil Evo Potenza DDR3 2400MHz CL10 (4x4GB) 
Hard DriveCoolingCoolingCooling
Samsung 840 Pro 120GB EK Supremacy (CPU) NF F12's P/P (360 Rad)  NF A14's (420 Rad)  
CoolingCoolingCoolingCooling
XSPC Chrome Compression Fittings EK RES X3 150 Primochill PremoFlex Advanced LRT Clear 1/2 ID EK-FC (R9 290X) 
CoolingCoolingCoolingOS
EK D5 Vario Top-X  Phobya G-Changer V2 360mm Phobya G-Changer V2 420mm Win 10 x64 Pro 
MonitorKeyboardPowerCase
BenQ XR3501 35" Curved Corsair Vengeance K90 Seasonic X-1250 Gold (v2) Corsair 900D 
MouseAudio
Logitech G400s Senn HD 598 
  hide details  
Reply
post #3 of 49
I'd recommend Python for beginners, with some books like dive in Python. The language is quite permissive, less prone to compilation errors and sideboard effects.

That being said, C++ is a standard with many resources available online, so it's worth looking into. But for a true beginner, python is the way to go, the learning curve is not too steep, even for a novice, which makes it a great language to begin with. I wish I had begun with it, still using it heavily though.
On a budget
(13 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5 2500k MSI P67A-GD65 (Rev. B3) Gainward GTX480 Corsair PC12800 CL7 
Hard DriveOSMonitorKeyboard
500Go Seagate Barracuda 7200.12 (*2 Raid-1) Microsoft Windows 7 x64 Pro Iiyama Prolite E2407HDS Microsoft Sidewinder X6 
PowerCaseMouse
Corsair HX650 HAF 922 Logitech G500 
  hide details  
Reply
On a budget
(13 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5 2500k MSI P67A-GD65 (Rev. B3) Gainward GTX480 Corsair PC12800 CL7 
Hard DriveOSMonitorKeyboard
500Go Seagate Barracuda 7200.12 (*2 Raid-1) Microsoft Windows 7 x64 Pro Iiyama Prolite E2407HDS Microsoft Sidewinder X6 
PowerCaseMouse
Corsair HX650 HAF 922 Logitech G500 
  hide details  
Reply
post #4 of 49
Yes, you can be a self-taught programmer.

I don't read, so I can't offer any book suggestions.

No, you don't have to be good at math, but chances are if you're good at math, you'll be good at programming, and vice versa. Being able to process algorithms to solve math problems is a valuable skill in solving programming related problems. I'm personally just a workhorse. I'm not particularly good at math, but I can solve programming problems with time and hard work.

Higher level languages (C#, Python, Java) hide too much functionality from the programmer to be great programming learning tools. Starting at a lower level (C/C++) will require you to learn the true fundamentals of programming, and will provide a solid base to grow on.

If you want to get into programming, I suggest you start with C/C++. Picking up other languages will be cake once you've got a firm grasp of C++. C++ isn't the "best" language, but I feel it's an essential language for everyone to know, and like I said, will provide a very solid base to build on.

If you just want to use a single, easy language, Python is a great language to use with plenty of documentation. Java is a common starting place, but I don't personally like it.

Don't touch VB. It will ruin your life.
Edited by Fkyx - 5/11/11 at 3:25am
Jillian
(11 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5 2500K MSI P67A-G45 B3 MSI GeForce GTX560 Ti GSKILL F3-10666CL9D-8GBRL 
CoolingOSKeyboardPower
Cooler Master Hyper 212 Plus Windows 7 Professional 64-bit Razer Lycosa Corsair 520HX 
CaseMouse
Cooler Master Stacker 830 Razer Mamba 
  hide details  
Reply
Jillian
(11 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5 2500K MSI P67A-G45 B3 MSI GeForce GTX560 Ti GSKILL F3-10666CL9D-8GBRL 
CoolingOSKeyboardPower
Cooler Master Hyper 212 Plus Windows 7 Professional 64-bit Razer Lycosa Corsair 520HX 
CaseMouse
Cooler Master Stacker 830 Razer Mamba 
  hide details  
Reply
post #5 of 49
+1 on avoiding VB, most especially if you're gonna use Visual Studio; nothing's worse than some smartass IDE that thinks it's better than you.

I second Python if you're a complete beginner. Then if you want to get into it just for the money, go take up some web scripting languages. If you're in it as a hobby, and want to make something really useful, go for C/C++. Java/C# is for when you have a LOT of time and patience, and want to build up a pretty high-valued skill.

Math expertise is good if you're going to go into more higher-level programming (I'm talking about the type that's closer to 1s and 0s, I forget if that's called higher or lower level...confused.gif). If it's something like web scripting, then you just need a good amount of deductive skills.
A-Trance
(14 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II X4 965 790GX-G65 (MS-7576) NVIDIA GeForce 9800 GT G.Skill Ripjaws 1600 CL9 
RAMHard DriveOSMonitor
G.Skill Ripjaws 1600 CL9 G.Skill Phoenix Pro 60GB, 1TB WD Caviar Black Windows 7 Pro x64 Samsung 21.5' 
KeyboardPowerCase
Logitech G100 Gigabyte Superb 720W Antec 300 Modded 
  hide details  
Reply
A-Trance
(14 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II X4 965 790GX-G65 (MS-7576) NVIDIA GeForce 9800 GT G.Skill Ripjaws 1600 CL9 
RAMHard DriveOSMonitor
G.Skill Ripjaws 1600 CL9 G.Skill Phoenix Pro 60GB, 1TB WD Caviar Black Windows 7 Pro x64 Samsung 21.5' 
KeyboardPowerCase
Logitech G100 Gigabyte Superb 720W Antec 300 Modded 
  hide details  
Reply
post #6 of 49
Thread Starter 
^

Do you have any C++ book in mind that you'd recommend?
READY
(17 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X6 1045T 78LMT-S2P HIS 6870 ADATA 8GB 1333mhz 
Hard DriveHard DriveHard DriveCooling
Samsung 830 128GB WD Caviar Black 2TB Seagate 2TB Corsair A70 
OSMonitorPowerCase
Windows 7 2x Acer 23" Antec NEO ECO 620W Antec 300 
Audio
M-Audio Mobilepre II 
  hide details  
Reply
READY
(17 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X6 1045T 78LMT-S2P HIS 6870 ADATA 8GB 1333mhz 
Hard DriveHard DriveHard DriveCooling
Samsung 830 128GB WD Caviar Black 2TB Seagate 2TB Corsair A70 
OSMonitorPowerCase
Windows 7 2x Acer 23" Antec NEO ECO 620W Antec 300 
Audio
M-Audio Mobilepre II 
  hide details  
Reply
post #7 of 49
I agree do not start with visual basic, and in my experience many people believe java to be a good starter language, but I also believe that it is not.

Python would be great to start out.

tl;dr
+1 to python
Yay
(14 items)
 
  
CPUMotherboardGraphicsRAM
i7 2600k GB Z68X UD3R 570 GigaByte Windforce x3 8GB G.Skill Ripjaws-X 
Hard DriveOSMonitorKeyboard
1 TB WD Black Windows 7 Home Premium 64-bit Syncmaster 740B LG 
PowerCaseMouseMouse Pad
750 Corsair TX HAF 932 LG XM-400 Razer Goliathus 
Audio
Asus Essence STX 
  hide details  
Reply
Yay
(14 items)
 
  
CPUMotherboardGraphicsRAM
i7 2600k GB Z68X UD3R 570 GigaByte Windforce x3 8GB G.Skill Ripjaws-X 
Hard DriveOSMonitorKeyboard
1 TB WD Black Windows 7 Home Premium 64-bit Syncmaster 740B LG 
PowerCaseMouseMouse Pad
750 Corsair TX HAF 932 LG XM-400 Razer Goliathus 
Audio
Asus Essence STX 
  hide details  
Reply
post #8 of 49
I did this:

HTML > Javascript+PHP > Python > C/C++ > Java
post #9 of 49
I would say while python is very forgiving for a beginner it can teach you all sort of bad habits, or at least not teach you plenty of good ones, I started with VB would say C# is probably the best place to start as it give you so many transferable skills. Obviously if you know what kind of programming you want to do like you just want to make your own website then that changes the advice tongue.gif

I wouldn't bother with buying books and its hard to recomend books anyway, books i find suite my learning style may be entirely useless to someone else >< there is allot of very good tutorials online, both from universities and colleges etc and just from enthusiasts many of which are free smile.gif find one with a layout you like and just roll from there.

but as others have said you dont need maths really its more a thought process you need to be quite logical and methodical but with the wealth of resources available its pretty easy to learn it for yourself good luck and have fun with it smile.gif
Main
(15 items)
 
  
CPUMotherboardGraphicsRAM
2500K Gigabyte P67 UD5 r7970 BEDD Corsair Vengeance 
Hard DriveCoolingOSMonitor
Crucial C300 256gb EK HF supreme full copper Win 7 Ultimate 120hz 1920x1080 23" LG 
KeyboardPowerCaseMouse
Ducky ocn edition 1000w Corsair hx Corsair 800D G9x 
Mouse PadAudio
Steelseries I-2 AKG K702 
  hide details  
Reply
Main
(15 items)
 
  
CPUMotherboardGraphicsRAM
2500K Gigabyte P67 UD5 r7970 BEDD Corsair Vengeance 
Hard DriveCoolingOSMonitor
Crucial C300 256gb EK HF supreme full copper Win 7 Ultimate 120hz 1920x1080 23" LG 
KeyboardPowerCaseMouse
Ducky ocn edition 1000w Corsair hx Corsair 800D G9x 
Mouse PadAudio
Steelseries I-2 AKG K702 
  hide details  
Reply
post #10 of 49
I usually suggest that people learn Java first, just because C/C++ can be a bit daunting as a starter language, then move to C/C++ when they feel like they've got a grasp on they way programming works.

I suggest this eBook as a resource for learning Java.

Python has its pros and cons as a starter language, but if you're looking for the "easiest" language to learn, that's probably the way to go.

EDIT: As an answer to the title of this thread, YES. As long as you have motivation, teaching yourself programming is the best way to learn. Having a teacher to guide you is great and all, but in my experience they tend to take the fun out of it. I always get a much better sense of accomplishment from programs I've thought of and created on my own than ones that are assigned to me.
Edited by Seventh Badger - 5/11/11 at 7:02am
Viking
(13 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5 2500K @ 4.8 GHz 1.45V P8Z68-V GEN3 [2x] EVGA GeForce GTX 570 SLI [2x] Kingston HyperX 4GB 1600MHz 
Hard DriveHard DriveCoolingCooling
Crucial M4 128GB [2x] WD 320GB XSPC Single Bay Reservoir Swiftech MCP655 
CoolingCoolingOSPower
XSPC Raystorm XSPC EX240 Windows 7 Pro 64-bit Corsair HX850 
Case
Corsair Obsidian 650D 
  hide details  
Reply
Viking
(13 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5 2500K @ 4.8 GHz 1.45V P8Z68-V GEN3 [2x] EVGA GeForce GTX 570 SLI [2x] Kingston HyperX 4GB 1600MHz 
Hard DriveHard DriveCoolingCooling
Crucial M4 128GB [2x] WD 320GB XSPC Single Bay Reservoir Swiftech MCP655 
CoolingCoolingOSPower
XSPC Raystorm XSPC EX240 Windows 7 Pro 64-bit Corsair HX850 
Case
Corsair Obsidian 650D 
  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 › Can you teach yourself programming?