With thousands of programming
languages out there, it can be daunting to find a language to start with and a
good course that assumes no prior knowledge. Especially if you are someone who
is busy and wants to learn on their own time and don’t have the flexibility to
take an in-person class, getting started with programming can be difficult.
This post highlights programming languages that are good for beginning
programmers and some resources to get started.

For those with no experience

These courses have been designed
for people who have little or no programming experience.

C

C is one of the most widely used
programming languages and often used as an introduction to programming. It has
influenced many languages that came after it, and knowledge of C will make
learning later languages, such as Objective-C (used by Apple), easier. It
influences many later languages you could want to learn, so starting with C
will give you a deeper understanding of how computers work.

Java

Java is a higher level language
which is designed to be compatible with any operating system. It has similar
syntax to C and C++. It’s a great programming language to start with because it
is widely used and practical, however it won’t give you as deep of an
understanding of computer operation as a lower level language like C will.

C++

C++ bridges the gap between a
language like C and Java as it has features of both low-level and high-level
languages. It’s another commonly used language that has a wide range of uses
and compatibility. It’s based off of C and adds object-oriented features. It
has also influenced many other languages such as C# and Java.

Python

Python is a language that was
designed with human readability in mind. Because of this, it doesn’t take as
much code to execute programs as other languages. It’s a great, easy way to
learn recurring concepts in computer science and has real world use in the
creation of scripts.

Ruby

Ruby has similar function to
Python but is less readable. It’s more object-oriented than Python and is
similarly designed with simplicity in mind. It has many applications, but is
most often used for web applications.

HTML and CSS

HTML and CSS are used for webpage
design. While these languages won’t really help pave the way for learning more
traditional programming languages, they are essential for webpage design. HTML
(HyperText Markup Language) is a “markup language” which allows you to put
content into a webpage whereas CSS (Cascading Style Sheets), is used to format
and define the layout of a page.

MIT App Inventor for Android

If you aren’t interested in
programming as a profession (at least at the moment) it may be worth looking at
using the MIT App Inventor for Android. It requires no coding, but will teach
you how programmers think and provide knowledge on some concepts in computing.
Plus, you’ll end up being able to make Android apps once you’ve mastered it!

What’s next?

If you already have knowledge of
another programming language then these are great follow-up languages.

C#

C# is primarily used for Windows
applications in the .NET Framework. Learning C# is easy if you have experience
in C, C++, or Java. The syntax is similar. It’s popularity has been increasing
as C# is used for third-party apps on Windows 8 or Windows Phone.

Objective-C

Objective-C is primarily used for
Apple’s operating systems, OSX (for Macs) and iOS (for iPhone and iPad). If you
are looking to develop for Mac, Objective-C is the way to go. Apple provides
lots of support for learning Objective-C through their developer program.

Javascript

Javascript (little relation to
Java) is a common language used to make webpages more dynamic. With a syntax
similar to C, it doesn’t require a lot of effort to set up as it’s built into
web browsers. It’s also used in other applications such as PDFs.

PHP

PHP is another language often
used for web development, although it works well as a general-purpose language
as well. PHP can be implemented directly into HTML. Those looking to learn PHP
should already know HTML, CSS, and Javascript.

Where to learn online?

If you are just beginning to
learn, we recommend that you stick to one language until you are extremely
comfortable with it. Once you’ve picked a language, check out these resources
to find courses:

OpenSesame

OpenSesame is a corporate
elearning course seller that hosts content from a variety of sellers. It’s the
best option if you would like to have your employees learn and track them
through your own learning management system. If you are an individual however,
they allow for the purchase of single licenses and a learning management system
is not required. They offer courses in all the languages listed on this page
and more from InfiniteSkills, Learntoprogram.tv, Webucator, Stone River,
Compuworks, Pearson and more.

CodeAcademy

CodeAcademy offers free
in-browser courses that require little set-up and is very user-friendly. The
courses are very interactive and offer courses in Javascript, jQuery, PHP,
Python and Ruby.

TreeHouse

TreeHouse is a paid service
($25-$49/month) that allows you to take courses in HTML, CSS, jQuery,
JavaScript, Ruby, Ruby on Rails, WordPress, PHP, iOS and Android. Similar to
CodeAcademy, it focuses on interactivity and allows you to learn in the
browser.

Online college courses

Many free online college courses
are also available. Some of them are only available for a certain amount of
time or require you to stay at the pace of the course, among other things, so
they may not be for everyone. To see if the language you want to learn is
offered, check out Udacity or Coursera.

Daniel Chen is a marketing intern
at OpenSesame, the
world’s largest marketplace for buying and selling corporate elearning courses.
He is currently a sophomore at Dartmouth College.