Getting started as a programmer and what language to learn first

Published by | Wednesday, January 18th, 2012

It scares me to say this, but I’ve just celebrated a big anniversary: I’ve been a software developer for 25 years. My first programming language was something called PAL. It stood for Paradox Application Language, and was a part of Paradox, a popular DOS-based database application that was in many ways the Microsoft Access of its time. Over the ensuing years, I’ve learned and forgotten many languages as I moved into different areas of the software development world. But I found that each language was progressively easier to learn. Once I understood the fundamentals, I was able to apply lessons learned so far to the new challenges facing me.

No one was around in the beginning to tell me that programming was difficult. I had some work I needed to do, and with the help of sample code and tutorials, I figured out how to do it. It was only later that I learned how intimidating programming sounds to some folks. But it doesn’t have to be painful at all, and I believe that by finding and using the right learning resources, and moving forward in small incremental steps, anyone can learn to code.

We’ve been hearing from our members for the last few years that programming has become more important to you, and so in 2011 we responded by publishing a series of courses on some of the world’s most popular programming languages. In this post, I’m going to describe what you need to know to get started as a programmer and how to select a first programming language to learn.

If you’ve never done a lick of programming, you might want to start with staff author Simon Allardice’s course Foundations of Programming: Fundamentals. As in many industries, software developers have their own lingo. Words like statement, function, method, and property have very specific meanings, and some of these meanings can differ from one language to the next. Simon explains the language of languages, and compares many of the most popular programming languages with each other. Examples are provided in JavaScript, Java, C#, and many others.

The next step is to choose your first language. Which language you choose will depend largely on what you want to accomplish. You might use one language for building web pages, another for creating applications designed for cell phones and tablets, and so on.

The most popular programming language course in the Online Training Library® is, unsurprisingly, the most recent edition of our ever-popular JavaScript Essential Training, also authored by Simon Allardice. JavaScript is so popular because it’s the programming language of the modern web. It’s the language that “glues” other web technologies together, such as HTML and CSS. It’s supported in all modern browsers, and is at the core of many popular web frameworks such as jQuery. Looking beyond the browser, JavaScript is also used in many other software development environments, including Titanium, a set of tools for building cross-platform mobile applications, Node.js, a recent entry in the world of server-side web application development, and Unity, a package that enables building games for many platforms.

If you want to build native apps for mobile devices, you might choose Objective-C to build apps for iPhone and iPad. Objective-C Essential Training will help you get started, and then you can move on to our other courses on building apps for the iOS operating system. Java Essential Training with David Gassner (yes, that’s me) teaches the language that’s used to build native apps for Android and BlackBerry devices, and C# Essential Training with Joe Marini will help you get started with building Silverlight and XNA apps for Windows Phone 7. And once you learn either Java or C#, you’ll be able to build not just mobile apps, but also applications for the web (client- and server-side) and much more.

In addition to the courses we added in 2011, the Online Training Library® offers lessons on other languages that you can use for a variety of tasks. These include tutorials on Perl and Python with Bill Weinman, PHP and Ruby with Kevin Skoglund, and one of my own personal favorites, ColdFusion Markup Language with David Gassner (me again).

So regardless of which language you want to learn, you should be able to find some valuable tools in the Online Training Library® to help you get started. I really believe that if you have something you want to accomplish that requires a bit of programming, you can learn it. That’s’s new motto, and it absolutely applies to the world of software development.


Interested in more?
• All developer courses on
• All courses from David Gassner on

Suggested courses to watch next:
Foundations of Programming: Fundamentals
JavaScript Essential Training (2011)

Objective-C Essential Training
C# Essential Training

Java Essential Training

Share this:Share on Facebook16Tweet about this on Twitter11Share on Google+4Pin on Pinterest0Share on LinkedIn4 - start learning today

Tags: ,

8 Responses to “Getting started as a programmer and what language to learn first”

  1. Isaiah says:

    I wanted to thank you so much for your tutorials I learned so much about programming from scratch I hope you continue to create more tutorials!

  2. Ed says:

    What about video games/ app games? I want to create a certain sports game and don’t know where to start. Would be perfect for mobile and xbox market place.

  3. David, I speak only anecdotally for myself, but after years in the tech world, I think there are scads of people who needed just this bit of sane advice. Well done.

  4. Maria says:

    Thank you very much for the recommendations. I was just having a conversation with a peer about getting into programming but not knowing where to start! Your post just provided me the guide to learning. Thanks!

  5. @Ed,
    It depends on which platform(s) you want to develop for. If you only want to target Microsoft platforms, including XBox, Windows and Windows Phone, you can build game applications in XNA Studio ( For a programming language, you’d be able to choose between C# and VB.NET; C# is far more popular in the gaming community.
    If you want to develop games that work on multiple platforms and operating systems, I’d suggest checking out Unity 3D ( Unity can publish to many platforms, including its own web player, Flash, XBox, Nintendo, iOS, Android…you get the picture. Unity’s programming language is a slightly customized version of JavaScript.

  6. Bill Weinman says:

    What programming language to learn first/next? I get this question a lot, so I wrote a blog entry about it:

    [Bill Weinman is a author who currently has 24 developer courses published on Check out all Bill’s developer courses here)

  7. I’ve been following you (David) since that old Dynamic Development Course you did with Dreamweaver and PHP, it was over my head back then. But I’ve found just being exposed to languages helps in the long run.

    And you’re right, I’ve got sparkle of the OOP fundamentals. I started with Todd Perkins Flash stuff, but after watching Simon’s Fundamentals and your Java ET, I’m starting to see the similarities and it’s helping me understand what’s going on better by seeing the differences in the languages I understand more. I’d never seen Todd overload a constructor function, but when you did in Java ET… my jaw dropped. You guys are changing our lives. I’m webmaster for a reasonably large company, and thanks to you guys I’ve been pulling stuff out of my hat that is got our sales department smiling, for years now. Can’t wait for more.

  8. Peter says:

    It is an interesting topic about which language to learn first. Here is a link talking about why C should be the first language to learn.

Leave a Reply