Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › I wanna learn programming... Where do I start?
New Posts  All Forums:Forum Nav:

I wanna learn programming... Where do I start?

post #1 of 33
Thread Starter 
Well, yeah It kinda embarrasses me that I'm 19 and I don't know squat about the wonderful world of programming when there are 13yr old kids who know how to develop iPhone apps!

So, where should I start? Which languages (besides of C and C++) should I learn?

So far I'm considering to start with C and then learn Java, after that, C++ and Visual Basic, maybe python as well.

Do you know any good free resources to learn? I've got some ebooks but I know it won't be enough (at least it should be enough to scratch the surface) to start learning.

Also, which compiler should I use for C and C++? I've heard Bloodshed Dev-C++ does a good job.

And one more thing: will my sig rig (the HP netbook) be enough to learn coding?

Thanks in advance!
Edited by Icekilla - 10/25/11 at 11:56am
fr0sty
(20 items)
 
SnowFlake
(5 items)
 
 
CPURAMHard DriveHard Drive
Intel Core i7 3520M  Corsair Vengeance DDR3 2x 8GB Samsung EVO SSD Hitachi Apple Hard Drive 5400RPM 
OS
macOS Sierra 
  hide details  
Reply
fr0sty
(20 items)
 
SnowFlake
(5 items)
 
 
CPURAMHard DriveHard Drive
Intel Core i7 3520M  Corsair Vengeance DDR3 2x 8GB Samsung EVO SSD Hitachi Apple Hard Drive 5400RPM 
OS
macOS Sierra 
  hide details  
Reply
post #2 of 33
Well.. I don't recommend learning C at all, There simply isn't a market for it anymore. As for what languages to learn first I would start with either c++, python, or java. C++ is a good one for beginners because once you learn c++ you essentially know them all.As for a good compiler, I can't recommend codeblocks enough. Somthing to keep in mind though is that C++ is a tough language to learn and if you choose it as your first language make sure you will stick with it.
    
CPUMotherboardGraphicsRAM
AMD Phenom 2 x4 955 BE MSI NF750-G55 MSI 560ti Twin Frozr II G.SKILL 8GB (4 x 2GB) DDR3 
Hard DriveOptical DriveCoolingOS
Western Digital Caviar Green 500 GB MSI 22X Internal Burner 3x Antec tri cool fans Windows 7 64 bit 
MonitorKeyboardPowerCase
Acer 23" Monitor Razer Blackwidow Corsair hx series 520w Antec 300 
MouseMouse PadAudio
Razer Naga Razer Kabuto Razer Banshee  
  hide details  
Reply
    
CPUMotherboardGraphicsRAM
AMD Phenom 2 x4 955 BE MSI NF750-G55 MSI 560ti Twin Frozr II G.SKILL 8GB (4 x 2GB) DDR3 
Hard DriveOptical DriveCoolingOS
Western Digital Caviar Green 500 GB MSI 22X Internal Burner 3x Antec tri cool fans Windows 7 64 bit 
MonitorKeyboardPowerCase
Acer 23" Monitor Razer Blackwidow Corsair hx series 520w Antec 300 
MouseMouse PadAudio
Razer Naga Razer Kabuto Razer Banshee  
  hide details  
Reply
post #3 of 33
Quote:
Originally Posted by Icekilla View Post
Well, yeah It kinda embarrasses me that I'm 19 and I don't know squat about the wonderful world of programming when there are 13yr old kids who know how to develop iPhone apps!

So, where should I start? Which languages (besides of C and C++) should I learn?

So far I'm considering to start with C and then learn Java, after that, C++ and Visual Basic, maybe python as well.

Do you know any good free resources to learn? I've got some ebooks but I know it won't be enough (at least it should be enough to scratch the surface) to start learning.

Also, which compiler should I use for C and C++? I've heard Bloodshed Dev-C++ does a good job.

Thanks in advance!
Noone does anything in C anymore, and VB is for noobs. It's harder than average to learn, and accomplishes less than average results.

I'd advise you to start with the best capability/learning curve ratio languages - C# and/or Java.

Java is a bit on its down side, lately, and C# is in a golden age, so I'd go with that, but they're both almost the same and share a blow in advantages It's really easy and powerful.

And then, move to C++. If you Start with that, you'll quit on the second month. Most do.
Edited by ronnin426850 - 10/25/11 at 12:00pm
My Rig
(14 items)
 
