A few years ago, I heard of a new programming language from Google call Go (http://golang.org). I sent some time playing with Go and really really liked it. Unfortunately, like learning any new skills, if you don’t use it you lose it. I didn’t have any projects at the time I thought was suitable for Go. But I really could have started using it right there and then.
Fast forward a few years later, and I am back to learning Go again. I am not really starting at ‘square 1’, but very close to. This time, I am picking it up faster than before since I had seen the concepts and syntax before.
So why revisit Go now? Well, a few reasons. I really believe that Go is a great example of a well designed and balanced programming language. It makes certain easy, without being so simplistic. For example, Python and JavaScript will let you do string manipulation and some complex data structures, without you know just how much hoops they jump through. Now that might be what you want, but that comes at a cost. I am not talking speed cost here, the speed might be find for you. But the cost of you really knowing what is going on in your program. If that doesn’t matter to you, great.
I love writing web application in HTML, CSS, JavaScript using AngularJS. The reason being that I still get to see the details but benefit from the grunt work being done for me. I really couldn’t enjoy using a development environment that just allowed me to drag and drop components to create my UI and connect o the database like magic. I guess I am still too old time to believe and want all the magic.
Go is that nice middle ground between being fully naked and covered in burlap.
But it is not only go that I have revisited. I went back to a very very old friend, Neural Networks. Way back when, when I was in high school to be exact. I was interested in AI, artificial intelligence using Fuzzy Logic and Neural Network. I even did some generic algorithm at the time too. But the two things that really got me going was Neutral Network and Fuzzy Logic.
I was doing a simple robot for a science fair that demonstrated the use of Fuzzy Logic. I really didn’t need any kind of AI for what I was demonstrating. But my science teacher and adviser at the time was a great inspiration and someone who shoots for the moon.
Today, deep learning Neural Networks are all the rage. Neural Networks are being use for self-driving cars, drones (military, commercial, and hobby), sales, finance, social networks, etc. The number of places Neural Networks are popping up is simply staggering.
I am again not quire starting from square 1, but there is a lot of catching up to do. I am not going to try to get behind the theory and math of NN. Instead, I am going to try to learn enough and then find a few libraries and tools which will let me put it to use. For example, the TensorFlow tool from Google seems pretty promising. So far, the primary interface seems to be Python and I am not quite committed yet to playing with Python again.