Advertisement

Google Go!

Started by January 05, 2010 07:47 AM
59 comments, last by Codarki 14 years, 10 months ago
The new programming language brought to us by google!!! Any thoughts on it?
For those who hasn't heard about it yet, here are two links:

The Go Programming Language - golang.org
Go (programming language) - Wikipedia
Check out my devlog.
Advertisement
Quote: Original post by soitsthateasy
The new programming language brought to us by google!!!
Any thoughts on it?


How about providing us with YOUR thoughts on it?
Right so!
I think it'll be a success simply because it's from google (Which I think will control the world someday :p) The syntax is very simaler to c++ from what I can see and I think I might go and learn it... Not so sure if it'll be suitable for game programming but they might bring in a new library for it or something.

Now, anyone elses view?
I don't like the language one bit. Keep in mind that I'm certainly no expert, and didn't look at the language very thoroughly (mainly because it failed to intrigue me enough to spend any more time with it).



  • No exceptions or anything that makes error-reporting easy. Multiple return values won't do, sorry, they just add even more imperativeness to the language as you can't call those functions inside expressions. (I'm a fan of functional programming BTW). AFAIK, you need to call "multireturn-functions" in a separate statement in order to be able to assign the return values to variables. Multiple return values don't seem to be just tuples, so you can't define a function which unpacks it.


  • No generics (for us at least, the language designers were able to define generic channel and map types). If you're going to have to cast all the time, then just make the language dynamically typed.


  • It "supports" multi-threaded programming by providing support for the CSP model (channels with messages), but not much more. Messages need to be read-only, yet the language does not even allow you to define read-only fields in structures. I'd like to have the language enforce some basic rules.


  • The pointer-system is just plain weird. They complicate things by again mixing things like by-value and by-reference. Also, you can call methods defined for type T on variables of type T, and also on type T* (no need for dereferencing), but not on type T** or more. I really don't like it when languages try to be smart.


  • Ugly, ugly syntax. Type notation can be confusing.


  • The way the interfaces work is interesting, but in the end it feels clumsy to me. Sometimes nominal subtyping is exactly what you need. I would have far preferred type classes (Haskell), which give you better control over what you want to express.


  • The fact that functions need to end with a return statement (you can't just have an if-statement whose branches end in return, that's not clear enough for the compiler) makes it look so primitive.


  • I'm not convinced that using lower versus uppercase identifiers is a particularly good idea to declare visibility. If you need to change it, you also need to update the entire file in which it appears.


  • The language is far too low level for my tastes. I felt it coming when I read how they felt they had to motivate the inclusion of garbage collection.


  • I don't understand their design goals. Do they want it to look familiar or not? Do they want the language to enforce rules or not? They provide some things that feel like you know them, but then suddenly twist around so that it surprises you and bites you in the posterior. The language feels very crooked that way. Sometimes it feels C-like, sometimes Perl-like, etc. That shouldn't happen.

  • Some more things which I forgot about since I last used it.



Also, Go does not provide anything new, it's been pointed out many times it's just Algol 68's younger brother.

I think it'll fail miserably. There already exist far better and more interesting languages than Go.
I think it will fail myself just because... well, what everyone else said.

But, that's still awfully ambitious of Google to try to integrate a new programming language.

They really are taking over the world.
Advertisement
Google No!
This is my signature. There are many like it, but this one is mine. My signature is my best friend. It is my life. I must master it as I must master my life. My signature, without me, is useless. Without my signature, I am useless.
Will it come with an EULA that says any source code will be viewable by Google and any programs created with Go will become property of Google?

My take on it is that its popularity depends on how strictly Google forces it internally. If they make it THE only language for google's platforms then people will learn it. Otherwise, it will die a horrible death very quickly.
I don't know what's going on at Google, but they seems to have forgotten that - as a business - they need to make, you know, money. All of their latest stuff seems to be totally devoid of a business plan! How do they make money from Chome? From Android? From Google OS? From Gears? And now from Go?

They seem to be suffering the same disease as Microsoft: putting their fingers into far too many pies. But at least Microsoft can argue that much of their work can help to sell copies of Windows. What's Google's excuse?

Personally, I don't think the world needs yet another programming language. But then again, I thought the same thing when C# was released and look what happened there...
Quote: Original post by Codeka
They seem to be suffering the same disease as Microsoft: putting their fingers into far too many pies. But at least Microsoft can argue that much of their work can help to sell copies of Windows. What's Google's excuse?


My guess is that they are positioning themselves (or at least trying) into as much markets as they can. (They could also be inventing excuses to squeeze money out of their stock/share holders who knows!)

From a glance this "new" language looks more oriented to fast development on portable devices and/or scripting. It's clear that it doesn't pretend to be a feature rich language at all, probably it's designed just around the problems google wants to address and nothing more.
[size="2"]I like the Walrus best.

This topic is closed to new replies.

Advertisement