Go language: What do you think?

Only looked at it briefly, but it's one of the (few) things from Google I'm not so keen on. Lack of generics, exceptions, assertions and so on - I know there's been an emphasis as of late of decluttering languages rather than adding loads of features, and to an extent this is a good idea (operating overloading for example was removed in Java and I think for the most part at least this was a very wise move.) However, looks like in GO they've GOne (sorry, just had to) too far. I love the use of generics in complicated code because it often helps to declutter things. Same with exceptions, and assertions are good for checking you've done what you think you have.

Concurrency CSP stuff looks cool though.
 
Only looked at it briefly, but it's one of the (few) things from Google I'm not so keen on. Lack of generics, exceptions, assertions and so on - I know there's been an emphasis as of late of decluttering languages rather than adding loads of features, and to an extent this is a good idea (operating overloading for example was removed in Java and I think for the most part at least this was a very wise move.) However, looks like in GO they've GOne (sorry, just had to) too far. I love the use of generics in complicated code because it often helps to declutter things. Same with exceptions, and assertions are good for checking you've done what you think you have.

Concurrency CSP stuff looks cool though.

so, what do you think about its integration with Google App Engine
 
Yes, it has got very good integration but then again there's perfectly decent libraries for other languages too - unless I'm missing something that's not really a killer feature.
 
Yes, it has got very good integration but then again there's perfectly decent libraries for other languages too - unless I'm missing something that's not really a killer feature.

yea, i'm thinking that Google is thinking of phasing out Java in favor of their own language. Like Microsoft has C#, Google would have Go? No?
 
yea, i'm thinking that Google is thinking of phasing out Java in favor of their own language. Like Microsoft has C#, Google would have Go? No?
I doubt it. Java's too well integrated into pretty much all of their products to warrant them ditching it and starting again in GO. They may do so in the future, but not yet.

Difference with Microsoft is that they said "hey, if you use C# we'll make sure your programs integrate as brilliantly with windows as they possibly can." Google can't really say that to the same degree.

It's an interesting language, but I don't think it's mature enough yet. Give it another few years and who knows, the ball park may change.
 
yea, i realize that its new, in fact so new that they don't offer much tutorials or anything, but my point is that they don't like the fact that someone like Oracle has a direct hand into all Google products. As has been shown by Oracle's move to sue Google over using parts of Java inside Android. Shortly around this time, Go came out. I'm trying to strategically position myself to knowing a language that will dominate the future. Kind of like knowing C# now or Java 10 years ago.
 
I'm trying to strategically position myself to knowing a language that will dominate the future. Kind of like knowing C# now or Java 10 years ago.
Java 10 years ago? Java is far from dead, it's still active in most things and arguably more popular than C# especially in some areas.

If you want to learn a language, learn something like Java or C# that's popular now. There's no point taking wild guesses at what might be popular in the future - if you get good at one language migrating to another should be relatively easy in the future anyway, and at least by learning a common one now you can guarantee that you'll still have learnt something useful even if it's just for legacy stuff. GO might become the language of the future that everyone just *has* to learn. But then arguably so could D, Scala, F#, etc. or just as (if not more so) feasibly languages like C# and Java could remain just as popular decades in the future. The flip side is that if it doesn't become big in the slightest (incredibly likely) then you've just learnt a language that never has, and never really will be used for anything.
 
Java 10 years ago? Java is far from dead, it's still active in most things and arguably more popular than C# especially in some areas.

I was referring to an increasing/decreasing trend of language popularity. The gab between (for example) Java and C# has been narrowed significantly over the past 10 years. Either way, I agree it is far from dead.

If you want to learn a language, learn something like Java or C# that's popular now.

I write C# everyday, but would like to get familiar with other frameworks, languages and technologies. Not too long ago, I picked up Pyton and Django, because I wanted to have fun with an interpreted language and use it for some web apps. Aside from that I wanted to get into Google App Engine. Java is a big player in that, but I didn't want to pick up another language that is similar to one I already know. Than i started reading more about Go and its integration with Google App Engine; this sparked an interest.

There's no point taking wild guesses at what might be popular in the future.

I agree, but there is good in taking educated ones.

if you get good at one language migrating to another should be relatively easy in the future anyway, and at least by learning a common one now you can guarantee that you'll still have learnt something useful even if it's just for legacy stuff. GO might become the language of the future that everyone just *has* to learn. But then arguably so could D, Scala, F#, etc. or just as (if not more so) feasibly languages like C# and Java could remain just as popular decades in the future. The flip side is that if it doesn't become big in the slightest (incredibly likely) then you've just learnt a language that never has, and never really will be used for anything.

it's not about learning the language. A for loop will be a for loop and a variable will still be saved in memory. The point is the whole system that a particular language can be used for. I know C#, but using C# with Google's App Engine, although i guess possible, is not really easy. So if you want to use Google App Engine, than you probably want to stay within the realm of what Google is telling you to stay in: Java, Python or Go as there will be documentation for it, integration tools, etc.

As far as how some functional language can become popular or Java or C# remain popular, it very well may be. I'm not asking about them, I'm asking about Go.
 
Ah, in that case fair enough. I thought you didn't know any languages yet and were looking to position yourself to learn one to get started.

Of course, if you're interested in GO and want to give it a try regardless to see what it's like, GO (sorry, can't help it!) for it! It's always interesting learning a new language like that even though it may not be terribly useful in the future.

Java is a big player in that, but I didn't want to pick up another language that is similar to one I already know.
On the contrary, this might be a good language to pick up for that very reason. It'll be easy (I comfortably went straight into programming a small-ish project in C# by just reading a small article about language differences) and once you've got the hang of it you can put another language on your CV.

As far as how some functional language can become popular or Java or C# remain popular, it very well may be. I'm not asking about them, I'm asking about Go.
Fair enough. I still think it's a long shot for it to become very popular, it is new but I just can't see enough of a niche for it to fill. Microsoft and Oracle are already battling it out on the .NET/Java front, and while Google has enormous prowess on the technical front I'm not convinced they'll be able to push it in amongst the others. Then again, I could be wrong, it's a hard one to judge.
 
Back
Top Bottom