Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Good Programming Guides?
New Posts  All Forums:Forum Nav:

Good Programming Guides?

post #1 of 10
Thread Starter 
I have 2 questions.

1. I plan to learn 4 languages, specifically: Python, C, Java, and ASM
I'd like to learn them by difficulty, so should I learn it:

A. Python, Java, C, ASM

or

B. Python, C, Java, ASM?

I'm confused.

2. I do not know where to start for books and guides on those languages, could you guys recommend me some?

Thanks
Red Thunder
(19 items)
 
  
CPUMotherboardGraphicsRAM
i5 2500k ASRock Fatal1ty Z68 Pro3 Gen3 Diamond Multimedia HD 5970 G.Skill Ripjaws X 8GB 
Hard DriveHard DriveOptical DriveCooling
OCZ Solid 3 60GB Seagate Barracuda 7200.9 160GB Lite-On iHAS424 Sunbeam Twister 120 
OSMonitorKeyboardPower
Windows 7 Ultimate 64-bit Samsung SyncMaster E1920X Logitech K120 Corsair GS700 
CaseMouseMouse PadAudio
NZXT Phantom Razer Naga None Realtek ALC892 
OtherOtherOther
Behringer Xenyx 502 Lepai LP-2020A+ Dayton Audio B652 
  hide details  
Reply
Red Thunder
(19 items)
 
  
CPUMotherboardGraphicsRAM
i5 2500k ASRock Fatal1ty Z68 Pro3 Gen3 Diamond Multimedia HD 5970 G.Skill Ripjaws X 8GB 
Hard DriveHard DriveOptical DriveCooling
OCZ Solid 3 60GB Seagate Barracuda 7200.9 160GB Lite-On iHAS424 Sunbeam Twister 120 
OSMonitorKeyboardPower
Windows 7 Ultimate 64-bit Samsung SyncMaster E1920X Logitech K120 Corsair GS700 
CaseMouseMouse PadAudio
NZXT Phantom Razer Naga None Realtek ALC892 
OtherOtherOther
Behringer Xenyx 502 Lepai LP-2020A+ Dayton Audio B652 
  hide details  
Reply
post #2 of 10
Java is WAAY easier than C. Unless you're referring to C#, then it's the other way around, but by a small margin.
R.E.D (dead)
(5 items)
 
Wife's D3 machine
(13 items)
 
 
CPUGraphicsRAMHard Drive
Core 2 Duo P8400 Nvidia 9600M GT 2x2Gb Hynx DDR2 WD Scorpio Blue 
OS
Windows 7 x64 Professional 
CPUMotherboardGraphicsRAM
Intel Pentium G840 DualCore SB 2.8Ghz AsRock H61M-VS Inno3D 8800 GTS 320 Kingston HyperX 1600 4Gb 
Hard DriveOptical DriveCoolingOS
WD Scorpio Blue 250Gb LiteOn DVD-RW stock Win 7 Home Premium 
MonitorKeyboardPowerCase
Acer 19" 1440x900 Logitech MX3200 beQuiet 300W MS-Tech CA-0130 Black 
Mouse
Logitech MX300 Laser 
  hide details  
Reply
R.E.D (dead)
(5 items)
 
Wife's D3 machine
(13 items)
 
 
CPUGraphicsRAMHard Drive
Core 2 Duo P8400 Nvidia 9600M GT 2x2Gb Hynx DDR2 WD Scorpio Blue 
OS
Windows 7 x64 Professional 
CPUMotherboardGraphicsRAM
Intel Pentium G840 DualCore SB 2.8Ghz AsRock H61M-VS Inno3D 8800 GTS 320 Kingston HyperX 1600 4Gb 
Hard DriveOptical DriveCoolingOS
WD Scorpio Blue 250Gb LiteOn DVD-RW stock Win 7 Home Premium 
MonitorKeyboardPowerCase
Acer 19" 1440x900 Logitech MX3200 beQuiet 300W MS-Tech CA-0130 Black 
Mouse
Logitech MX300 Laser 
  hide details  
Reply
post #3 of 10
Thread Starter 
Quote:
Originally Posted by ronnin426850 View Post

