Wednesday, March 10, 2010

here we GO......!!

Greetings !!!

So here are we with first page on Google GO

Go Simplified



.




Why a new language ?

Developres of "GO" claim that there is no major language in last decade but there has been a drastic changes in other aspetcts like:

- Dominance of networking
- Client Server Focus
- Massive Clustuers
- Sprawling libraries & dependency chains
- Rise of Multi Core CPU's etc

and our today's major system languages can't focus on that as they were not desgned keeping such factors in mind.

Secondly, the developers are not happy with the construction speed. They have to wait while the code is compiling. The programming tools available today are slower and their new versions are more slower !! Hardware speed is growing but systems are still getting slower.
Dependencies are not handled properly. The software is growing at very very slow pace.

Why "GO" ?

As we have seen that it has been over a decade that web and computing has changed surprisingly but its also a fact that same computing about which we are talking about,works upon some programming languages and the speed of development of these languages is not as efficient
and fast as it should be. and that is the main reason why google thought to add up something new and really different for solving this problem.
That's why google tried to solve it with its newest invention we can say "GO" which is an open-source development language that Google believes will combine performance with speed,and one that the company probably hopes will reshape the development and software industries in its favor.


Introduction

"Go" is the newest released open sourced programming language by "Google", but a bit different till now one of its own kind we can say. As "Go" is experimental, fast, safe, simple and concurrent. Its typical builds feel instantaneous and even it compiles large binaries in just a few seconds. And the compiled code runs close to the speed of C. Go is designed to move fast, it combines the performance and security benefits associated with using a compiled language like C++ with the speed of a dynamic language like Python."GO" seems to be a great language for systems programming with support for multi-processing and a fresh and lightweight take on object-oriented design, with some cool features like true closures and reflection.



Goals

The "GO" aims at fulfilling these goals:

- Safety : Type safe and Memory safe
- Good concurrency and communication support.
- Efficient and Latency free garbage collection.
- High Speed Compilation


Developers

Basically the initial design of "GO" was developed by

- ROBERT GRIESEMER
- ROB PIKE
- KEN THOMPSON

in September 2007, as they were working on the INFERNO OPERATING SYSTEM.

"Go" was officially announced in November 2009, with implementation released for the LINUX and MAC OS-X platforms.At the beginning "GO" was not considered to be ready for adoption in production environment but sooner due to its features it is now considered as a great option for the same.


Platform

"Go" is based on the C programming family, the twist is that it incorporates elements of Python and the Pascal/Modula/Oberon family to make faster and more dynamic programs.we can say it is the basic platform under which "GO" is developed."GO" attempts to combine the development speed of working in this dynamic language like Python with the performance and safety of a compiled language like C or C++.

So, this was all about the introduction to GO. With next post we will step into the coding part of this language. Till then its goodbye and have a happy learning period !!

Don't forget to post your comments,queries and suggestions.


Thanks and Regards,

Jaspreet Singh Sandhu

jasg09@gmail.com

Nitish Soni

er.nitishsoni@gmail.com