Anyone interested in developing software, such as a program or application, game, or online service, must start by learning a programming language. There are hundreds of programming languages, and creating a new software program requires more training and more time than one page can provide. Therefore, this page is a general overview to help point you in the direction to get started. An important beginning step is to have a plan for what program you want to develop. For instance, a plan would include the purpose of the program, game, or service, and the features you want to include. Be thinking of what your plan is as you continue reading.

This page does not provide step-by-step instructions for creating a program as the steps differ based on the programming language used and type of program you build.

Picking the language

As we noted above, there are many different programming languages. The programming language is what decides the rules and structure (syntax) of your program. Deciding which language to learn can be challenging by itself. Creating a program with many features and functions often requires you to be fairly proficient in one or more programming languages.

That being said, basic understanding of the concepts of pretty much any programming language helps get you started. Our listing of programming languages includes examples of the various types of software each language can create. Here are a few of our recommendations.

Computer Hope recommendations

Deciding on your programming language depends on what type of program or script you would like to create. For example, Java and Visual Basic are both popular because both are a good way to learn programming fundamentals fairly easily. Other popular languages include C, C++, and C#, which create games, applications, drivers, operating systems, and many of the software programs.

If you are interested in developing scripts and programs, like online forums, search engines, and services, Perl, PHP, and Python are all popular choices, in addition to HTML.

Deciding on an editor

An editor is any program that lets you write computer code. They range from simple, like a basic text editor, to advanced software, such as Adobe Dreamweaver, Eclipse, JDeveloper, or Microsoft Visual Studio. Fortunately, any program can be written in a text editor, which means you can get started for free. As you get more comfortable with a programming language, using a more advanced editor is recommended, as it can make coding and testing the code more efficient.

For Windows users, we suggest an editor such as Notepad ++ because it is free and supports syntax highlighting. If you’re on a Mac, you can use their free editor named TextEdit. Also, it is good to keep in mind that visual programming languages, like Visual Basic, include the editor and compiler in the same tool used to create programs.

Compiler

Most computer programming languages are high-level programming languages, meaning they are easy for you to understand, but impossible for a computer to understand. For the computer to “read” your program, it must be compiled or have an interpreter. Your choice of programming language is the deciding factor on whether or not you’ll need a third-party program to compile or interpret it.

For example, Eclipse is an interpreter that takes a program written in Java and “translates” it into code understood by a computer. Other languages, like Perl, are interpreted, meaning they do not need to be compiled. These languages only require that they are installed on the computer or the server that is running the script.

Learning the language

After you have decided on a programming language, editor, and compiler, you are ready to program. For most users, the easiest way to start is with the famous “Hello World!” program. After you have run your program that prints “Hello World!” to the screen, the next step is to learn the language’s syntax. To do so, you need to understand the following concepts:

  • A statement is a single line of code.
  • Understand how to declare variables.
  • Create conditional statements (e.g., if, elsif, and else).
  • Learn about data structures like a string, array, or hash.
  • Perform loops (e.g., do, for, foreach, goto, and while).
  • Learn about packaging common code into routines.
  • Understand escape sequences.
  • How to make comments or temporarily disable parts of the code.
  • Learn more about algorithms.
  • Understand regular expressions.

As you run into questions, an Internet search can answer most of them. Books written for your programming language or programming courses are great ways to develop your skills further.

See our programming terms for a full list programming-related terms.

  • How to learn more about computers.
  • Links to where to watch free online lectures and courses.
  • See the programming terms for a full list of computer programming related terms.
  • See our programming languages page for a list of all programming languages.
  • All computer learning and training related pages.
  • Software help and support.