If you are interested in creating a computer program, mobile app, website, game, or any other piece of software, you will need to learn programming. Thanks to programming languages you can create a program. These languages allow the program to work with the machine on which it is run, whether it is a computer, a mobile phone or any other hardware.
Steps
Part 1 of 6: Choosing a Language
Step 1. Choose your area of interest
You can start programming with any programming language (although some are much easier than others), so you should start wondering what you want to achieve by learning a language. This will help you decide what kind of programming you should pursue, and will give you a good starting point.
If you are interested in web development, you will have to learn many different languages, contrary to what happens with program development. Mobile app development requires different skills than computer programming. All of these decisions will affect your direction
Step 2. Start with '"simpler" language
Whatever your decision, you should consider starting with one of the simpler, higher-level languages. These languages are particularly useful for beginners, because they teach the basic concepts and cognitive processes that apply to all languages.
- The two most popular languages in this category are Ruby and Python. They are both object-oriented web application languages that use very easy to read syntax.
- "Object Oriented" means that the language is built on the concept of "objects", or collections of data, and their manipulation. This is a concept used by many advanced programming languages, such as C ++, Java, Objective-C, and PHP.
Step 3. Read basic tutorials from multiple languages
If you're still not sure which language you should learn first, read tutorials for a few different languages. If one language makes more sense than others, try it for a while to see if it's for you. There are dozens and dozens of tutorials for all programming languages, many also on wikiHow.
- Python - a great starting language that can become very powerful when used with skill. It is used for many web applications and some games.
- Java - used in many types of programs, from games to web applications to ATM software.
- HTML - a fundamental starting point for all web developers. Knowing how to use HTML is very important before moving on to other means of web development.
- C - one of the older languages, it is still a powerful tool, and the basis for the more modern C ++, C # and Objective-C.
Part 2 of 6: Starting with the Small Things
Step 1. Learn the basic concepts of languages
While the parts of this step that apply to you vary according to the language you have chosen, all programming languages have fundamental concepts that are used to create useful programs. Learning and mastering these concepts early will allow you to solve problems more easily and create powerful and efficient code. Below you will find just some of the basic concepts found in many different languages.
- Variables - a variable is a means of storing and referencing changing data. Variables can be manipulated, and often have types defined as "integers", "characters" and others, which determine the types of data they can contain. When you write code, variables typically have names that make them identifiable to a human reader. This allows you to understand how the variable interacts with the rest of the code.
- Conditional statements - A conditional statement is an action that is performed on the basis of the state (true or false) of the statement. The most common form of a conditional statement is the "If-Then" statement. If the statement is true (for example x = 5) something happens. If the statement is false (e.g. x! = 5), something else will happen.
- Functions or subroutines - the name of this concept varies according to the language. It can be called "Procedure", "Method" or "Callable Unit". It is basically a smaller program within a larger one. A function can be "called" by the program multiple times, allowing you to create complex programs efficiently.
- Data input - this is a broad concept that is used by almost all languages. Indicates that the user can enter data and store them. How this data is collected depends on the type of program and the inputs available to the user (keyboard, file, etc.). This concept is closely related to output, which is how the results are returned to the user, for example displayed on the screen or saved to a file.
Step 2. Install the necessary software
Many programming languages require compilers, which are programs capable of translating code into commands that can be understood by the machine. Others, like Python, use an interpreter that can execute programs instantly without having to compile them.
- Some languages have Integrated Development Environments (IDEs), which usually contain a code editor, compiler and / or interpreter, and a debugger. This allows programmers to perform all necessary functions with a single program. IDEs can also contain visual representations of object and directory hierarchies.
- There are many code editors available on the internet. These programs offer different ways of syntax highlighting and offer other useful tools for developers.
Part 3 of 6: Creating Your First Program
Step 1. Focus on one concept at a time
One of the first programs you will learn for any language is "Hello World". It is a very simple program that displays the text "Hello, World" (or something similar) on the screen. This program teaches novice programmers the syntax needed to create a simple working program, and how to handle the output. By changing the text, you will be able to learn how the basic data is handled by the program.
- Write "Hello World" in Python.
- Write "Hello World" in Ruby.
- Write "Hello World" in C.
- Write "Hello World" in PHP.
- Write "Hello World" in C #.
- Write "Hello World" in Java.
Step 2. Learn from examples you can find online
There are thousands of code examples for almost all programming languages. Use these examples to understand how different aspects of language work and how different parts interact with each other. Take parts of several examples to create your own programs.
Step 3. Review the syntax
Syntax is the way the language is written so that it can be understood by the compiler and the interpreter. Each language has a unique syntax, although some elements can be shared. Learning syntax is key to learning how to program using a language and is often what people think about when they think about computer programming. In reality it is only the starting point for more advanced concepts.
Step 4. Experiment with the changes
Make changes to the sample programs and then test the results. By experimenting you will be able to understand what works and what much faster than reading a book. Don't be afraid to ruin the program; learning to correct mistakes is a very important part of any development process, and new things almost never work right the first time around.
Step 5. Start practicing debugging
When programming, you will always encounter bugs. These are errors in the program, which can occur anywhere. The bugs can be harmless flaws, or they can be serious errors that prevent the program from running. Finding and fixing these errors is a very important part of the software development cycle, so get used to this process right away.
When you experiment with modifications to simple programs, you will find things that don't work. Finding out how to take a different approach is one of the best skills to have as a programmer
Step 6. Comment on all your codes
Almost all programming languages have a "comment" function that allows you to include text that will not be processed by the compiler or interpreter. This will allow you to enter short but clear explanations on how the code works. This will not only help you remember what your code does in a great program, but it is a fundamental practice in case of collaborations, because it allows others to understand your code.
Part 4 of 6: Practice Regularly
Step 1. Write code every day
Mastering a programming language takes a lot of time. Even a simpler language like Python, which only takes a day or two to learn its basic syntax, takes a long time to master. As with all skills, practice is key to becoming proficient. Try to set aside time each day for planning, even if it's only an hour between work and dinner.
Step 2. Set goals for your program
By setting achievable but challenging goals, you can start solving problems and finding solutions. Try to think of a simple application, such as a calculator, and develop a method for making it. Use the syntax and concepts you have learned and apply them to practical uses.
Step 3. Talk to other people and read their schedules
There are many programming communities dedicated to specific languages or disciplines. Finding and joining a community can go a long way in helping you learn. You will have access to many examples and useful tools for learning. Reading other programmers' code can inspire you and help you grasp concepts you haven't mastered yet.
- Visit programming forums and online communities that cover the language of your choice. Make sure you participate and don't just ask questions. These communities are places of collaboration and discussion and not just assistance services. Ask for help, but be prepared to show your work and try different approaches.
- When you have some experience, consider attending a hack-a-ton or scheduling event. In these events, people or teams challenge each other trying to create a working program in the shortest possible time, usually respecting a theme. These events can be a lot of fun and give you the opportunity to meet other programmers.
Step 4. Test yourself not to get bored
Try doing things you don't know how to do yet. Look for ways to achieve a result, and then try to implement them in your program. Try to avoid settling for a program that "works"; do everything you can to make it perfect.
Part 5 of 6: Expanding Your Knowledge
Step 1. Take courses
Many universities offer programming courses and seminars that you can take without enrolling. They can be very useful for novice programmers, as you can get help from experts and get to know other local programmers.
Step 2. Buy or borrow a book
There are thousands of educational books for all programming languages. While you shouldn't be learning all of your basics from books, they are a great reference point and often contain many helpful examples.
Step 3. Study math and logic
Programming requires knowledge of basic arithmetic, but you may also be studying more advanced concepts. This is especially important if you are developing complex simulations or other programs that contain algorithms. For most programs, you won't need a lot of advanced math. Studying logic, especially that and computers, can help you understand how to tackle complex problem solving for more advanced programs.
Step 4. Never stop programming
A popular theory states that at least 10,000 hours of practice are required to become an expert in a field. While this is not a scientific truth, the general principle remains true: mastery takes time and dedication. Don't expect to figure it all out in one night, but if you continue to stay focused and learn, you could undoubtedly become an expert in your field.
Step 5. Learn another programming language
While it may be enough to master just one language, many successful programmers know more than one. A good idea is to choose complementary languages to the first in order to develop more interesting and complex programs. Once you have good control over the first language, it's time to start learning another one.
You will probably find that learning the second language will be much easier. Many basic concepts are common to multiple languages, especially related ones
Part 6 of 6: Applying Your Skills
Step 1. Enroll in a college computer science course
While not necessary, a university course can introduce you to many different languages and help you connect with professionals and other students. This method is not suitable for everyone, of course, and many successful programmers do not have a university degree.
Step 2. Create a resume
As you create programs and become more knowledgeable, make sure you collect all your best work in one collection. You will be able to show it during job interviews as an example of your work. Make sure you include personal work and that you are authorized to include work you have done for other companies.
Step 3. Do some freelance work
There is a large market for freelance programmers, particularly in the field of mobile apps. Try completing a few small freelance jobs to understand how commercial programming works. You can often use these jobs to enhance your resume.
Step 4. Develop your own freeware or commercial programs
You don't have to work for a company to make money by programming. If you have the skills, you can develop software yourself and sell it, from your website or on another platform. Be prepared to offer support for the software you decide to sell, because customers will expect what they bought to work.
You can distribute small programs and utilities with the freeware format. The developer doesn't get any money here, but it's a great way to make a name for yourself and gain exposure in the community
Advice
- Start with a guide suited to your level. If you're starting from scratch, try this free introduction to programming.
- If you are interested in video game programming, study Python, C ++, and Java. Of the three, C ++ is the most powerful, Python the easiest to learn, and Java the most suitable to run on multiple platforms without modification.
- Learn about free software. Study the source codes of the programs available in the free programs directory. Why invent the wheel again when you can just improve it? Just make sure you understand what you are planning.
- For most people, programming something that interests them or that they can use is more interesting than reading an example in a textbook. Use a search engine to find projects that interest you.
- When learning something new, it will often be helpful to implement it yourself and change the design, predicting results, to make sure you understand the concept.
- The manuals are meant to help you. Don't be ashamed if you don't remember something by heart; it takes time to do it. The important thing is to know where to find the information you are looking for.
- To practice, try teaching other people. This will not only make you more competent, but it will allow you to think about problems from different perspectives.