After coming up with a mental template for my project, I knew there would be a need to automate it in a way I didn’t know how.
I contemplated raising funding (most likely through Kickstarter) and hiring a programmer or taking on a partner who could program, but that would make this a business and not a project.
For those of you who don’t know I want to keep TheOpenAlgorithm as a project free of monetization for as long as possible but I do at some point have plans to make money from it.
That’s why I decided that I needed to learn to program. Knowing this I set about researching the various programming languages.
That’s what I am going to share with you today, 10 non technical, simple to understand reasons why I picked Python and why I believe you should too.
I knew more than the average Joe about programming, but I was still totally out of my depth when I read articles talking about functions, LISt Processing and other Pythony things, in fact I still am confused when I read these articles.
Because these articles are written by Python experts who forget what it was like when they were new to the programming business or they are written for other experienced programmers who are thinking of learning a second language.
I simply couldn’t find a decent guide that would trade off or promote one language over the other I a way I could understand.
But I was lucky, I asked around my contacts who knew how to program and asked them what language to learn and why.
10 Reasons you should learn Python
Disclaimer: I thought I would write this guide now while I am still in the process of learning Python, so that I simply can’t confuse you, because I’m nowhere near a Python expert yet, when I am an expert I’m sure I will write a more techie guide to the Python features, but for now its beginner’s essential knowledge.
- It’s free: I’ve personally never heard a better reason to do anything. Python is a totally free language to download, use and play with, that’s because a bunch of crazy volunteers who devote their time to improving the language (much like Wikipedia).
- It’s really easy to learn: Not only have I been told it’s a simple language to learn I have experienced it first hand. Despite yet being an expert I have seen how fast my progress has been. I attribute this down to the way the language was designed, the commands (that’s the code you write) are mostly in normal English, so if you want to tell the computer to write something you type print “something” and run the program.
This makes it easy to remember commands and also makes it easy to understand what you are doing. Apparently other languages don’t act like this and you have to remember non-sensicle abbreviations.
- Free resources: Those crazy volunteers and Python members took their generosity to the next level when they created a great beginners guide to Python, couple that with some great YouTube tutorials and you have yourself a language that’s is not only free but is also free to learn. Great, huh?
- Paid resources: Unfortunately not everything about Python is free, you might have to shed out $20 to buy a book or pay for the petrol to take you to your local library because I would recommend learning Python fully from a paid resource.
Because of all the free resources, the paid ones have to be really good to sell and they tend to have a better structure to them. I have in the course of learning to program bought two books, the best for beginners being Hello World! Computer Programming For Kids and Other Beginners.
Don’t be put off that the book is aimed at kids, that just means it is easy to use and contains simple language anyone could understand.
But if your afraid to have a book with “Kids” in the title on your bookshelf then the other book I bought was Python 3 for Absolute Beginners, which I found less useful as it was more theory than the other book which contained a lot of exercises but would probably be quite handy for somebody with some sort of basic programming experience.
- Google use it: In fact Python is one of Google’s preferred languages, they are always looking to hire experts in it and they have created many of their popular products with it. They build a lot of their products with Python (in fact much of the Google spidering and back end search capabilities were built in Python).
So I guess if your looking for a job with Google, Python’s a great place to start.
When you have the Google stamp of approval, you know your onto a winner.
- It’s versatile: Ok, I promised no techie stuff so I’ll keep it simple. Python can be used for small, large, online and offline projects. It’s versatile, get it?
- It’s quick: Some languages take an age to program not Python, remember it was created with programmer in mind and that means it is simple and quick to write code in Python.
- Up to date: Because of Python’s volunteers and the fact that it’s an open source language there are always people trying to improve it. That’s means new versions of the language are regularly released, that keep the language fresh and up to date with current trends, making it a more powerful language that is less likely to fade away into obscurity.
- Fast (not just easy) to learn: A Google Employee who turned me onto Python said I could become “reasonably proficient in it in less than two months”, you wouldn’t say that about learning French.
If you have a brain suited to programming i.e. you like computers, aren’t afraid of simple maths equations and are a problem solver then you should be able to learn your new skill quickly, which is a real bonus.
- Great community: Ever have a problem you can’t figure out, or a link your can’t find, just ask one of the thousands of Python community members who are more than willing to help out. You will find them on forums, Twitter, Facebook, Q&A sites, pretty much everywhere.
Not that many languages have as open and helpful community which makes it a lot less frustrating when you are stuck or can’t find a bug in your code.
I Ireland where I live, there’s even a Python group that meet up every month, so I know if I ever need help or an experts view I can always go along to a meet up.
I hope that helps you decide which programming language you want to learn. On a personal note, I have found Python to be easy, fun and simple to learn. Although I haven’t really done anything with it yet, the people who I have talked to about TheOpenAlgorithm seem to think Python is ideal and completely capable of doing the job.
I would highly recommend learning Python and if not Python then some programming language. It’s well worth the effort, the sense of accomplishment of creating a program is great and even if you don’t create the new Facebook you will at least understand better how your computer, iPod and smart phone work.
Stay tuned to all my posts, both on Python and on the interesting things I will be doing with Python by following us on Twitter, subscribing to the RSS feed, connecting with me on LinkedIn, liking us on Facebook, viewing us on YouTube or subscribing to our posts via email.