Two days ago, Google announced the development of a new programming language called “Go“. Outwardly, Go is similar to other programming languages in the C family, but don’t let that fool you. Go is a brand new language written entirely from scratch and includes sophisticated built-in support for concurrent programming.
With the development of easy parallel programming tools, Google may now be competing with Apple in yet another technology market. If you recall, Apple introduced Grand Central Dispatch with the release of their Snow Leopard operating system a few months ago. While GCD is still very new, it generated a lot of excitement for how easy it made developing multi-threaded applications.
Go is also creating a lot of excitement, but it’s still very raw and requires a lot more development to be ready for production programming. Still, developers should be excited to see two new technologies that will help them do more with concurrent programming.
However, despite Go and GCD’s ease of use, the hard part remains: developing a concurrent application first requires identifying parallel components that can be run independently. In many ways, once a programmer overcomes that hurdle, regular old Pthreads don’t seem so hard.