November 25, 2009

Google Go language may be a nonstarter

Will Google’s new pet language evolve programming or merely widen the schism between vendor-specific camps?

I guess I shouldn't be surprised that Google has invented a new programming language. Isn't every other vendor doing it? But although Google Go sounds interesting, I question who's really going to use it and why.

When I first learned programming in the 1980s, the de facto language for new students was Basic. A version of Basic was available for every make of computer, and many shipped with it built into ROM. Each version differed slightly from the others, but they were similar enough that it was easy to jump from one platform to another.

[ What's the best first language for developers? Neil McAllister examines the options. | Take a visual tour of Chrome OS, Google's other new project, in our slideshow. ]

Later I graduated to "grown up" languages, including Pascal and C. These were compiled rather than interpreted, and they offered such advanced features as structured programming and direct access to hardware. Still, they were practically universal: You could find either one for almost any platform you chose.

Today things are different. In the modern, post-C world, the language programmers choose depends heavily on which IT ecosystem their programs are designed to support.

Want to write software for Mac OS X? Better learn Objective-C. Windows developers will get the most mileage out of Visual Basic or C#. And in enterprise datacenters, where IBM and Oracle middleware rules the roost, Java is the way to go -- just be sure you know whose app server you're running.

Sure, there are plenty of other options, and there's no shortage of also-ran programming languages. But over the years, a few major platform vendors have come to dominate mainstream application development, dividing the field into separate camps. Do we really need Google adding its own voice to this Babel?

Nowhere to Go but Google
In designing Go, Google started with a C-like syntax, then added and removed features as it saw fit. In other words, Google had the same idea as the designers of C#, Java, and Objective C -- to say nothing of C++, Perl, Ruby, and all the other modern, C-like languages.

additional resources
White Paper - How to Improve Delivery of Advanced Web Applications

White Paper

Virtual Workforce: The Key to Expanding The Business While Cutting Costs

Get the independent advice and expertise you need to support a virtual workforce.

Go inside:
The three-step approach to making a virtual workforce a reality.
The four flavors of client virtualization technologies.
The three key initiatives that solve IT challenges.
Download now »
White Paper: Successfully Secure Your Wireless LAN With Wi-Fi firewalls.

White Paper

Addressing Linux Threats Leveraging Fewer Resources

The increase in Linux popularity has increased the frequency and sophistication of malware attacks. Read this 2 page white paper now to learn how you can protect your Linux environment with real-time protection that is certified by all major Linux vendors.

Download now »
White Paper - The 2009 Handbook of Application Delivery

White Paper

The 2009 Handbook of Application Delivery

Ensuring acceptable application delivery will become even more difficult over the next few years. As a result, IT organizations need to ensure that the approach that they take to resolving the current application delivery challenges can scale to support the emerging challenges. This handbook elaborates on the key tasks associated with planning, optimization, management and control and provides decision criteria to help IT organizations choose appropriate solutions.

Download now »
White Paper - Is Your Backup System Outdated?

White Paper

Mid-range Storage Considerations

A common misconception is that mid-range storage requirements are dramatically different than that of a larger enterprise. Mid-range storage users may require less capacity, but they have similar functionality and management requirements. This ESG paper examines mid-range storage needs and reviews a new solution that adjusts size while retaining value, performance and functionality.

Download now »
Trencher93 25-Nov-09 12:04pm
Go's biggest problem is being yet another C-like language with a slightly different syntax. My brain can't hold another one after Perl, C++, Java, JavaScript, Python, PHP, etc etc etc. They're all similar, so similar I need an O'Reilly book to remember if the language uses =, ==, :=, .equals(), or has len, len(), length(), strlen(), etc. Too many little variations like this to keep track of. Are lists put in (), [], etc? How is yet another of these languages going to get any traction? At least Erlang is *DIFFERENT* in a maximum sort of way. (Looks like INTERCAL, but at least it's different.) I've been sticking to Java and Python just for sanity purposes.
sesummers 25-Nov-09 1:19pm
Did you spend any time reading the golang web site and understanding what's different about this language? Personally, I found the typing model intriguing. The way it assigns methods to types and applies interfaces, creating OOP without the strict class hierarchies, doesn't seem like something that could just be grafted on to C++. And the Goroutine idea, with channels as a native type rather than a kludged-in library, appears to make it really easy to address what I suspect is the most crucial problem we programmers are going to have to deal with over the next decade - what to do with all the processor cores. When the Core-i25 chip comes out in another decade or so with 128 hyperthreaded processors, are we really going to be able to use it effectively if we're still using thread libraries and worrying about whether our functions are re-entrant? I don't know if Go is going to "go" anywhere, but the idea that it's just yet another proprietary rehash of C so we don't need it is, IMO, pretty short-sighted.

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Today's Headlines: First Look Newsletter

Find out what will be news for the day, with our first-thing-in-the-morning briefing.

©1994-2010 Infoworld, Inc.