Ex-wife's Rig
(15 items)
 
 
CPUMotherboardGraphicsRAM
Core i5 4460 AsRock H81M-DG4 Sapphire Rx470 Platinum KVR 1600 16Gb 
Hard DriveHard DriveCoolingOS
2x Seagate 3Tb Samsung 850 EVO 120 Scythe Ninja 3 Rev.B Windows 10 Pro 
MonitorKeyboardPowerCase
Fujitsu Siemens A17-2A Logitech K280e SuperFlower SF-550K12XP Thermaltake Versa H25 
MouseAudio
Logitech G402 Sony MDR XD150 
CPUMotherboardGraphicsRAM
Athlon 750K 4.0Ghz AsRock FM2A75 Pro4+ Sapphire R9 270X Dual-X Kingston 2x4Gb 1600 
Hard DriveHard DriveOptical DriveCooling
Samsung 850 EVO 120  Western Digital 320Gb LiteON DVD-RW CoolerMaster Hyper Z600 
OSMonitorKeyboardPower
Windows 7 Pro x64 Toshiba 32" FullHD TV Logitech FSP Hexa 550 
CaseMouse
DeLUX Logitech 
  hide details  
Reply
My Rig
(14 items)
 
Ex-wife's Rig
(15 items)
 
 
CPUMotherboardGraphicsRAM
Core i5 4460 AsRock H81M-DG4 Sapphire Rx470 Platinum KVR 1600 16Gb 
Hard DriveHard DriveCoolingOS
2x Seagate 3Tb Samsung 850 EVO 120 Scythe Ninja 3 Rev.B Windows 10 Pro 
MonitorKeyboardPowerCase
Fujitsu Siemens A17-2A Logitech K280e SuperFlower SF-550K12XP Thermaltake Versa H25 
MouseAudio
Logitech G402 Sony MDR XD150 
CPUMotherboardGraphicsRAM
Athlon 750K 4.0Ghz AsRock FM2A75 Pro4+ Sapphire R9 270X Dual-X Kingston 2x4Gb 1600 
Hard DriveHard DriveOptical DriveCooling
Samsung 850 EVO 120  Western Digital 320Gb LiteON DVD-RW CoolerMaster Hyper Z600 
OSMonitorKeyboardPower
Windows 7 Pro x64 Toshiba 32" FullHD TV Logitech FSP Hexa 550 
CaseMouse
DeLUX Logitech 
  hide details  
Reply
post #4 of 33
you can try html or alice.
Second Intel Rig
(16 items)
 
  
CPUMotherboardGraphicsRAM
2700 4.5/ 1.28 77 290 (2) 16 / 1866 
Hard DriveCoolingOSMonitor
1000 360/240 10 64 28 2160 
PowerCase
850 540 
  hide details  
Reply
Second Intel Rig
(16 items)
 
  
CPUMotherboardGraphicsRAM
2700 4.5/ 1.28 77 290 (2) 16 / 1866 
Hard DriveCoolingOSMonitor
1000 360/240 10 64 28 2160 
PowerCase
850 540 
  hide details  
Reply
post #5 of 33
Starting with an Object Oriented language is a good idea. I find VB.Net pretty simple and Visual Basic is how I got started programming. Java is also pretty easy. I would suggest starting with one of those two.

