Wednesday, November 11, 2009

The Go Programing Language?

It appears Google has created a very interesting programming language. Here are the highlights I care about:

  1. Has array slicing. (This is the only advantage Fortran has to C in my opinion.  Slicing makes some mathematical routines soooo much easier to code as well as vectorize.)
  2. Google claims it runs essentially as fast as C/C++ code.
  3. It compiles much faster than C/C++.
  4. Has garbage collection.
  5. It was built from the ground up to be a parallel language.  The "Go routines" run concurrently.
  6. In addition to slicing, it has a lot of Python features like dictionary type objects. (You all know, other than speed, Python is the greatest language on earth.)
  7. In addition to 6, it was designed to feel like a dynamic language like Python but again have the speed of C.
  8. It claims it is very memory safe and has built in features to prevent stack overflows.
  9. It's open source.
  10. It's Google!
If Google has actually created a language that is as fast as C but has a feel similar to Python with array slicing I am about ready to convert today.  Especially if doing parallel programming is straight forward.

Slashdot article here.

Here is a video showing how fast it compiles code. (This is scary fast. I wonder how they engineered this given how much time and effort is to making good C compilers.)


  1. Looks pretty dang cool. I have found, during my time as a programmer at LLNL that it is important to use the right tool for the job. Far from any one language being superior to all others, each language has its own set of strengths and weaknesses.

    It seems to me that Go was designed for parallel server applications in mind. After looking through the spec somewhat, and the "Effective Go" portion, I would say it feels too C-ish to be as effective as something like MATLAB, SciPy, or LabView for scientific computing. It's not quite to the level of being ready for general purpose use. I'd like to see a language that takes python and makes it faster, and more easily sliceable. It seems to me that MATLAB has done a pretty good job in this regard, although it is still not very fast, and it's very expensive.

  2. Google's new programming language, called Go, took the application development world by storm when the search giant released it. The ambitious technology's pedigree features programming experts from the Unix world, including Ken Thompson, who teamed with Dennis Ritchie to create Unix. Created as a systems programming language to help speed up development of systems inside Google, Go is now viewed as a general-purpose language for Web development, mobile development, addressing parallelism and a lot more.


To add a link to text:
<a href="URL">Text</a>