How do I create my own 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 software, as the steps differ depending on the type of program being created and the programming language used to create it.
Anyone interested in developing software, such as a program, game, or online service, must start by learning a programming language. Due to the fact that there are a broad number of languages and software development requires more than one document to explain, this article is meant as a general overview to point you in the right direction. In addition to learning a programming language, an important beginning step is to have a plan for what 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. Keep that in mind as you read on.
Picking the Language
As we noted in the introduction, there are dozens of different programming languages to choose from so deciding which language to should learn can be a challenge in and of itself. Sometimes, making a large function program generally requires you to be fairly proficient in one or more languages. That being said, basic understanding of the concepts of pretty much any programming language can get you started. Our listing of programming languages includes examples of the various software each language can create. We have a few recommendations below.
Computer Hope Recommendations
Again, as we mentioned in the introduction, deciding on your language depends on what type of program or scripts 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 examples include C, C++, and C# which are used to create games, apps, drivers, operating systems; pretty much any software program that runs on the computer.
Deciding on an editor
An editor is simply any program that allows you to write computer code. They range from simple (like any basic text editor) to advanced, expensive software such as Adobe Dreamweaver. Fortunately, any program can be written in a text editor, which means you can get started for free.
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. When do you need a compiler? On to the next section.
Most computer programming languages are high-level programming languages, meaning they are easy for you to understand but impossible for a computer. In order 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 for interpreting it. For example, Eclipse is an interpreter that takes a program written in Java and "translates" it into code that may be run on 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 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 writes (or prints, in programming terms) Hello World! to the screen, the next step is to take the time to learn all of the program language's syntax; including 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.