Go needs demand to enter schools

Google's new language must win sufficient mindshare among developers and potential employers before being included in school curricula, say educators.

Until it wins sufficient mindshare among developers, Google's new Go language is not likely to be included in school curricula anytime soon, according to a university professor. Another educator notes that its inclusion boils down simply to employer demand.

Introduced last month, Go is an open source programming language that Google says is aimed at speeding up software development.

Richard David, assistant professor of information systems at the Singapore Management University (SMU), said in an e-mail interview that the Go language is likely to stay within the niche early-adopter crowd.

"I doubt it will revolutionize computer programming, but the language could become popular among people developing software with high-performance demands, like graphics-intensive applications," David noted.

"To become popular, though, Go's designers would have to convince those developers that the language really does deliver the performance advantages that it promises. If it doesn't, then they might as well use Java, C#, or a more dynamic language like Flex or JavaScript."

He applauded Google's efforts at including built-in support for map data structures and concurrency--features typically not found in "low-level" languages, he said. The inclusion of these features was consistent with Google's stated goal of making it easy to write programs, he added.

Go would not likely be included in a C programming course either, even if it does not get to be taught as a standalone module, he said. "Mentioning this language would only confuse someone trying to learn C, and C is confusing enough already.

The Google language is based on programming rules similar to C and C++, but applies modern features aimed at speeding up Web development.

"Besides, there isn't much point in trying to teach any computer language until a significant number of people begin using it," David noted. "Early adopters are better at picking up a language on their own."

Market demand will decide
Another educator, David Brownrigg, course director of external programs at University of London's Goldsmiths, said the decision on whether to include a language in a tertiary course boils down simply to market demand.

Java, for example, has "a lot of clutter as a learning language", making other languages such as Eiffel or SmallTalk, more suitable as tools to teach object-oriented concepts. "But, the advantage of offering Java is that students may be motivated to study [the language because of its] perceived long-term employment relevance," Brownrigg told ZDNet Asia in an e-mail interview.

"Generally, what the software development industry suffers from is that new languages come up every few years, being pushed as the solution to all ills by a particular interest group.

"A new language just hides incompetence a bit longer, and means that all sorts of old problems are reinvented, a few get [reduced] and some new problems of bad use emerge," he noted.

Developers looking to get started on Go should first "look at a list of past 'wonders' and see how they have done", he said. "We cannot all afford to change language every few years [to chase] the occasional well-pushed one, like Java or C++ in games, going 'global'," said Brownrigg.

Google explained its motivation for building the language on the Go official site: "No major systems language has emerged in over a decade but over that time, the computing landscape has changed tremendously.

"Computers are enormously quicker but software development is not faster," it said. Google added that people were moving toward "dynamic" languages such as Python and JavaScript, because of the "cumbersome type" of languages such as Java and C++. Go was built to be a cross between the two, the company said.

For now, though, the project remains "experimental" and further development will be justified when sufficient programmers hop onboard, Google said.