Who Wants To Learn How To Program?

Discuss how to write good code, break bad code, your current pet projects, or the best way to approach novel problems

Who Wants To Learn How To Program?

Post by nathandelane on Mon Jun 30, 2008 5:13 pm
([msg=6156]see Who Wants To Learn How To Program?[/msg])

Now, I'm serious, who really wants to learn how to program? And why should you? Often times on these forums (and I haven't been here too long to take notice) many users seem to be getting bored with all of the hassle that the challenges provide. Many of you want to become a hacker very quickly, or just automatically know what to do to hack x system or y application. With a good 16 years of programming experience behind me, including experience in everything from machine language to BASIC, and from heavily typed high-level languages like Java, C, and C# to scripting languages like Python and Ruby, even I don't have all of the programming practice it takes to be able to hacking something up or down. In my mind programming and understanding how computers do what they do are at the root of hacking. This idea is simply based on my observations and experience.

Now some of you ask, how can I learn programming the fastest? The quickest way to learn how to program is by doing it. I'll share an example from my own life, though granted it is a relatively dumb part of my life. Back about a year ago, I decided that it was definitely time to stop pretending I didn't want to learn Microsoft's proprietary C# programming language, and time to start learning it (yes, I have a little grudge against MS). So I researched a few books on C#, found a couple at my local Barnes and Noble Booksellers, and decided upon C# For Dummies (for anyone wondering this For Dummies book is relatively good, though not great). Once I got it home, I began reading it from cover to cover. Within a couple of days I realized that most of the knowledge contained in the first half of the book I already knew from my own experience. So I began to skim the remaining chapters, and noticed that they weren't much help either. So I, having much experience in other programming languages, decided to just go at it myself. I think that the most difficult part about that was deciding upon a project that would satisfy my appetite to learn C#. This was by far not my first C# program to date - that was a simple calendar/clock widget for the desktop that I wrote. Soon, however, I luckily received a task to write a piece of automation to load-test our website at work. That suited me well. I didn't know anything yet about XML, Configuration, Linq, and a myriad of other technologies introduced by Microsoft in their .NET framework as of late. Now, though not proficient, I can easily debug, write, and fix programs written by other people in C#.

The moral of that story is that practice does bring one closer to perfection and books can't replace what practice gives to a becoming hacker. I have written dozens of badly coded apps in C# and a couple of well-coded ones, but I'm much better at coding in C# now than I was about a year ago. This brings me to my point. I have often looked to other programmers around me to gauge my abilities and to learn where I could improve. Several years ago I came across this and this websites. Both describe the hacker as somebody who thrives for knowledge, especially in computer technology. Again, programming is at the root of hacking, and I don't think you can really be a hacker without knowing how to program. What's more is that you can fairly easily be taken by somebody if you aren't intimate with computer hardware and software technologies. I believe we are blessed to have such a conducive atmosphere now in our world to learning about programming. Programming languages are free to download, install, and use however you want.

I know there are links all over these forums for this kind of stuff, but I think they've been somewhat lost. If you're running Linux you can use you package manager to locate these programming languages, but if you're running Windows, I think that the task is much more difficult. Here are a few of my favorite programming tools, available for free, some open source and others commercial, but free nonetheless.

ftp://gd.tuwien.ac.at/gnu/mingw/ MinGW - Minimalist GNU Tools for Windows
http://www.microsoft.com/express/ Microsoft Visual Studio Express Editions
http://www.python.org/download/ Python from Python.org
http://www.activestate.com/Products/activeperl/index.mhtml Perl from ActiveState (also has Mac versions)
http://www.php.net/downloads.php PHP from PHP.org
http://dev.mysql.com/downloads/mysql/5.0.html#downloads MySQL Community Server
http://www.postgresql.org/download/ PostgreSQL - The World's Most Advanced Open Source Database
http://java.sun.com/javase/downloads/?intcmp=1281 Java JDK from Sun Microsystems
http://www.gnu.org/software/mit-scheme/index.html#Download MIT Scheme Programming Language - based on LISP
http://www.squeak.org/Download/ Squeak - Open Source Smalltalk Vitual Machine Environment
http://www.ruby-lang.org/en/downloads/ Ruby Scripting Language
http://sourceforge.net/project/showfiles.php?group_id=6208 NASM - The Netwide Assembler
http://httpd.apache.org/download.cgi Apache Web Server

Cheers.
Me, Nathandelane, Highly influential to Hackerdom, Premature Optimization=http://c2.com/cgi/wiki?PrematureOptimization
User avatar
nathandelane
Poster
Poster
 
Posts: 204
Joined: Thu Jun 26, 2008 11:26 am
Location: Utah
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by doubleman on Mon Jun 30, 2008 5:38 pm
([msg=6162]see Re: Who Wants To Learn How To Program?[/msg])

I appreciate this post. Practice issss important, thanks!

I'm not agreeing with you as a programmer, but as a noob. Thanks for the advice.
doubleman
New User
New User
 
Posts: 30
Joined: Thu Jun 26, 2008 4:15 pm
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by slashdox on Mon Jun 30, 2008 7:53 pm
([msg=6171]see Re: Who Wants To Learn How To Program?[/msg])

Very, very good post. I agree that people should stop kidding themselves.

By the way, to the noobies out there, I have no problem sharing some real programming ebooks with you guys, so don't hesitate to ask :) I, too, am a noobie so I know what it feels like to be deprived ;)
slashdox
New User
New User
 
Posts: 24
Joined: Thu Jun 26, 2008 10:31 pm
Location: Toronto
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by c4p_sl0ck on Tue Jul 01, 2008 11:41 pm
([msg=6324]see Re: Who Wants To Learn How To Program?[/msg])

