Thursday, September 5, 2013

Coding 101: What's the big deal?

New segment on an old topic.  Let's get down to it.  Recently (not so recently), I've come to realize that coding is quite intimidating.  There are tons of resources out there and a bunch of them honestly suck.  Even the good ones don't do a great job at explaining just how diverse and multi-dimensional the world of coding is.

Now I'm sure I've noted that computer programming or coding is important and that you should get started.  But really, it is quite intimidating.  For one, there are a ton of programming languages, from C to Python to Perl to PHP to Haskell.  While they all kind of look the same they all have their own nuances and their own strengths and weaknesses.  As a beginning coder, it's hard to wrap your head around what a pointer is or why dynamically typed languages are 'slow' or what 'slow' even means.

The point of this segment, Coding 101, is to go over things at a high level.  Things like, why program or what are the different kinds of programming languages.  Why pick one programming language over another, what tools are available for you as a coder to use.  I'll try to keep things simple, but as with any technical subject there is a lot of jargon to absorb.

Hopefully someone will find this useful and I hope to cement what I've learned and observed for myself.  So let's begin with why program?

I'm not going to tell you that programming is essential for life.  Honestly, it isn't.  There are plenty of jobs where you don't need to know a single thing about code or how computers even work out there.  However, I will say that programming can be a fun exercise, and if you actually enjoy it, it can make a rewarding job.

From this website to any other website you visit, some coder's hands have touched it.  While I did not write the CSS or the HTML for this site, someone did, it's based on a template.  Every program you open on your computer or any other has been written by someone else.  Every app and every widget on your phone was coded by another individual.  While you might say that there are more than enough coders in the world then, you would be wrong.  By all estimates, computer programming is a field where there simply isn't enough supply to fill the demand.  Technology is kind of a big deal.  And it doesn't look like people are going to stop being needed to code things anytime soon.

But again, why program, why is it a big deal?  Are we not satisfied by our ability to access Facebook and Google?  There are literally millions of apps, many of which no one ever uses.  Do we really need more people out there when it seems like everything's been done?  The answer to that is that honestly, people don't know what they want.  7 years ago, the iPhone didn't exist.  10 years ago, Facebook didn't exist.  15 years ago, Google wasn't on the internet and was a small project by 2 PhD students at Stanford.  25 years ago, the internet as we know it (the world wide web) didn't exist at all.  Before you think about what little impact you might have, realize that the Apple Lisa computer, the first computer with a graphical user interface or GUI came out only 30 years ago.  Before that, most people likely didn't even know what a computer was.

The world of computing changes dramatically every time we stop to blink.  Many times it's because of people who pick up coding as a hobby.  Furthermore, as a subject, it's honestly very satisfying.  Unlike many things, when you're done with a program and it works, you can very easily say that you built something.  It requires very little physical effort, but you can create all kinds of interesting things in the world of programming.

I hope you take my words to heart.  Even an interest in coding without real application is nice to have.  Being able to write code is very similar to solving puzzles.  But it's also similar to writing stories or speaking other languages.  As long as humanity keeps going forward and as long as there are problems to solve by digital means, programming will always be necessary. So until next time, remember that it's possible to have an impact on the world whether by coding or not.

--CsMiREK

No comments:

Post a Comment