Google’s Go could improve on existing programming languages by simplifying development without sacrificing application performance, but it will likely take years for Go to attain an established position that will allow it to have a noticeable impact.
Consequently, it will be crucial for Google to commit to Go for the long term, working hard at championing and strengthening it. Otherwise, the open-source Go won’t fulfill its stated potential of offering the development speed of dynamic languages like Python with the robustness of compiled languages like C++.
“I’d love to see a compiled, fast language like this take off in the Web development world. Developers have been trying to speed up development time with languages and frameworks for the past four to five years — Ruby on Rails, Django, CodeIgniter — but have been sacrificing application performance in that pursuit,” said Michael Wales, senior developer with General Dynamics Information Technology.
“Google’s goal is to develop a language that is not only efficient for the developer, in terms of developing an application, but is also efficient for the computer, in processing time/memory usage, and the business processes of that application [like] security, concurrency,” Wales added in an e-mail interview.
Still, Go is very much at a baby stage right now, and Google and the open-source community that gathers around the project have their work cut out for them.
“It may be five years to a decade before Go reaches a critical mass to be a durable fixture in the computing tower of Babel, to even reach, say, 10 percent of new project starts across the board,” said Al Hilwa, an IDC analyst.
Gartner analyst Ray Valdes shares a similar view. Valdes forecasts that it will take at least five years for Go to take solid hold and build a stable community of developers using it.
“The main inhibiting factors are that it’s totally new, it requires learning a new language and set of tools and framework, and there’s very little existing code that developers can leverage to build solutions,” Valdes said in a phone interview. “So it’ll take some time to have an impact outside of Google.”
That timetable is a turn-off for Alan Peters, principal and founder of Singlebound Creative, a digital marketing agency, and founder and CEO of Tap Riot, a mobile applications startup.
“I’ll keep an eye on it because my profession requires that I understand these things. But, frankly, no: It presents too much risk for either of my businesses,” he said when asked if he plans to invest his companies’ time and effort on Go right now.
“Google has a very academic corporate culture that values research and experimentation. Computer Science academia likes to invent programming languages,” Peters added via e-mail. “At Singlebound and Tap Riot, we’re really application-focused. And the applied world just has a different way it likes to solve problems: quickly.”
Wales worries that Google may not make the disciplined, deliberate commitment that Go will require in order to succeed. “Sure, they are interested in it right now, but they are probably the most scattered group of developers to ever turn a profit, jumping from project to project without getting anything to that ‘perfect’ point — with the exception of Google Maps and Google Reader,” Wales said. “I mean, hell, how long have we been waiting for a decent contacts manager in Gmail?”
If Google fails to give Go the necessary attention, it will be a real pity, because the new programming language holds great potential.
“They’ve been able to come up with a cleaner, simpler syntax that preserves most of the power of the older languages that are more complicated and they’ve been able to do that in a way that makes the processing time very fast,” Valdes said.
“It seems they’ve been able to combine the productivity of a dynamic language with the performance of a compiled, more static language,” he added.
Wales finds Go’s syntax friendly, with a clean feel to it like Python’s and Ruby on Rails’, while also familiar to the syntax of C-based languages. He also likes that, as a compiled language, Go’s applications run extremely fast.
Wales also has praise for Go’s tools, calling them “excellent.” “The compiler is fast, there is a formatter that ensures all files of an application are consistently formatted, which is great for teams releasing code to the public,” Wales said.
So, what are the keys for Go to carve out a place as an established programming language?
For starters, the syntax that he likes so much could be further refined, Wales said. “The syntax is more verbose than what normal Python and Ruby developers are used to, a fault that is not easily overlooked as this is one of the main selling points for these two languages,” Wales said.
Another weak point is what Wales considers Go’s watered-down, object-oriented design, which he considers “a major downfall.” “[Object oriented programming] is a proven concept that makes the management and maintenance of large applications significantly easier,” he said.
Google could give Go a major boost by building “serious applications” with it and demonstrating how much simpler and convenient it is to build them with Go as opposed to other languages, Hilwa said in an e-mail interview.
Wales also recommends putting a stronger focus on tutorials and on reaching out to novice developers. “The current documentation and examples they’ve provided can only be understood by seasoned developers,” he said.
Google also needs to court developers so that they build Go libraries. “Not only is this great for learning, by reviewing other’s code, but it makes the language more powerful,” Wales said. “History has shown that third-party support is where most languages win the battle.”
Peters recommends rewarding interested developers with a lot of tender loving care. “Google is a powerful brand that holds emotional appeal to a certain class of geek. Involve that geek,” Peters said. “Give that geek some interactive access with real Ph.D.s at Google and early access to experiments. Let them participate in the creation and improvement. Then you’ve got something better than a developer: a brand champion.”