Difference between revisions of "Create a Program"

Kipkis (Kipkis | contribs)
m (importing article from wikihow)
 
Kipkis (Kipkis | contribs)
m (Text replacement - "== Video ==" to "")
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Computer programs are implemented everywhere these days, from our cars to our smartphones, and in almost every job. As the world becomes more and more digital, the need for new programs will always keep increasing. If you have the next big idea, why not make it yourself? See Step 1 below to find out how to get started learning a language, developing your idea into a testable product, and then iterating on it until it's ready for release.
 
Computer programs are implemented everywhere these days, from our cars to our smartphones, and in almost every job. As the world becomes more and more digital, the need for new programs will always keep increasing. If you have the next big idea, why not make it yourself? See Step 1 below to find out how to get started learning a language, developing your idea into a testable product, and then iterating on it until it's ready for release.
  
[[Category:Software]]
+
{{Software}}{{empty}}
 +
 
 
== Steps ==
 
== Steps ==
 
===Coming Up With an Idea===
 
===Coming Up With an Idea===
Line 8: Line 9:
 
#*Write down every idea. Even if it seems silly or outlandish at the time, it could change into something useful or even brilliant.
 
#*Write down every idea. Even if it seems silly or outlandish at the time, it could change into something useful or even brilliant.
 
#Examine other programs. What do they do? How could they do it better? What are they missing? Answering these questions can help you come up with ideas for your own take on it.
 
#Examine other programs. What do they do? How could they do it better? What are they missing? Answering these questions can help you come up with ideas for your own take on it.
#Write a design document. This document will outline the features and what you intend to achieve with the project. Referring to the design document during the development process will help keep your project on track and focused. See [[Make-Your-Own-Video-Game#Writing_the_Design_Document|this guide]] for details on writing the document. Writing the design document will also help you decide which programming language will work best for your project.
+
#Write a design document. This document will outline the features and what you intend to achieve with the project. Referring to the design document during the development process will help keep your project on track and focused. See [[Make Your Own Video Game#Writing_the_Design_Document|this guide]] for details on writing the document. Writing the design document will also help you decide which programming language will work best for your project.
 
#Start simple. When you are just getting started with computer programming, it will behoove you to start small and grow over time. You will learn a lot more if you set tangible goals that you can reach with a basic program. For example,
 
#Start simple. When you are just getting started with computer programming, it will behoove you to start small and grow over time. You will learn a lot more if you set tangible goals that you can reach with a basic program. For example,
 
===Learning a Language===
 
===Learning a Language===
Line 14: Line 15:
 
#*Some languages such as Visual Basic include an editor and compiler in one package.
 
#*Some languages such as Visual Basic include an editor and compiler in one package.
 
#Learn a programming language. All programs are created through coding. If you want to create your own programs, you will need to be familiar with at least one programming language. The languages you will need to learn will vary depending on the type of program you want to create. Some of the more useful and important ones include:
 
#Learn a programming language. All programs are created through coding. If you want to create your own programs, you will need to be familiar with at least one programming language. The languages you will need to learn will vary depending on the type of program you want to create. Some of the more useful and important ones include:
#*[[Learn-to-Program-in-C|C]] - C is a low-level language that interacts very closely with the computer's hardware. It is one of the older programming languages that still sees widespread use.
+
#*[[Learn to Program in C|C]] - C is a low-level language that interacts very closely with the computer's hardware. It is one of the older programming languages that still sees widespread use.
#*[[Learn-C%2B%2B-Programming|C++]] - The biggest drawback of C is that it is not object-oriented. This is where C++ comes in. C++ is currently the most popular programming language in the world. Programs such as Chrome, Firefox, Photoshop, and many others are all built with C++. It is also a very popular language for creating video games.
+
#*[[Learn C++ Programming|C++]] - The biggest drawback of C is that it is not object-oriented. This is where C++ comes in. C++ is currently the most popular programming language in the world. Programs such as Chrome, Firefox, Photoshop, and many others are all built with C++. It is also a very popular language for creating video games.
#*[[Program-in-Java|Java]] - Java is an evolution of the C++ language, and is extremely portable. Most computers, regardless of operating system, can run a Java Virtual Machine, allowing the program to be used nearly universally. It is widely used in video games and business software, and is often recommended as an essential language.
+
#*[[Program in Java|Java]] - Java is an evolution of the C++ language, and is extremely portable. Most computers, regardless of operating system, can run a Java Virtual Machine, allowing the program to be used nearly universally. It is widely used in video games and business software, and is often recommended as an essential language.
#*[[Create-a-Program-in-C-Sharp|C#]] - C# is a Windows-based language and is one of the main languages used when creating Windows programs. It is closely related to Java and C++, and should be easy to learn if you're already familiar with Java. If you want to make a Windows or Windows Phone program, you'll want to take a look at this language.
+
#*[[Create a Program in C Sharp|C#]] - C# is a Windows-based language and is one of the main languages used when creating Windows programs. It is closely related to Java and C++, and should be easy to learn if you're already familiar with Java. If you want to make a Windows or Windows Phone program, you'll want to take a look at this language.
 