Java is WAAY easier than C. Unless you're referring to C#, then it's the other way around, but by a small margin.
I've been told that the syntax of Java is stranger than C, but I had no experience. Thanks!
Red Thunder
(19 items)
 
  
CPUMotherboardGraphicsRAM
i5 2500k ASRock Fatal1ty Z68 Pro3 Gen3 Diamond Multimedia HD 5970 G.Skill Ripjaws X 8GB 
Hard DriveHard DriveOptical DriveCooling
OCZ Solid 3 60GB Seagate Barracuda 7200.9 160GB Lite-On iHAS424 Sunbeam Twister 120 
OSMonitorKeyboardPower
Windows 7 Ultimate 64-bit Samsung SyncMaster E1920X Logitech K120 Corsair GS700 
CaseMouseMouse PadAudio
NZXT Phantom Razer Naga None Realtek ALC892 
OtherOtherOther
Behringer Xenyx 502 Lepai LP-2020A+ Dayton Audio B652 
  hide details  
Reply
Red Thunder
(19 items)
 
  
CPUMotherboardGraphicsRAM
i5 2500k ASRock Fatal1ty Z68 Pro3 Gen3 Diamond Multimedia HD 5970 G.Skill Ripjaws X 8GB 
Hard DriveHard DriveOptical DriveCooling
OCZ Solid 3 60GB Seagate Barracuda 7200.9 160GB Lite-On iHAS424 Sunbeam Twister 120 
OSMonitorKeyboardPower
Windows 7 Ultimate 64-bit Samsung SyncMaster E1920X Logitech K120 Corsair GS700 
CaseMouseMouse PadAudio
NZXT Phantom Razer Naga None Realtek ALC892 
OtherOtherOther
Behringer Xenyx 502 Lepai LP-2020A+ Dayton Audio B652 
  hide details  
Reply
post #4 of 10
Quote:
Originally Posted by White Fire View Post

I've been told that the syntax of Java is stranger than C, but I had no experience. Thanks!

Well...

It all depends very much on the understanding of the person. In syntax, they are about the same.

http://en.wikipedia.org/wiki/C_syntax
http://en.wikipedia.org/wiki/Java_syntax

