|By Maureen O'Gara||
|November 11, 2009 10:30 AM EST||
Ken Thompson (pictured) and Rob Pike, a couple of the revered old soldiers who wrote Unix, Plan 9 and Inferno at Bell Labs – and programming languages like B, without which C probably wouldn’t exist, and Limbo – have come up with an experimental new programming language called Go that Google, their current refuge, open sourced Tuesday under a BSD-style license.
If it catches on, it would be the first major systems language to emerge in a decade.
One of the small Go team compares it to Java, calling it “performant but garbage collected” and “vastly more enjoyable to code in.”
Go’s primary attribute appears to be that it’s fast. It reportedly compiles to machine code very quickly thanks to a couple of Plan 9-beholden compilers.
Google says “Go combines the development speed of working in a dynamic language like Python” – Google does dote on Python – “with the performance and safety of a compiled language like C or C++. Typical builds feel instantaneous; even large binaries compile in just a few seconds. And the compiled code runs close to the speed of C.”
Go has been in the works for the last two years, but has only been a full-time project at Google since the middle of last year.
It was born, the Go team says, “out of frustration with existing languages and environments for systems programming. Programming had become too difficult and the choice of languages was partly to blame,” a statement that sounds very much like Ken Thompson.
“Go,” says one of the team’s FAQs, “is an attempt to combine the ease of programming of an interpreted, dynamically typed language with the efficiency and safety of a statically typed, compiled language. It also aims to be modern, with support for networked and multi-core computing. Finally, it is intended to be fast: it should take at most a few seconds to build a large executable on a single computer. To meet these goals required addressing a number of linguistic issues: an expressive but lightweight type system; concurrency and garbage collection; rigid dependency specification; and so on. These cannot be addressed well by libraries or tools; a new language was called for.”
Go descends from C in syntax and borrows declarations and packages from the Pascal/Modula/Oberon family and concurrency from Limbo, but it’s still a completely new language, its creators say, meant to escape the “bookkeeping, repetition and clerical work” of current languages as well as their “clutter and complexity” while still being “sophisticated.”
It’s object-oriented but without the type hierarchies.
Although it’s meant to make writing the servers and other software Google uses internally a lot easier, Go isn’t mature enough for large-scale production use yet. Its development team is experimenting with it as a candidate server environment and the server behind http://golang.org is a Go program.
Since Thompson’s involved, one would assume that the project’s called Go after the oriental board game that’s sort of like chess. He worked on Belle, the first chess program to get a master’s rating.
- WebRTC Summit at Cloud Expo Agenda Announced
- Google’s Enterprise Problem
- Building Video Calling with PubNub and WebRTC
- DataStax Announces New Startup Programme Offering Free Software, As Well As Free Training Courses For Cassandra Users And New Developer Tool
- Get Ready to Think Out (C)loud With Cloud Sherpas’ Upcoming Webinar Series
- Evaluation Report on Virtual Backup Software
- Series: Exchange 2013 and Lync 2013 Integration with AsteriskNOW PBX Pt. 1
- New PubNub App Template for WebRTC
- Strategic Enough to Matter, Code Halos and Mobile Apps
- GAMA : Quatre acteurs clefs, quatre stratégies différentes !
- Box and NSI Partnership Brings the Cloud to Businesses in the Middle East
- 7 Christmas Gifts For Your Business
- WebRTC Summit at Cloud Expo Agenda Announced
- OneLogin Raises $13M to Power Expansion
- Cloud Security Alliance Releases Cloud Controls Matrix, Version 3.0
- Survey Finds Large Enterprises Adopting WebRTC
- WebRTC Summit | WebRTC: Test then Disrupt
- WebRTC Summit Speaker Submissions Open
- WSO2 Expands Identity Management Capabilities Across Cloud, Mobile and Web Applications With the Launch of WSO2 Identity Server 4.5
- BMC Software to Exhibit at Cloud Expo Silicon Valley
- Twilio and LiveOps to Deliver WebRTC Deployments
- Oracle Demonstrates WebRTC Solution with CounterPath's Bria
- OpenStack for the Enterprise – Showcasing the OpenStack Ecosystem
- XIRSYS Launches WebRTC Hosting Service
- Where Are RIA Technologies Headed in 2008?
- The Top 250 Players in the Cloud Computing Ecosystem
- Dolphin Announces Open API With Over 50 Add-ons Including Dropbox and Wikipedia
- Personal Branding Checklist
- AJAXWorld 2006 West Power Panel with Google's Adam Bosworth
- Why Microsoft Loves Google's Android
- Google's OpenSocial: A Technical Overview and Critique
- Cloud Expo New York Call for Papers Now Open
- Wal-Mart To Sell $399 Ubuntu Linux-based Laptop with Google Operating System
- i-Technology Blog: Google Trends on Java, McNealy, AJAX, and SOA Give Pause For Thought
- i-Technology Blog: Is There Life Beyond Google?
- Android: Who Hates Google Over the Phone?