#*[[Make-iPhone-Apps|Objective-C]] - This is another cousin of the C language that is specifically designed for Apple systems. If you want to make iPhone or iPad apps, this is the language for you.
 
#*[[Make-iPhone-Apps|Objective-C]] - This is another cousin of the C language that is specifically designed for Apple systems. If you want to make iPhone or iPad apps, this is the language for you.
 
#Download the compiler or interpreter. For any high-level language such as C++, Java, and many others, you will need a compiler to convert your code into a format that the computer can use. There are a variety of compilers to choose from depending on the language you are using.<ref>http://www.computerhope.com/issues/ch000675.htm</ref>
 
#Download the compiler or interpreter. For any high-level language such as C++, Java, and many others, you will need a compiler to convert your code into a format that the computer can use. There are a variety of compilers to choose from depending on the language you are using.<ref>http://www.computerhope.com/issues/ch000675.htm</ref>
Line 32: Line 33:
 
#Take some classes. Anyone can teach themselves to make a program if they put their mind to it, but sometimes having a teacher and a classroom environment can be really beneficial. One-on-one time with an expert can greatly decrease the time it takes you to grasp programming fundamentals and concepts. Classes are also a good place to learn advanced math and logic that will be required for more complex programs.
 
#Take some classes. Anyone can teach themselves to make a program if they put their mind to it, but sometimes having a teacher and a classroom environment can be really beneficial. One-on-one time with an expert can greatly decrease the time it takes you to grasp programming fundamentals and concepts. Classes are also a good place to learn advanced math and logic that will be required for more complex programs.
 
#*Classes cost money, so make sure that you are signing up for classes that will help you learn what you want to know.
 
#*Classes cost money, so make sure that you are signing up for classes that will help you learn what you want to know.
#Ask questions. The internet is a fantastic way to connect with other developers. If you find yourself stumped on one of your projects, ask for help on sites such as StackOverflow. Make sure that you [[Ask-a-Question-on-the-Internet-and-Get-It-Answered|ask in an intelligent manner]] and can prove that you have already tried several possible solutions.
+
#Ask questions. The internet is a fantastic way to connect with other developers. If you find yourself stumped on one of your projects, ask for help on sites such as StackOverflow. Make sure that you [[Ask a Question on the Internet and Get It Answered|ask in an intelligent manner]] and can prove that you have already tried several possible solutions.
 
===Building Your Prototype===
 
===Building Your Prototype===
 
#Start writing a basic program with your core functionality. This will be the prototype that shows off the functionality that you're aiming to achieve. A prototype is a quick program, and should be iterated on until you find a design that works. For example, if you are creating a calendar program, your prototype would be a basic calendar (with correct dates!) and a way to add events to it.
 
#Start writing a basic program with your core functionality. This will be the prototype that shows off the functionality that you're aiming to achieve. A prototype is a quick program, and should be iterated on until you find a design that works. For example, if you are creating a calendar program, your prototype would be a basic calendar (with correct dates!) and a way to add events to it.
Line 80: Line 81:
 
[[Doc:C++ Program,MATLAB Programs]]
 
[[Doc:C++ Program,MATLAB Programs]]
  
== Video ==
+
 
{{Video:Create a Program|}}
+
 
  
 
== Related Articles ==
 
== Related Articles ==