We are onto part 3 of my little series.
Image Credit
Part 2 can be found here.
Part 1 can be found here.
Introduction
If you have been following along, you have watched thousands of videos on so many topics it will make your head spin. After you absorbed all of that you could stand in whatever topics you found interesting, you can find a way to start using this knowledge. If you are going to keep with the internet theme, programming/coding would be a great skill to have under your belt. There are also a lot of computer science courses on Udacity and Coursera also that will help with other necessary skills beside just coding. At this point you have probably watched a ton of videos but maybe not able to actually start programming. This post will hopefully help you actually start coding. You have a great 'conceptual' basis but let's go move onto doing.
Datacamp
If you are a go getter you can just jump right and start downloading all this new open source software on your computer and follow along with the videos. Knowing what to download or what appeals to you the most is really hard. What fits your needs and what makes more sense for you? It is hard to know without any experience. To help you tease this out, I am just going to focus on 3 programming languages. Two popular languages that have been around for years and 1 relatively new language. If you went to the datacamp website, you will see they give you two choices to learn R or Python. Me being a statistical analyst I have used R for the last few years and really enjoy it. Python is growing on me pretty rapidly though too. R you would have to download but Python may already be on your computer and you might not even know it. Python comes standard on mac os x. Knowing which version and how to run it and getting comfortable might not be the best first task. Data camp is cool because it gives you in browser programming of both R and Python throughout the lessons. The downside is they make you pay after the first couple lessons. You can get started with a couple lessons for free and then move on from there. Udacity also has some in browser coding while going through the videos. Some of the more advanced videos of udacity will make you download and use local versions of the languages.
Enough with the Videos
If you had enough with me suggesting to watch more videos, then you can jump right in to fiddling with the languages yourself. Two great sites are R-fiddle and Python Fiddle. These are just in browser versions of R and Python. R-fiddle has a script part and the console part, then you can toggle to see graphs or not. You can jump right into coding from here. Follow along with tutorials you find online or just start typing up a storm and see what works. Python fiddle is a little more developed and comes with a few built in scripts and examples. You can get some ideas that way and see how this code was set up. You can even save code on borh sites if you choose. You do have to create an account or link to another social media account you may have set up already.
The Go Language
The last language I will mention is Go. I am very new to this language but it shows a lot of promise. Plus it was developed by google, so it can't be that bad. As far as I can tell, it seems like a hybrid of Python and C#. On their website they give you a tour and have an in browser coding console. When you go through the tutorials you have a side by side view that has the task and the practice console. The cool thing that makes me interested is the concurrency that is good for multicore and networked machines but still remains flexible and modular. This is going beyond beginning programming, but making these task more natural and fluid could be such a great help. I have dabbled with some parallel computing with R and Python and it takes some time to set the code up and think through. Having this inherent in the language is exciting and could really help with situations with Big Data, where the datasets being worked on are larger than what can be held in RAM or maybe even on just 1 machine. It would also help with machine learning and other really computationally expensive algorithms. If it is computationally expensive then 1 machine might not cut it and therefore a network of them may be necessary.
Hopefully this helps you actually get started with actually starting to program a little bit. I really am enjoying learning more and more about what can be done with programming and wanted to share. I feel like it is becoming more and more of a skill for people to know or have in their back pocket. Let me know what you think or if you have any questions.
Thanks for reading!
Thanks for the information, I'm getting more and more interested in reconnecting with my ancient programming roots, back from the "basic" era. This is short but sweet. Namaste :)
Glad you liked it. Good luck with getting back into it. Check out the part 2 portion for other resources I have come across that may be useful to you!
Thanks a bunch, I'll go check it out right now. Namaste :)
Thank you colleague, good post
Thank you!