Home > Computers & Technology > Software > Software & Web Development
Created on: March 02, 2007 Last Updated: October 04, 2011
I've been struggling with this question for twenty years! I teach beginning (and advanced) programming at the university level, and I write beginning programming books. I've struggled my entire career determining the best language to teach to beginners. I'm not sure I know the answer, but I've learned some things.
Programming can be fun. If you choose the right language, the natural fun of this challenging endeavor becomes clear to you. If you choose the wrong language (or it is chosen for you,) you'll never have fun. If it's no fun, you won't stay up all night doing it. If you don't stay up all night, you won't learn.
First for some bad choices: Don't start with C or C++. They might take away my computer science teacher's card for saying this, but C is not a good first language for most people. C is a wonderful language. It's a good language to know. It teaches you important skills, and it's undoubtedly one of the most powerful languages in popular use. It has this power because it works very closely with the native machine language. This means it's harder to use and easier to break. If you want to drive in the Indy 500, you don't just jump into an Indy car and press the gas. That's an expensive and dangerous way to learn driving. Start with a go-kart and earn your way to the high-performance machines.
C is particularly hard for beginners because it doesn't natively support text strings. All of your early programs will have to involve math, because you won't learn how to manage text in C until you have mastered arrays and pointers (two topics notoriously difficult for beginners to handle.) I've met very few people who truly get excited about programs for finding the area of a trapezoid, but that's the sort of stuff you'll do for a long time in C.
On a related note, since C is such a low-level (close to machine-native) language, it doesn't produce programs that you would recognize unless you're -ahem- antique like me. Your C programs won't have a graphic interface, they won't run on the web, and they won't be the next great first-person shooter.
The visual languages are sometimes considered good choices for beginners. I went through this stage, where I taught Visual Basic as a first language. The good news is this style of language has a visual editor that allows you to draw the user interface on the screen with a painting-style program, and then you simply add the code behind the various buttons and menus. This kind of program helps you make comparatively
Below are the top articles rated and ranked by Helium members on:
What programming language to start with
by Chrys
Starting Programming
What Programming language to start with? Good Question. For the past twenty years programmers have not
by Jeffrey Graf
There are many reasons that people are becomming interested in computer programming. The digital media world is becomming
When it comes to learning programming languages, people often get confused about which programming languages to start with.
by Aardaerimus
Which programming languages are best to begin with?
The answer is simple: We want something free, readily available, relatively
What is the best language to start learning about computer programming? It is a good question and one that has no
View All Articles on: What programming language to start with
Helium Debate
Cast your vote!
Which is a better Web application framework: Ruby on Rails or PHP?
Click for your side.