Very good post. A book can be good for learning the basics and syntax. But to become really good you have to code, code, code. :D
c4p_sl0ck
New User
New User
 
Posts: 23
Joined: Thu Jun 26, 2008 8:03 pm
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by nathandelane on Wed Jul 02, 2008 8:53 am
([msg=6355]see Re: Who Wants To Learn How To Program?[/msg])

Thanks ya'll for the nice comments. Programming can be tons of fun. I especially get excited when I figure something new out faster than I thought I would or could. This type of experience can only be gained by practicing a lot. One of the very nice things about programming though, is that there are some basics and generalizations you can learn that work to some extent in every programming language. So don't let the many programming language resources I listed be daunting to you. Those are just most of the languages I have experience with. They are all different in many ways but also the same in many ways. They all use many of the same constructs or syntax. Something I've noticed since I've been programming when I was little is that if you understand the theory of programming then you can pick up almost any programming language (aside from esoteric languages, which are completely different and somewhat off-the-wall) quickly. For example, let's take a for-loop construct.

In C, C++, Java, and C#.NET (among others) a for-loop looks like this:
Code: Select all
for(int i = 0; i < 10; ++i)
{
    printf("Hello, World!\n\r");
}


In Python it looks like:
Code: Select all
for i in range(0, 10):
   print 'Hello, World!'


In Perl:
Code: Select all
for ($i = 0; $i < 10; $i++) {
    print "Hello, World!\n\r";
}


And I won't go into assembler here...yet. :)
Me, Nathandelane, Highly influential to Hackerdom, Premature Optimization=http://c2.com/cgi/wiki?PrematureOptimization
User avatar
nathandelane
Poster
Poster
 
Posts: 204
Joined: Thu Jun 26, 2008 11:26 am
Location: Utah
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by Inferno96 on Thu Jul 03, 2008 3:53 pm
([msg=6488]see Re: Who Wants To Learn How To Program?[/msg])

I would really recommend Head First C# to anyone trying to learn C#.

I would recommend the whole Head First series, they are the best programming books I have ever read.

Other books in the series include: Java, Javascript, Design Patterns, Ajax, SQL, HTML and Css

Great post, by the way! :D
Inferno96
New User
New User
 
Posts: 27
Joined: Fri Apr 18, 2008 3:06 am
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by deejaycaress on Fri Jul 04, 2008 4:13 pm
([msg=6580]see Re: Who Wants To Learn How To Program?[/msg])

Please who can help me, I am interested in programming and hacking but I dont even have the minmum knowledge, I dont knw where to start from,please my email is deejaycaress@yahoo.com for anyone who is ready to help. thank you all.
deejaycaress
New User
New User
 
Posts: 1
Joined: Thu Jul 03, 2008 5:24 am
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by coldghost213 on Fri Jul 04, 2008 9:02 pm
([msg=6592]see Re: Who Wants To Learn How To Program?[/msg])

Could I just go into sites I pick at random, download a bunch of stuff that says "Hackers package" (which half of those stuff probly has a virus) and just go to other people and say LMAO I MADE THIS :3
coldghost213
New User
New User
 
Posts: 15
Joined: Wed Jun 25, 2008 9:04 pm
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by nathandelane on Thu Jul 10, 2008 11:06 am
([msg=7066]see Re: Who Wants To Learn How To Program?[/msg])

deejaycaress wrote:Please who can help me, I am interested in programming and hacking but I dont even have the minmum knowledge, I dont knw where to start from,please my email is deejaycaress@yahoo.com for anyone who is ready to help. thank you all.


I would really enjoy getting you started in programming, but do you know anything about programming? Often the first thing to do is to learn about it. It is also necessary to learn a programming language. So do you have a specific interest in any programming language? Also I don't know that having a single email thread with somebody would be as helpful to you as posting your questions on a forum like this one, where everybody can help you.

coldghost213 wrote:Could I just go into sites I pick at random, download a bunch of stuff that says "Hackers package" (which half of those stuff probly has a virus) and just go to other people and say LMAO I MADE THIS :3


This is a pretty lame thing to do IMNSHO. Also that doesn't make you a hacker by any means. Even YOU could probably learn to write a Trojan at least, but do what you like.
Me, Nathandelane, Highly influential to Hackerdom, Premature Optimization=http://c2.com/cgi/wiki?PrematureOptimization
User avatar
nathandelane
Poster
Poster
 
Posts: 204
Joined: Thu Jun 26, 2008 11:26 am
Location: Utah
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by Stoutanator on Thu Jul 10, 2008 1:19 pm
([msg=7084]see Re: Who Wants To Learn How To Program?[/msg])

I can see where Nathan is coming from. I just turned 15 years old and started programming probably 3 months ago in PHP. For those of you who don't know what PHP is its basically just a scripting language that you incorporate into websites. Nothing to fancy. Once I mentioned it to my parents they took me out to get a book. I started off with PHP for Dummies which really helped me get of my feet. Then I moved on to a book called PHP and MySQL Web Development - By Luke Welling in case your interested. It's a pretty good book and I'd recommend it. What I'm getting at like Nathan was is that you can't just expect to learn something by reading a book. I've read basically two books now and I'm no where close to being a "fluent" PHP programmer I guess. It comes with time and experience. When I say experience I mean by you programming stuff. I know I always want to code myself a CMS. Setting goals is a good thing to do that way you stay interested in the language and you are learning constantly.

Hope that kinda added to Nathans post.
Stoutanator
New User
New User
 
Posts: 1
Joined: Thu Jul 10, 2008 1:06 pm
Blog: View Blog (0)


Next

Return to Programming

Who is online

Users browsing this forum: No registered users and 0 guests

cron