How do I create a computer program?
Note: Creating a computer program requires knowledge of one or more programming languages, as well as other considerations. This page does not provide step by step instructions for creating a program, as the steps differ depending on the type of program being created and the programming language.
Anyone interested in developing software, such as a program, game, or online service, must start by learning a programming language. There are many different programming languages and creating a new software program requires more training and more time than one page can provide. Therefore, this page is meant as 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.
Picking the Language
As we noted above, there are many different programming languages. Deciding which language to learn can be a challenge 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 can help to 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 of their relative ease and because both are a good way to learn programming fundamentals. Other popular languages include C, C++, and C#, which are used to create games, apps, drivers, operating systems, as well as many of the software programs that run on a computer.
Deciding on an editor
An editor is any program that allows you to write computer code. They range from simple (like any 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.
Computer Hope Recommendations
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.
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 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 that can be run on and 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 infamous Hello World! program. After you have been able to 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:
- Understand how to declare variables
- Create conditional statements (e.g. if, elsif, and else)
- Perform loops (e.g. do, for, foreach, goto, and while)
- Understand escape sequences
- How to make comments or temporarily disable parts of the code
- 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.