27 April 2013

Let's Go Programming

Go is an evolutionary programming approach in which programmers can be more productive in making use of multicores and in process having more control and flexibility for concurrency. It is a language that has a mixture of both Java and C. Aspects of garbage collection are notable. The language even signifies less in coding lines compared to Java's verbosity. It feels like an interpreted language in dynamic mode and yet is compiled with static typing. It transcends what a lot of people would want in terms processing big data and working with intelligent algorithms. A programmer with the comparative speeds of C to the clean modularity, concurrency, and garbage collection structures of Java could only mean more productivity. Although, it can be also noted that Go is not as fast as either Java or C in benchmarks yet. However, the aspect of utilizing multicores makes for less of a wastage in a cloud computing environment. Where there is simplicity required, rapid prototyping for delivery, and less of an overshadowing engineering cycle, Go could be quite a suitable language. Go is still very new and does not facilitate much integration with other languages. It also does not seem to have the flexibility of rich open libraries yet like Java. However, in time as for all languages, new releases and community insights would add further to the road map. Go certainly seems like a promising language for the future prototyping. Perhaps, not just yet production ready.

A good reading guide to get started: