Monday, August 1, 2016

Yinan Learns To Program Episode I: Like I Need More Excuse For People to Call Me Nerd

Hi all!

I've started this blog to attempt to keep myself honest and accountable on a new venture I'm taking, as well as giving people a step by step insight on the journey of learning how to take on a new and terrifying skill from day 1. What is this new journey, you may ask?

Programming.

Hey, wake up. Stop it, I was just getting started. Bear with me here.

Anyway, it's always been something I've been interested in learning and dabbled in only very occasionally; I've always been fascinated with the process of creating something from nothing, simply in by typing in a few (hundred) lines of things to tell a computer to do something. Take a look around the internet- websites, mobile apps, games, EVERYTHING is made by programming. It's a big scary word to some people, myself included, because it seems so complex and foreign, much like how math is to people who hate math.

So why did I do it? Am I a glutton for punishment? Are you, dear reader, for reading this far? I was looking around the internet recently on easy ways to make some money part time by, in the true American spirit, doing as little work as possible. I came up on sites like mTurk, where they pay you pennies and dimes to do simple tasks like click things, and Swagbucks, where they give you points for searching the web, doing surveys, and watching videos. These things were great and all, but they were paying pocket change for a lot of time (relatively) spent on them. If my time as a private tutor tought me, monetizing a specialty skill you have is definitely more lucrative than doing easy tasks that hundreds of thousands of other people are also doing and they can choose to pay pennies for. What kind of skill did I have that I could offer to people- and maybe even make a buck or two doing it?

And then, in a sadistic twisted train of thought, I said to myself, why not look into programming? Yeah, you know, that thing that people spend years and thousands of dollars learning how to do, I could just easily pick that up and start monetizing it no problem right? Well, wrong. (Duh.) Because it was something I always wanted to pick up for fun, and something that I dabbled in when I was younger (thanks for all those lessons in how to write basic programs for the TI-83 in high school, Luke Bradford), I figured learning how to program stuff would be fun. I'd get to do something I enjoyed- creating something from the ground up, and see how it worked- and spend more time on a computer, like I didn't do that enough already. As everyone knows, having a passion or interest in something is a very good way to give you the drive to keep going, so why not pick it up as a fun hobby (different people have very different definitions of fun) and then see where I am a few months or years from now?

So here comes the point of the blog. I started the blog to inspire myself to keep going with it, to chronicle my journeys, thought processes, successes, and frustrations in learning how to actually program things. I also like to write, so that helps. It takes a LOT of motivation to keep going with learning a skill like programming just because it's literally learning different languages- albeit, ones that computers speak, not humans- so I figured writing things down would help, so that I could have a journal of my experience slogging through the world that is learning to speak computer, and maybe even provide a guide (or humorous diary) for those who are looking to do the same for themselves, or looking for a bit of entertainment.

How am I starting this long trip down speaking the geek speak?  I'm a big fan of Reddit so I have definitely perused /r/learnprogramming. (Sidenote, if you ever need to look up something or ask a bunch of enthusiastic people on the internet about something, find the relevant community group on Reddit.) Through there, I've found a website called The Odin Project that people have recommended as a good starting point for learning web development, or basically making websites. I learned one thing first and foremost- have specific goals on what you want to do with the code, and learn stuff to help you do that, otherwise you'll be floundering around like a fish out of water trying to learn things here or there and not really going anywhere.

Why should you bother reading? Well, one, you read this far. Two, I promise to dumb all the code-speak down to human terms; this way, I get to explain what I've learned and retain it better (since you learn far better by teaching material than simply by memorizing it), and hopefully it garners a few readers here or there as they read my struggle with something that will most likely confuse the living daylights out of me for the next coming months.

Like Little Red Riding Hood, I'm excited and scared, but slow and steady does the trick (thanks, Mr. Cedric). Little by little, day by day, I'm going to learn how to do it, and y'all get to read through every painstaking step of the way here!

Thanks for stickin' it out this far. More to come.




No comments:

Post a Comment