If you want to start with Java the Eclipse IDE is pretty robust and nice to use you can download it from http://www.eclipse.org/ as for a java programming tutorial the Oracle tutorials are pretty good and there is a long list of them up to socket programming in java http://download.oracle.com/javase/tutorial/java/ hope this helps you out! GL getting started!
My System
(13 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II x4 955 ASUS Crosshair 3 EVGA 465GTX 1GB 8GB DDR3 1600mhz GSkill/ADATA 
Hard DriveOSMonitorKeyboard
40GB Intel SSD 1TB Western Digital Black Edition Windows 7 x64 Pro Dual 21.5 Sceptre Saitek Eclipse 
PowerCaseMouseMouse Pad
850watt Silverstone Element Coolermaster Haf 932 Razer Lachesis Razer Vespula 
  hide details  
Reply
My System
(13 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II x4 955 ASUS Crosshair 3 EVGA 465GTX 1GB 8GB DDR3 1600mhz GSkill/ADATA 
Hard DriveOSMonitorKeyboard
40GB Intel SSD 1TB Western Digital Black Edition Windows 7 x64 Pro Dual 21.5 Sceptre Saitek Eclipse 
PowerCaseMouseMouse Pad
850watt Silverstone Element Coolermaster Haf 932 Razer Lachesis Razer Vespula 
  hide details  
Reply
post #6 of 33
Thread Starter 
I find strange that many of you say C is obsolete. I mean, all of the universities here in Mexico (what you'd call College in the US) still teach C (alongside other languages such as C++, C# and others. C is taught before teaching other languages here) on their CompSci/Engineering programs. A lot of people told me one thing: If you master C, other languages will be much much easier to learn and understand.

Add to this that I'm pretty sure I'll have to learn C anyway when in college (it's part of my curriculum). That's why I can't discard it even if it's considered obsolete (and I think the concepts of C can allow me to learn C++ and other languages more easily).

From there, I wanna move to C++, then C# and Java and after that, other languages such as Python.

ANYWAY, the fact is that I will NOT be able to escape from C and C++ (even if I wanted to). Do you know any good free web resources I can use to learn them?
fr0sty
(20 items)
 
SnowFlake
(5 items)
 
 
CPURAMHard DriveHard Drive
Intel Core i7 3520M  Corsair Vengeance DDR3 2x 8GB Samsung EVO SSD Hitachi Apple Hard Drive 5400RPM 
OS
macOS Sierra 
  hide details  
Reply
fr0sty
(20 items)
 
SnowFlake
(5 items)
 
 
CPURAMHard DriveHard Drive
Intel Core i7 3520M  Corsair Vengeance DDR3 2x 8GB Samsung EVO SSD Hitachi Apple Hard Drive 5400RPM 
OS
macOS Sierra 
  hide details  
Reply
post #7 of 33
Learn a object oriented lanaguage (C++, Java)
Learn SQL
Learn a scripting lanaguage (Perl, Bash)


This provides a good foundation for all programming.
Once again...
(13 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 [4.28GHz, HT] Asus P6T + Broadcom NetXtreme II VisionTek HD5850 [900/1200] + Galaxy GT240 2x4GB G.Skill Ripjaw X [1632 MHz] 
Hard DriveOSMonitorKeyboard
Intel X25-M 160GB + 3xRAID0 500GB 7200.12 Window 7 Pro 64 Acer H243H + Samsung 226BW XARMOR-U9BL  
PowerCaseMouseMouse Pad
Antec Truepower New 750W Li Lian PC-V2100 [10x120mm fans] Logitech G9 X-Trac Pro 
  hide details  
Reply
Once again...
(13 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 [4.28GHz, HT] Asus P6T + Broadcom NetXtreme II VisionTek HD5850 [900/1200] + Galaxy GT240 2x4GB G.Skill Ripjaw X [1632 MHz] 
Hard DriveOSMonitorKeyboard
Intel X25-M 160GB + 3xRAID0 500GB 7200.12 Window 7 Pro 64 Acer H243H + Samsung 226BW XARMOR-U9BL  
PowerCaseMouseMouse Pad
Antec Truepower New 750W Li Lian PC-V2100 [10x120mm fans] Logitech G9 X-Trac Pro 
  hide details  
Reply
post #8 of 33

Im doing C# at Uni at the moment using this (

) book and its very good.
Enter the dragon
(16 items)
 
Alienware M14x
(9 items)
 
 
CPUMotherboardGraphicsRAM
i7 4790K Asus Sabertooth  Gigabyte Windforce GTX970 16Gb Corsair  
Hard DriveHard DriveCoolingOS
Samsung Evo 120Gb SSD Seagate Barracuda 3TB  Corsair H100i Windows 10 64bit 
MonitorKeyboardPowerCase
2x Dell S2440L & Samsung SM-245B Razer Blackwidow TBD Corsair Air 240 
MouseMouse PadAudio
Razer Mamba XXXL HyperX Asus Xonar D2 - Cambridge Audio Azur 640a - Mo... 
CPUMotherboardGraphicsRAM
Intel Core i7 M14xR2 nVidia GT 650m Alienware 
Hard DriveOSMonitorCase
Alienware Windows 7 64bit Alienware 14" 1600x900 Alienware M14x 
Mouse
Razer Mamba 
  hide details  
Reply
Enter the dragon
(16 items)
 
Alienware M14x
(9 items)
 
 
CPUMotherboardGraphicsRAM
i7 4790K Asus Sabertooth  Gigabyte Windforce GTX970 16Gb Corsair  
Hard DriveHard DriveCoolingOS
Samsung Evo 120Gb SSD Seagate Barracuda 3TB  Corsair H100i Windows 10 64bit 
MonitorKeyboardPowerCase
2x Dell S2440L & Samsung SM-245B Razer Blackwidow TBD Corsair Air 240 
MouseMouse PadAudio
Razer Mamba XXXL HyperX Asus Xonar D2 - Cambridge Audio Azur 640a - Mo... 
CPUMotherboardGraphicsRAM
Intel Core i7 M14xR2 nVidia GT 650m Alienware 
Hard DriveOSMonitorCase
Alienware Windows 7 64bit Alienware 14" 1600x900 Alienware M14x 
Mouse
Razer Mamba 
  hide details  
Reply
post #9 of 33

C really isn't obsolete its still pretty widely used but its generally geared towards a lower level than a lot of people see. Its still used a lot for OS programming etc.

As for learning to program in C++ I have used code blocks http://www.codeblocks.org/ to program in its pretty good. And for a tutorial http://www.cplusplus.com/doc/tutorial/ looks good. This book is a good C Programming book poor dennis ritchie


Edited by ByteMyASCII - 10/25/11 at 1:18pm
My System
(13 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II x4 955 ASUS Crosshair 3 EVGA 465GTX 1GB 8GB DDR3 1600mhz GSkill/ADATA 
Hard DriveOSMonitorKeyboard
40GB Intel SSD 1TB Western Digital Black Edition Windows 7 x64 Pro Dual 21.5 Sceptre Saitek Eclipse 
PowerCaseMouseMouse Pad
850watt Silverstone Element Coolermaster Haf 932 Razer Lachesis Razer Vespula 
  hide details  
Reply
My System
(13 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II x4 955 ASUS Crosshair 3 EVGA 465GTX 1GB 8GB DDR3 1600mhz GSkill/ADATA 
Hard DriveOSMonitorKeyboard
40GB Intel SSD 1TB Western Digital Black Edition Windows 7 x64 Pro Dual 21.5 Sceptre Saitek Eclipse 
PowerCaseMouseMouse Pad
850watt Silverstone Element Coolermaster Haf 932 Razer Lachesis Razer Vespula 
  hide details  
Reply
post #10 of 33
If you really want to get down to coding, but not too low level, then I'd recommend C++ or Java. I started with C++ but a lot of people nowadays are actually learning via C# (very very high level) to get the OOP concepts down. When I went to check out c# recently for some mobile dev work, it was extremely easy to use.

I recommend reading C++ Primer Plus by Prata if you want a book to read for C++. This book served me well in my studies and this was actually referred to me by a friend who works in the VS dept at Microsoft. I read this way back when I was still in the pre-college days.

I also have another friend who created this website: http://www.learncpp.com/
He was actually asked to write a primer for O'Reilly but took up another job instead. It's a really good site for people trying to get up to snuff with C++ basics. You will learn hands-on. It'll teach you how to set up an IDE and all that stuff to get your Hello World program up asap (without half-assing it)

Head First Java is a great book if you're trying to learn Java for the first time. It's written by O'Reilly. You will learn TONs of cool things from basic programming to creating client-service (basic ones of course) apps.

As far as compilers go, it's generally better to use an IDE such as Visual Studio or Eclipse. Eclipse is open source and can compile C and C++ (you need to get the CDT distribution from the eclipse website). The reason why I say it's better is because IDEs generally help with organizing an application and the plugins that you might be able to use also can streamline the build-release process as well. Eclipse is also used in big companies (such as EA).

If you're still new though, you can get by with using something like MinGW and compiling using g++ (for C and C++ applications). Then use Notepad++ which is also free as your texteditor.

Here are some good resources:
Eclipse - http://www.eclipse.org/
NP++ - http://notepad-plus-plus.org/
MinGW - http://www.mingw.org/

The netbook will be fine for development since you're still learning. It's just going to be a bugger as you write more lines of code if your screen is small. Also the larger the application, the longer it will take to compile. I generally do a lot of my light-coding on the go with my netbook, and compile on my dev box at home (Intel Atom is weak... takes forever to even synthesize when I work with hardware langs).
Edited by 0x62 0x70 - 10/25/11 at 1:26pm
Mr Jiggawatts
(13 items)
 
  
CPUMotherboardGraphicsRAM
1090T@4GHz@1.46V Ultra LLC/3GHz CPU-NB@1.33V Asus Crosshair V Formula MSI GTX560-TI 1GB TF II Patriot Viper Xtreme 1600 8GB (2x4GB) 8-9-8-24 
Hard DriveOSMonitorKeyboard
Intel X25-V 40GB, Kingston SSDNow 64GB Windows 7 Ultimate LG Flatron W2353V Razer Arctosa 
PowerCaseMouse
Antec HCG-900W Antec Lanboy Air Yellow Razer Abbysus 
  hide details  
Reply
Mr Jiggawatts
(13 items)
 
  
CPUMotherboardGraphicsRAM
1090T@4GHz@1.46V Ultra LLC/3GHz CPU-NB@1.33V Asus Crosshair V Formula MSI GTX560-TI 1GB TF II Patriot Viper Xtreme 1600 8GB (2x4GB) 8-9-8-24 
Hard DriveOSMonitorKeyboard
Intel X25-V 40GB, Kingston SSDNow 64GB Windows 7 Ultimate LG Flatron W2353V Razer Arctosa 
PowerCaseMouse
Antec HCG-900W Antec Lanboy Air Yellow Razer Abbysus 
  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 › I wanna learn programming... Where do I start?