Now, Java comes with a large pre-compiled library to use as you see fit. C comes with nothing (again, unless it's C++ .NET, or C#).
Also, Java is an OO language. Although that adds to the confusion, it opens up many possibilities, and for some people, is easier to grasp. smile.gif
Edited by ronnin426850 - 8/4/12 at 11:17pm
R.E.D (dead)
(5 items)
 
Wife's D3 machine
(13 items)
 
 
CPUGraphicsRAMHard Drive
Core 2 Duo P8400 Nvidia 9600M GT 2x2Gb Hynx DDR2 WD Scorpio Blue 
OS
Windows 7 x64 Professional 
CPUMotherboardGraphicsRAM
Intel Pentium G840 DualCore SB 2.8Ghz AsRock H61M-VS Inno3D 8800 GTS 320 Kingston HyperX 1600 4Gb 
Hard DriveOptical DriveCoolingOS
WD Scorpio Blue 250Gb LiteOn DVD-RW stock Win 7 Home Premium 
MonitorKeyboardPowerCase
Acer 19" 1440x900 Logitech MX3200 beQuiet 300W MS-Tech CA-0130 Black 
Mouse
Logitech MX300 Laser 
  hide details  
Reply
R.E.D (dead)
(5 items)
 
Wife's D3 machine
(13 items)
 
 
CPUGraphicsRAMHard Drive
Core 2 Duo P8400 Nvidia 9600M GT 2x2Gb Hynx DDR2 WD Scorpio Blue 
OS
Windows 7 x64 Professional 
CPUMotherboardGraphicsRAM
Intel Pentium G840 DualCore SB 2.8Ghz AsRock H61M-VS Inno3D 8800 GTS 320 Kingston HyperX 1600 4Gb 
Hard DriveOptical DriveCoolingOS
WD Scorpio Blue 250Gb LiteOn DVD-RW stock Win 7 Home Premium 
MonitorKeyboardPowerCase
Acer 19" 1440x900 Logitech MX3200 beQuiet 300W MS-Tech CA-0130 Black 
Mouse
Logitech MX300 Laser 
  hide details  
Reply
post #5 of 10
I am currently teaching myself Java....
If you want an easy to understand and great video tutorial check out on You Tube "Bucky java tutorial" 80 some odd videos ranging from 6-20 mins long on just Java. They are very informative.
I would suggest having a companion book so if you don't understand something you can read up on it. I had a hard time wrapping my head around methods from a different class, but a book i got helped me out ALOT.

Oh and Bucky has a TON of other programming language tutorials as well! Good Luck! thumb.gif
Riggington
(11 items)
 
  
CPUMotherboardGraphicsRAM
AMD FX-6100 GIGABYTE GA-990XA-UD3 AM3+ BFG Tech GeForce GTX 275 G.SKILL Sniper 8GB (2 x 4GB) DDR3 1600 
Hard DriveOptical DriveCoolingOS
Seagate Raid 0 1TB DVD-RW Cooler Master V8 Windows 7 
KeyboardPowerCase
Razer Black Widow 550 Watt Cooler Master Haf 922 
  hide details  
Reply
Riggington
(11 items)
 
  
CPUMotherboardGraphicsRAM
AMD FX-6100 GIGABYTE GA-990XA-UD3 AM3+ BFG Tech GeForce GTX 275 G.SKILL Sniper 8GB (2 x 4GB) DDR3 1600 
Hard DriveOptical DriveCoolingOS
Seagate Raid 0 1TB DVD-RW Cooler Master V8 Windows 7 
KeyboardPowerCase
Razer Black Widow 550 Watt Cooler Master Haf 922 
  hide details  
Reply
post #6 of 10
Thread Starter 
Quote:
Originally Posted by FuzzyPants View Post

I am currently teaching myself Java....
If you want an easy to understand and great video tutorial check out on You Tube "Bucky java tutorial" 80 some odd videos ranging from 6-20 mins long on just Java. They are very informative.
I would suggest having a companion book so if you don't understand something you can read up on it. I had a hard time wrapping my head around methods from a different class, but a book i got helped me out ALOT.

Oh and Bucky has a TON of other programming language tutorials as well! Good Luck! thumb.gif

I've watched his Python tutorials, they were the best I've watched.

I'll definitely check him out thumb.gif
Red Thunder
(19 items)
 
  
CPUMotherboardGraphicsRAM
i5 2500k ASRock Fatal1ty Z68 Pro3 Gen3 Diamond Multimedia HD 5970 G.Skill Ripjaws X 8GB 
Hard DriveHard DriveOptical DriveCooling
OCZ Solid 3 60GB Seagate Barracuda 7200.9 160GB Lite-On iHAS424 Sunbeam Twister 120 
OSMonitorKeyboardPower
Windows 7 Ultimate 64-bit Samsung SyncMaster E1920X Logitech K120 Corsair GS700 
CaseMouseMouse PadAudio
NZXT Phantom Razer Naga None Realtek ALC892 
OtherOtherOther
Behringer Xenyx 502 Lepai LP-2020A+ Dayton Audio B652 
  hide details  
Reply
Red Thunder
(19 items)
 
  
CPUMotherboardGraphicsRAM
i5 2500k ASRock Fatal1ty Z68 Pro3 Gen3 Diamond Multimedia HD 5970 G.Skill Ripjaws X 8GB 
Hard DriveHard DriveOptical DriveCooling
OCZ Solid 3 60GB Seagate Barracuda 7200.9 160GB Lite-On iHAS424 Sunbeam Twister 120 
OSMonitorKeyboardPower
Windows 7 Ultimate 64-bit Samsung SyncMaster E1920X Logitech K120 Corsair GS700 
CaseMouseMouse PadAudio
NZXT Phantom Razer Naga None Realtek ALC892 
OtherOtherOther
Behringer Xenyx 502 Lepai LP-2020A+ Dayton Audio B652 
  hide details  
Reply
post #7 of 10
I've done both Java and C#. Java is pretty versatile as is C# but the syntax is funky. I honestly forget C# now that my job requires all java development. Normally if you know one you can read and decipher the other. I recommend the easy head start books or the OReilly books on C# and Asp.net. One of them has a whole tutorial from chapter 1 all the way to the end where you design a full functional site with a Database and web services too.
    
CPUMotherboardGraphicsRAM
Intel Core i5 2500k Asrock Extreme3 Gen3 Sapphire Vapor X 7970Ghz  8GB Corsair Vengence 
Hard DriveHard DriveOptical DriveOS
1 TB Seagate 7200rpm 128 GB Crucial M4 SSD 24x Dvd-RW Windows 7 Professional 
MonitorPowerCase
Acer 22" LED Corsair 750W NZXT Phantom 410 Black & Orange Trim 
  hide details  
Reply
    
CPUMotherboardGraphicsRAM
Intel Core i5 2500k Asrock Extreme3 Gen3 Sapphire Vapor X 7970Ghz  8GB Corsair Vengence 
Hard DriveHard DriveOptical DriveOS
1 TB Seagate 7200rpm 128 GB Crucial M4 SSD 24x Dvd-RW Windows 7 Professional 
MonitorPowerCase
Acer 22" LED Corsair 750W NZXT Phantom 410 Black & Orange Trim 
  hide details  
Reply
post #8 of 10
If you want to learn Python, learn it first.

My first language was Groovy, which is built on Java, and it was a lot easier to do a lot of things than it is to do them in Java. What I mean by this is, there are several convenience functions built in to Groovy that just make using it significantly easier. Python possesses a lot of similar functions (more, I believe), and it will be a lot easier to get used to programming logic coding in Python over any of the other languages you've mentioned.

I would learn ASM after C, just because it is so low-level. You'll probably want to have a knowledge of things like pointers, etc, before you deal with ASM. So, in my opinion, I'd learn Python first, then Java, then C, then ASM.

With that said, take it slow. I spent the better part of a year working with Groovy 8 hours a day (it was my job) to get used to programming in general. It takes a long time to master a programming language, especially your first one. Along the same vein, I'm currently getting to know Haskell, and have been for most of this current year. Learning new languages takes time, so four full languages is a large commitment (although, once you master your first one, you'll start to see similarities among them).

