Where to begin Programming

Why Should You Learn to Code?

Learning to code is a long a difficult road, and can be very lonely. It is the sad truth, and it makes it a very difficult subject, especially when you’re getting older. My generation was the beginning of simplicity in General User Interfaces. It allowed anybody to use computers with ease and very little knowledge of how they actually operated. While this was wonderful it left people like myself out of the loop, coding seemed something only geniuses should be able to do. As I grew older I began to learn that was quite the opposite and that now, there are so many resources online to learn for free! Yup, thats what I said free!

Open Source Programs such as Free Code Camp have brought full stack schooling to even youngsters interested in programming and coding. Multiple games have sprung up online that take no prior knowledge and yet allow you to learn even just the basics and (sometimes) very difficult programming concepts. Code Combat is just one of these games, though its not 100% free (paid add-on content) it can still teach basic programming to children, while keeping them hooked on what is a very simple game. I began programming as I became more interested in running this blog. It gave way to a whole new creative stretch via CSS and Javascript, and a more technical view of web pages and applications through their inner workings via Ruby on Rails and basic PHP/mySQL. I believe everybody of this generation should be learning even basic code as to instill the concepts behind programming. The future holds so many jobs for this generation and next to strive for, making programming not only interesting but monetary as well.
Three Big Basics and where I began

All three of the languages listed below are the easiest to start with not just due to their simplicity, but because they require no programs to run them, you can simply use Windows Notepad if you wished!

The biggest question when learning to code is “Where the hell do I start!?!? Well it’s not easy to choose a programming language to begin with, but starting to code with HTML and CSS is a great start, you can then begin giving your web applications some interactivity via Javascript.

HTML (Hypertext Markup Language) is the basic structure of any and every web page; it’s simple and has a very small library in its language making it very easy to remember. For a basic introduction to what HTML can do check out w3Schools HTML.

CSS or (cascading style sheets) is what gives your web page color, and position of content on the web page. CSS is easily implemented with HTML and also requires no real prior knowledge of programming making it easy to learn. CSS also has many “frameworks” which are libraries that either extend to and/or introduce easier syntax. The addition to libraries of a particular language help us implement certain features that regular CSS just couldn’t do, or was just difficult to implement. One of such frameworks is Twitter Bootstrap. This framework builds a very simple CSS library that has lots of predefined content so that we don’t have to code it by hand. If you want more information on Twitter Bootstrap check out their main page. NOTE: Twitter Bootstrap is one of the most common CSS frameworks available due to it’s compatibility with almost any other coding and programming languages, but there are others.

Javascript not to be confused with “Java” is among the most popular programming languages available. This is widely due to it’s compatibility with HTML/CSS and almost every browser that is in common use. This is not “coding” this is a true programming language, and it is very powerful. The library is rich and has a huge community supporting it, and with community comes frameworks and framework compatibility. Javascript is easily implemented into Bootstrap and even has it’s very own framework that has blown up in popularity, JQuery. This is the truly difficult portion of learning to code and program, programming can be very abstract and dull, as it requires lot’s of research and support. It is beyond frustrating when you have a bug, especially when it comes down to a simple typo that you missed and it caused you hours of grief, but when it is complete and working, you couldn’t feel more fulfilled!

All three of these languages are quite simple, but even with its simplicity comes hardship, many people who are not “bookies” may have troubles trying to read walkthroughs for certain programs, and may not fully understand what they are trying to accomplish, but it does begin to sink in. The only way to learn is by doing, this skill changes so constantly with new updates to the languages that maintaining it can be daunting, but once you have one language under your belt, they all become easier to learn as you go.

These are only some of the many languages out there, but in my personal opinion these three languages are where everybody should start, they require zero prior knowledge and will open up coding and programming to you slowly but surly. For beginners I strongly suggest Free Code Camp, they have taught me more (about more proper code) in a shorter time than I could have ever helped myself.

Free Code Camp!

I have been trying Free Code Camp for about a week now because of its simplicity in use and its very large community that is always willing to help. As a programmer your first task is to find somebody or a community that can walk you through even the simplest tasks. Learning alone is possible but it is slow and lonely, I suggest making friends who have the same interest in learning coding as you! Free Code Camp lets you do this by having a real time messaging system nested in the top of your screen while you code. Many people in Free Code Camp are on the same lesson as you and may have the same problem, no question is stupid, so just ask!

Free Code Camp implements Bootstrap and Favicon (a special icon class) directly into it’s usage, so you can begin using bootstrap immediately. Don’t let this fool you, they will test your basic HTML and CSS coding skills prior to teaching you bootstrap, you have to learn the basics after all! Inside the application is a decent programming environment which seems to be much like Sublime Text Editor. The environment is where you enter all your code and programming, which they will of course teach you. The text editor is very simple and maintains it’s simplicity by removing many of the more advanced functions and leaving you basic highlighted syntax. NOTE: I strongly suggest Sublime Text as a programming environment, but others are available and are free such as Notepad++. Try not to use just Notepad, mistakes will likely occur and cause frustration.
Screenshot of Sublime Text 2

Sublime Text Image

Alongside your text editor is a dynamic image of a mobile device and your web page displayed inside of it. As you type the image will change accordingly to the changes you have made in your code. This gives you a real-time look into your mistakes as you make them, not during testing of your web application. On the opposite side of the web page is all your directions, which are very clearly written and will give you hints along the way, again if you get stuck simply use your real-time chat bar and ask for help! Sadly the only way to learn is by doing, and it may take you a while to pass certain steps, but when you do finally surpass them, you will be ecstatic and proud!
How can Google Help?

Google may be your best friend for everything, but when it comes to programming google isn’t your only outlet. Stack Overflow Has a great search engine for coders and programmers alike. If you have a question, somebody else has definitely had the same question as you, and if they haven’t you may have to ask one of your fellow programmers for help. When searching for a problem always make sure that you are searching for the most recent questions or you may get answers for versions of the language that no longer apply! See the image below to change search results to “most recent”.
Most Recent Search Results

Most Recent Search Results
Don’t Give Up

The best advice I can give wannabe programmers is to never give up! Everybody will constantly be learning as there is nobody out there who knows it all. You will eventually get bored of basic HTML/CSS and Javascript and want to venture out and see if there is something more specific to your needs. I still have so much to learn and am only just beginning to settle into programming, and I love it, hopefully you will to! Find people who are willing to help, join online communities, and check out Free Code Camp They have all that to offer and more. Being an open source project they only have help and support in mind. If you have a specific idea of something you want to program check out more specific programming languages to aim for, such as PHP, Python, Ruby On Rails, and Data programming languages such as MySQL. Don’t expect to be coding like a professional by next week, or you will be disappointed, it has taken me almost a year to delve into specific languages such as RoR and actually be able to understand it. Be consistent and build yourself a schedule to studying. Free Code Camp gives you “challenges” to complete, try to complete 10 a night, they are short and simple, and some are easier than others, this will give you a consistent learning pattern and shouldn’t overwhelm you in the process. Happy coding!:grinning:

A Bit about me and this post!

This post was written about a week ago by me on my Web Page TrekkingDuo, My Wife and I are leaving for Thailand for about 2 months (possibly longer) So I decided to begin programming less than a year ago as a new career choice. I only wish I had found this great community sooner. If your interested in our travels check us out. I am currently working on my latest web application via Ruby On Rails that I hope to debut mid next year and begin my career as a full stack web developer!