LearnProgrammingNow


 * ===Why learn programming?===

First of all, programming is **fun.** It also leads to highly paid, rewarding careers in the computer industry. And it's **also fun**. It will help you learn to solve problems. It will help you understand how your computer works and more easily figure out what is wrong when the computer doesn't work. Oh, yeah, I almost forgot to mention that programming is **LOTS OF FUN**!

**What do programmers do?**
Programmers write commands that tell the computer exactly what it should do. It's a great feeling of power when you tell the computer what it should do and it actually follows your commands.

Programmers also spend time talking to people - users - to find out what they need. That means they spend a lot of time trying to understand people and their wishes.

Programmers sit in a position between the people and the machines, translating complex needs into concrete, specific commands that a very stupid machine can execute. ||  || === What equipment is needed? ===

You'll need a computer if you want to write programs. Don't try to do it on a portable device like a phone or a tablet. The phone probably won't let you save the programs you write, and the tablet probably doesn't have a good keyboard. If you want to write programs, you are going to do a lot of typing - lots and lots. So get a good keyboard.

You'll need to choose a programming **language.** Popular languages include: > easy to understand, sort of like English > professionals to create video games - > that's also a reason NOT to use it, > because professionals use complex tools > simple structure, similar to Basic > machine and it teaches beginners good > habits and sensible concepts > and does not require any special software
 * **Visual Basic** because the commands
 * **C++** because that's used by
 * **Python** because it's new and has a
 * **Java** because it runs on almost any
 * **JavaScript** because it runs in web pages

Don't try learning PHP or Perl first. Those are used for programming servers, and that's a lot trickier than writing programs for your PC or Mac. Programming servers sounds exciting, but it's not easy. Try to start with something easy - you'll have a lot more fun and success. ||  || ===Where can you get started?===

If you are a student, it's sensible to take a class at school or university. Programming isn't easy - it's not like using apps and playing games. You'll learn a lot quicker if you have a teacher to guide you and help you.

Whether you take a class or not, you should get a book. "Complete idiot" books don't sound promising, but they are actually designed with beginners in mind - unlike the 90% of programming books that were written for computer professionals who already have lots of experience with programming. Big, fat books look powerful, but they are actually intended as reference books, like encyclopedias, and are probably not a good choice for beginners. Try to find a book that's under 500 pages, contains lots of pictures and lots of sample program code, and claims to be written for beginners.

You'll need an editor, or compiler, or IDE, or a "development" system. Go for the simplest one available (see my suggestions below.) You can use it for a few months and then switch to a big, powerful application later. If you buy a book that includes a CD with software, then use that. It probably works better with the book than other software.

Search the Internet, ask friends, read some magazines - get some advice before starting.

Some specific suggestions follow below. ||