How I got started coding

      

Nov 07, 2017


 
 

The world of computer science is so massive now that it seems daunting every day even for experienced coders. But when you know nothing about computer programming, where do you even begin? Between PHP, HTML, .NET, Ruby, Java, Python, C, and all the various frameworks within those languages, which one do you pick? What is JavaScript, and is it like Java? Do you want to learn web programming, software development, or embedded systems?

 

Jump In

The best way to learn programming is to do just start doing it. Take a tip from Obama who just became to first president to write a line of code. Come up with a project by thinking of something in your life that you need technology to do for you. Whether it is keep track of a list for you, make it easier to perform some task, or let you turn on your coffee machine while you are still in bed. Come up with something that would meet a current need in your life, get excited about it, and build it! You can do it!

My friend Abby just started teaching herself how to code. She thought of an idea for a web application called tomegnome that could keep track of a list of all the books she has read. The app allows her to focus on reading books and not on remembering a long list of titles. She can also look back at what she has read in the past and read notes about the book which she would probably forget after a while. Also there are plans in the future to add recommendations from popular books that are similar to ones she liked in the past. 

Sounds great, right, but how does this work? The answer is you have to start with what you know and try to build up from there. When you run into a roadblock follow this method: read, search, ask. Abby is familiar with the web. She knows what a good website looks like and how to use it. If you want to learn to code and have no idea how the web works, then you should start by exploring websites and getting up to speed on the last 20 years of development in the web. 

 

Choose a language

Now that you have your project, it's time to choose a programming language or framework. What better languages to learn for web programming than PHP and JavaScript, afterall they are the most widely used across the internet for web programming. Currently, PHP has by a wide margin the largest market share with 83% of sites using PHP for the server-side programming language according to W3Techs.

Most popular server-side programming languages

© W3Techs.com usage change since
1 September 2017
1. PHP 82.9% +0.1%
2. ASP.NET 14.3% -0.5%
3. Java 2.5% -0.1%
4. static files 1.5%  
5. ColdFusion 0.6%  
percentages of sites

Personally, I started learning PHP first before I even understand how CSS worked. All I knew was enough HTML to get by when I started picking up PHP. There are more advantages to choosing PHP as your first langauge than just market-share too. I think the barriers to entry to learning PHP are low relative to more complex languages such as Java, ASP.Net, and C++ with their object oriented features. With a simple PHP site, there is little to no learning curve putting logic into different files and data structures and loading then in the right places. You can just write code. Its simple and intuitive. Also you don't have to understand much about different data types because PHP is not strongly typed. For example, when you want to declare a variable to hold the date for you, you don't need to know what is a string or how to use it, you just do it like this:

<?php
    $date = getdate();
?>

PHP figures out what type of variable $date needs to be in order to work. You don't have to declare it as a date object. It's so easy. JavaScript works this way too, making it easy to pick up as well.

 

Use Free Resources

Now that know what you want to make and you have decided the languages you want to utilize, how do you actually start using the languages? This is the best way for you to learn because you have a project that you want to create, so you are actually invested in learning the language. In other words, you are learning so you can apply your knowledge not just learning for the sake of it. I recommend at this point to try free coding resources like freecodecamp.com SoloLearn and many others. There is an insane amount of free learning resources on the internet for you. 

Also here is an exhaustive list of free ebooks available on github.

I personally enjoy the "succinctly" series of books and recommend JavaScript Succinctly. Another great book that covers the gotchas of JavaScript(things you should be aware of) is JavaScript: The Good Parts. And once you get more comfortable, I highly recommend reading one or more of Kyle Simpsons books from the series You don't know JS which besides having a great title is now available entirely for free online.

Make something and you will discover that through programming, the possibilities are endless. As long as we have computers to run our code, we can build anything we can imagine into reality!