Search Helium

Home > Computers & Technology > Software > Software & Web Development

What programming language to start with

by Andy Harris

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

Helium Debate

Cast your vote!

Which is a better Web application framework: Ruby on Rails or PHP?

Click for your side.

126621

Featured Partner

OMB Watch

OMB Watch exists to increase government transparency and accountability; to ensure sound, equitable regulatory and budgetary processes and policies; and to protect and promote active citizen participation in our democracy. OMB Watch...more


CONNECT WITH US

Read
our blog
Helum for writers

Write and get published
Share with other writers
Polish your freelancing skills

Join our active writing community
Helium Content Source for Publishers

Quality articles from proven freelancers
Exclusive rights, fast turnaround
Brand engagement, business blogging -- our writers do it all

Get custom content today!

INFORMATION


Helium, Inc.
200 Brickstone Square Andover, MA 01810 USA
#