Learning a Language
Don’t worry too much about what language you pick.
Many beginning coders struggle with what language to pick when they first start learning. (Because they don’t know where to start with their first code). The actual language that you start learning on doesn’t make a big difference when it comes to learning about data structures and logic. These are the skills that matter most, and they can be honed with any language.
- If you make coding a career, you will find that you may never use the language that you first learned to code. Instead, you will be learning languages as you go through documentation and experimentation.
Find free resources online for the language you choose.
The internet is a treasure trove of free tutorials, classes, and videos, all tailored towards the language of your choice. You can start getting a basic grasp of just about any introductory language in a day.
- Popular sites include Bento, CodeAcademy, Code.org, html.net, Khan Academy, Udacity, W3Schools, Code School and many more.
- There are a variety of language-specific starter guides available right here on wikiHow.
- You can find how-to guides for almost any programming scenario on YouTube.
- Stack Exchange is one of the more popular Q&A sites for any programming questions you may have.
Download a good text editor.
Many programming languages allow you to use external text editors when you write your code. Find a text editor that will allow you to see indentations and code markup.
- Popular programs include Notepad++ (Windows), TextWrangler (OS X), JEdit, or Visual Studio Code.
Download any necessary compilers.
Some programming languages require a compiler in order to run the code that you create. Compilers translate the code you write into a lower-level language that the machine can process. Many compilers are open-source and free to use. Languages that require compilers include:
Start your first project.
Pick a good introductory project that will help you get your feet wet. There are a variety of suggestions and tutorials online, but some places to start are basic websites for HTML, basic database and form functions with PHP, or simple programs with any of the compiler languages.
Comment all of your code.
All programming languages have a comment feature that allows you to enter text that is ignored by the compiler. This allows you to add comments to your code. These comments are crucial, both for letting others know how your code works and for reminding yourself what your code does.
- You can also use the comment function to quickly remove code from your program for testing purposes. Put comment tags around the code you want to exclude and then remove the comment tags to return the code.
Pick apart other programs or web projects.
When you’re learning as you go, don’t be ashamed to look things up and see how others have tackled the same tasks. Take time to understand why the code is doing what it does.
- See this guide for details on how to view the source code of websites.
Expanding Your Knowledge
Community colleges, tech schools and online programs offer certifications and classes that will help you get a job as well as teaching you programming. An advanced degree like Computer Science is not always necessary, but could help to get a full time programming job.
- (A lot can be said for having one-on-one time with a teacher or programming expert, something that isn’t always available with online sources.)
- Classes can get expensive, so weigh the benefits. If programming is just a hobby, classes may not be worth the time and money. If you want to turn programming into a career, classes can give you a big boost (but again, it’s far from necessary if you have the talent).
Expand your knowledge.
Beyond simply learning programming languages, you will benefit a lot from logic and mathematics classes, as these are often required for advanced programming. You don’t necessarily need to learn this at school, but classroom settings can help.
- Programming involving physics calculations and other simulations requires a strong understanding of algorithms and models.
- Logic is the fundamental basis of programming, so understanding logic and processes will help you problem-solve when you are coding.
- Knowing advanced math isn’t required for most programming, but the knowledge can lead to benefits and optimizations.
Learn more languages.
Once you’ve got a good grasp on your initial language, you can start to branch out. Find another language that complements the one you know, or pick a language for a specific job that interests you. Complementary languages, such as HTML and CSS, are often the easiest to learn.
- Java is one of the most popular languages, and there are often lots of opportunities for Java developers. Java can run on a huge variety of systems and has innumerable applications. Java is used for Android applications, one of the fastest growing markets.
- C++ is highly recommended for developing video games. Learning how to code in Unity (a widely used, low-cost game engine) and UDK (the code for the popular Unreal engine) can help open some doors, though they aren’t as useful outside of the video game industry.
- If you want to make iPhone apps, Xcode and Objective-C are going to be your primary tools. You’ll also need a Mac, since Xcode can only compile on a Mac.
- Python is a server scripting language that is one of the easier languages to learn. Python is used for web services such as Pinterest and Instagram, and is simple enough to learn the basics in just a few days.
You will often be faced with challenges while programming, especially when it comes to hunting for bugs or implementing a new idea. You’ll have to learn to be satisfied with achieving small results rather than solving a whole puzzle at once. Patience leads to more effective code, which will lead to better-performing programs and happier colleagues.
Learn to work with others
If you have multiple people working on a project, you get multiple viewpoints on how to go about it. Working on teams is virtually unavoidable in the business world, so unless you’re planning to develop everything independently, be prepared to work with others.
Get a job where you can practice your coding skills.
Work as a volunteer designing websites or writing desktop applications. A part time job with a small company can lead to opportunities to write code for websites or simple applications.
Connect with other programmers.
There are countless communities and gatherings of developers that can help support and inspire you. Look up local programming conventions, participate in a hack-a-thon or game jam (timed events with a common theme), and sign up on some programming forums to start expanding your exposure and network.
Practice, practice, practice.
It is estimated that it takes about 15,000 hours before you can be considered an expert in computer programming. This is years of applied practice. True mastery of programming will come only after you put the time in to practice and become proficient.
- Try to spend time programming every day, even when you’re not working. Programming in your free time can lead to breakthroughs and new ideas.