Log in

View Full Version : How did you learn how to code?


runnerz
July 12th, 2011, 12:13 PM
I just am curious at how you guys learned/ are learning to develop apps and/or learned your languages. Online tutorials or books? Which is best?

TheMatrix
July 12th, 2011, 06:46 PM
My intrigue-iness led me to begin finding some good languages. I started out with HTML and JavaScript, but decided I wanted more. I wanted to do form processing. I wanted to make something dynamic. So I searched one more time. I tried HTML + VBScript, but didn't like that either, so I kept looking.
Then in summer 2010 I installed XAMPP on the family laptop(WinXP Professional). I did some bar basic PHP. For example, I considered this impressive:

(html omitted for brevity)
<?php
$page = $_GET['p'];
if( $page == "1" ) {
$iframe_page = "1.html";
} else {
$iframe_page = "2.html";
}
?>
<iframe src="<? print $iframe_page; ?>">


I still was not happy. I figured out MySQL later that summer but never really got good with it.

Then in September 2010, I went to Halted Electronics Supply, where they sell miscellaneous computer parts and stuff, in a huuuuge warehouse. I eventually found an old serverboard. It had a Pentium4(with HyperThreading), Intel Canterwood Chipset, and two Gigabit ethernet cards, all put in a 1U server case with 260W power supply and an incessively loud blower-fan-thing. It included an ATI Rage XL graphics chip with only 8MB of VRAM(Yes I know, that was a lot some time)
There was no RAM included, though. I found some on eBay for $21.50. It was 2 sticks of 512MB DDR1.
Motherboard is a SuperMicro P4SCE (http://www.supermicro.com/products/motherboard/P4/E7210/P4SCE.cfm).
Everything besides the RAM for a shocking $45.
So I immediatly put Ubuntu 10.04 on it. It was going good for a while, until the hard drive crashed. The HD was an old 10GB one we had laying around.
So after some struggles with that, I got a new HD. November 2010, I got a new case for the board, a better Graphics card, and a DVD drive.
8 December 2010, I had Fedora 14 running on it. And I still wasn't happy. the XAMPP for Linux didn't work. I later figured out it was SELinux that was set too strict.
Then around 20 December, I decided I'd try openSuSE 11.3. I've had it running until just recently: ~10 May 2011. But then the X server crashed and screwed up, so I decided it was time for a new OS. openSuSE 11.4, which I am typing this very post on.
Now, whenever I type...
[email protected]:~$ sudo lampp start
...it obediently obeys my command.
So what does this all mean?
Well, if you've gotten through this far of my post, I'll tell you.
I picked up quite a bit of shell scripting along the way. And now I am a happy Perl programmer.
Here's the motto of openSuSE:
SuSE: simply change.
I have changed: from a lowly Windows user, into an awesome Linux-sysadmin-lizard.

Thank you, openSuSE.
(Sorry 'bout the off-topic-iness, I just felt like writing my expirience with my computer :P)
(Off-topic: Post is 2Kilobytes of data, lol)

dead
July 13th, 2011, 04:54 PM
I learned C++ from a book.

TheMatrix
July 14th, 2011, 11:04 AM
I was born with the power.
That's not going to help - care to elabourate?
I think that the OP is looking for a good way to learn. So please, make your answers helpful, 'kay? :)

PerpetualImperfexion
July 15th, 2011, 04:31 AM
The only languages I'm decent in are VB and Batch. Both I learned from youtube. Batch is pretty much useless and VB is getting to be too simple for the programs I'd like to write. I would also be open to suggestions on the best languages and ways to learn them.

TheMatrix
July 15th, 2011, 04:31 PM
What kinds of things do you want to write?
If you like web-design, I would reccommend Perl-CGI or PHP.
If you want to automate and test things, try Perl or Unix Shell. You could try it with Batch, but............that'll be hard.
Games, that sort of stuff, you'd probably want to use C or C++, or if you're feeling brave, Java.

PerpetualImperfexion
July 16th, 2011, 01:51 AM
What kinds of things do you want to write?
If you like web-design, I would reccommend Perl-CGI or PHP.
If you want to automate and test things, try Perl or Unix Shell. You could try it with Batch, but............that'll be hard.
Games, that sort of stuff, you'd probably want to use C or C++, or if you're feeling brave, Java.

I like the idea of writing games so I guess I'll try C/C++ (where the hell do I find that cheap?). I've also been interested in AI (Artificial Intelligence) and actually managed to pull something off in VB, but it was very basic (no pun). What would you suggest for something like that?

TheMatrix
July 16th, 2011, 09:10 PM
I like the idea of writing games so I guess I'll try C/C++ (where the hell do I find that cheap?).
Ummmm......it's free.....
If you use Linux or Unix, then I recccomend gcc (http://gcc.gnu.org/). I don't know if they make that for Windows as well.
For Windows, the one that I use is Visual Studio 2010 (http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express). I've barely used it, so I can't really say much about it.
For Mac, my friend uses something called "XCode". I have no knowledge of how that works, though.

I've also been interested in AI (Artificial Intelligence) and actually managed to pull something off in VB, but it was very basic (no pun). What would you suggest for something like that?
C/C++ as well. You could try a scripting language, but I'm not sure that will be particularly fast.

anonymous.john
July 16th, 2011, 09:42 PM
I like the idea of writing games so I guess I'll try C/C++ (where the hell do I find that cheap?). I've also been interested in AI (Artificial Intelligence) and actually managed to pull something off in VB, but it was very basic (no pun). What would you suggest for something like that?

If you're looking to get into simple games try Java (http://www.oracle.com/technetwork/java/javase/downloads/index.html) (You need both the Java SE Runtime and the JDK) and the Greenfoot IDE (http://www.greenfoot.org/). Greenfoot also sells a book that's really good.

TheMatrix
July 16th, 2011, 09:49 PM
... and the Greenfoot IDE (http://www.greenfoot.org/). Greenfoot also sells a book that's really good.
You don't need Greenfott in particular; that's just one of them. There's many other good ones out there. Personally, for the few times that I use Java, I use Eclipse.

anonymous.john
July 16th, 2011, 10:11 PM
You don't need Greenfott in particular; that's just one of them. There's many other good ones out there. Personally, for the few times that I use Java, I use Eclipse.

Did I say he needed Greenfoot? I said to make simple games he could try it. Greenfoot is geared toward entry level game programming. It gives you a sandboxed API to play with and nice tutorials. It'll get you set on the right path. Eclipse is designed for experienced programmers, I'd hardly recommend it to anyone at entry level for programming in Java.

TheMatrix
July 16th, 2011, 10:15 PM
I used Eclipse for entry-level. Of course, that was 3 years ago, and I haven't used Java for anything much since, so I probably wouldn't kow how to use it anymore.

unixmitosis
July 16th, 2011, 10:45 PM
I started learning how to code with HTML. Which strictly speaking isn't a language but rather a mark up language. Then from there I started my foray into Javascript, which at the time didn't adhere to the ECMA 2.0 standard, but nonetheless, it taught me the basics of procedural programming.

As my knowledge in web-design grew I learned of this wonderful thing called the unix command prompt and quickly I fell in love with sdf.lonestar.org. They are an organization keen on teaching the educational merit of this command prompt by providing one for the general public. With a command prompt and a fully loaded (with software) system, I found that it was easier to make scripts that automated my tasks. This introduced me to the language of PERL. PERL is an excellent language and it is fully customizable and huge! A bit complicated at times though.

As for what came next, alot of what I learned came out of necessity. I started my personal web-design company back when I was 14 years old and I've been involved in the field ever since. Currently I'm working on physics and particle systems for simple simulations within Flash CS5.5.

As for my knowledge, I've grown tired of listing them verbatim, so I'll only include what I use from day to day, and actually consider myself an "expert" in: Java/C++/C/PERL/PHP/MySQL (SQL standards)/BASH/Actionscript 3.0/Javascript (AJAX)/C#/

My Personal opinion on the "first language" issue has always been Java (Since I learned it). Java is a full featured programming language, and according to modern benchmarks can render the speed advantages of machine-native code nil. Java, because it runs on a virtual machine rather than natively on the CPU, is super-portable. With no modification 99% of the time, my programs can run on Linux, Windows, Mac, IPads, and Android phones (Android development is often done completely in Java!).

If you have any questions regarding the tech world go ahead and ask me ;)

russjr08
July 24th, 2011, 09:17 PM
Ummmm......it's free.....
If you use Linux or Unix, then I recccomend gcc (http://gcc.gnu.org/). I don't know if they make that for Windows as well.
For Windows, the one that I use is Visual Studio 2010 (http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express). I've barely used it, so I can't really say much about it.
For Mac, my friend uses something called "XCode". I have no knowledge of how that works, though.


C/C++ as well. You could try a scripting language, but I'm not sure that will be particularly fast.

XCode is the main IDE for Mac OS X, like Visual Studio for Windows. It's actually pretty nice.

On Topic: My dad passed down a Java book to me. (He had to learn Java for his job), I just started reading it a few days ago. I usually find little bits of everything online and on YouTube. Or I find a free PDF for the programming language, fire up Sublime Text 2, and open up Terminal on Ubuntu :)