Python is a good starter language because it will allow you to do things without much fuss, and as such, I think it's a good basis for programming in general, and you'll get a lot out of learning it. It will also (likely) be more fun than learning Java (which can get kinda frustrating knowing the power of more modern languages like Python).

In any case, good luck with your studies! smile.gif
Wings
(9 items)
 
  
CPUMotherboardGraphicsRAM
Core i7 2600k Gigabyte Z68X-UD3H MSI N560-GTX-Ti-Hawk Corsair Vengeance 
Hard DriveCoolingOSPower
Samsung F4 Corsair H100 Windows 7 Ultimate x64 Corsair AX850 
Case
Corsair Obsidian 650D 
  hide details  
Reply
Wings
(9 items)
 
  
CPUMotherboardGraphicsRAM
Core i7 2600k Gigabyte Z68X-UD3H MSI N560-GTX-Ti-Hawk Corsair Vengeance 
Hard DriveCoolingOSPower
Samsung F4 Corsair H100 Windows 7 Ultimate x64 Corsair AX850 
Case
Corsair Obsidian 650D 
  hide details  
Reply
post #9 of 10
5outh speaks the truth here, my only addition would be not to trouble yourself with ASM unless you require it (working with really low level hardware for industry purposes), because other than that there is minimum application for it (compared to the high level languages).
Back in Black
(13 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II X4 965 BE (C3) Biostar TA790GX A3+ Sapphire HD 5770 (v2) CORSAIR XMS3 4GB DDR3 
Hard DriveOptical DriveOSMonitor
WD Caviar Black 640GB Sony Optiarc CD/DVD RW Windows 7 Ultimate x64 NEC MultiSync LCD 1960NXi 
KeyboardPowerCaseMouse
Microsoft Comfort Curve Keyboard 2000 Corsair 650TX Cooler Master Storm Scout Logitech MX 400 Laser 
  hide details  
Reply
Back in Black
(13 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II X4 965 BE (C3) Biostar TA790GX A3+ Sapphire HD 5770 (v2) CORSAIR XMS3 4GB DDR3 
Hard DriveOptical DriveOSMonitor
WD Caviar Black 640GB Sony Optiarc CD/DVD RW Windows 7 Ultimate x64 NEC MultiSync LCD 1960NXi 
KeyboardPowerCaseMouse
Microsoft Comfort Curve Keyboard 2000 Corsair 650TX Cooler Master Storm Scout Logitech MX 400 Laser 
  hide details  
Reply
post #10 of 10
Given just python, C, asm, and java, this is my advice.

I would learn python to get a feel for procedural and object-oriented programming and learn to think like a programmer. Next, learn C. This will give a lower level view on static typing and data structures. The next step is a good book on algorithms to make you think even more like a programmer. After this is done, learn MIPS assembly as it is easier to learn than x86 and there's more good book about it as it is taught in lots of schools (in addition, it is the best computer architecture around). Finally, about java. Learn clojure instead of java. Both compile to the JVM (java virtual machine) bytecode, but development in clojure using a functional programming style will stretch your mind in another way making you an even better programmer while avoiding the horrid language that is java (you get the cross platform JVM and all the libraries without the java syntax).

To those stating that java is easier to learn. I would challenge you to justify that statement. C is a very small language, so learning all the parts is much easier (there's not dozens of libraries to memorize). The fact that learning OOP isn't necessary makes another case against java being easier to learn. Further, in a normal program, writing libraries in C and then calling them and organizing the general structure in python will be faster and easier than writing in java while performance will be similar or better as all the heavy lifting is done by the C code (and pypy is only about 50% slower than java anyway).
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Coding and Programming
Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Good Programming Guides?