954,048 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Google's new language..

So.. Google are going ahead with their 'Go' programming language - "a cross between C++ and Python".

Article
Official site

Not sure what my thoughts are on it yet. What does everyone else make of it..?

KonkaNok
Light Poster
38 posts since May 2009
Reputation Points: 46
Solved Threads: 3
 

Well, since you're unwilling to think, I'm not going to do it for you.

Rashakil Fol
Super Senior Demiposter
Team Colleague
2,658 posts since Jun 2005
Reputation Points: 1,135
Solved Threads: 176
 

I was just posting to see what the general consensus was to be honest .

Personally, I think that it sounds like a good idea in that Python and C++ are both powerful languages and the combination could balance out each language's disadvantages but I'm not entirely sure how that would work smoothly.. and even though the idea sounds nice I'm not so sure I like it running under Google - 'evil' is a strong word but..

I guess it depends what their plans are for it.. and maybe how open they are about developing it further.

KonkaNok
Light Poster
38 posts since May 2009
Reputation Points: 46
Solved Threads: 3
 

Well, I like it. In particular, slices, rather than pointer arithmetic, is simply The Right Thing.

I have been looking for a good safe systems programming language, and it seems like garbage collection is the practical thing to do. The other option is Cyclone, which I don't like.

Rashakil Fol
Super Senior Demiposter
Team Colleague
2,658 posts since Jun 2005
Reputation Points: 1,135
Solved Threads: 176
 

Looks like google doesn't let this language run on windows because windows is too popular. hehehe At least it will run on linux and mac. Unfortunate that it's not cross platform for all systems.

cwarn23
Occupation: Genius
Team Colleague
3,033 posts since Sep 2007
Reputation Points: 413
Solved Threads: 259
 

>Looks like google doesn't let this language run on windows

:-/ Oh, well that sucks. Not a fan of languages that aren't easily portable.

KonkaNok
Light Poster
38 posts since May 2009
Reputation Points: 46
Solved Threads: 3
 

not even if it's mixed with such excellent features as Python's. ;)

Sorry I'm not able to burst into enthusiasm. The statement alone, they would combine Python's development speed with the "safety of a compiled language like C or C++" is a farce. C++ is one of the unsafest languages out there. Not to mention the ugly syntax ;)

One really cool hybrid between dynamically and statically typed language with a great syntax is Boo . Another language that already provides most features of Go's is D .

I guess Google's move has market-strategic reasons more than everything else. Nonetheless I would very much welcome a truly safe (unlike C++) system programming language that is backed by a strong player in the market and does not suffer from the resource hunger of .NET and Java.

pythopian
Junior Poster in Training
81 posts since Nov 2009
Reputation Points: 20
Solved Threads: 25
 

It seems Go will be used so much on server applications that's why windows has not been considered.

sureronald
Junior Poster
139 posts since May 2008
Reputation Points: 11
Solved Threads: 19
 

Maybe Windows is simply too unsafe for Go.

Actually the syntax looks a lot like a mix of Object Pascal and C++, not sure where the beauty of Python went.

vegaseat
DaniWeb's Hypocrite
Moderator
5,976 posts since Oct 2004
Reputation Points: 1,345
Solved Threads: 1,416
 

not even if it's mixed with such excellent features as Python's. ;)

Sorry I'm not able to burst into enthusiasm. The statement alone, they would combine Python's development speed with the "safety of a compiled language like C or C++" is a farce. C++ is one of the unsafest languages out there. Not to mention the ugly syntax ;)

I think that quote is referring to type safety. Not to mention monkey-patch safety. If you know how to use C++, it's a very safe language. C++ provides the best "resource safety" of any mainstream language.

Go is a variant of C and has a type system very similar to C's. I think it's a great place to start -- it doesn't have exceptions, so the behavior of things is very predictable. I can imagine projects where I'd normally use C, but now I'd use Go. And Go has room to grow.

Rashakil Fol
Super Senior Demiposter
Team Colleague
2,658 posts since Jun 2005
Reputation Points: 1,135
Solved Threads: 176
 

Here's a nice review by somebody I consider smart: http://scienceblogs.com/goodmath/2009/11/googles_new_language_go.php

Rashakil Fol
Super Senior Demiposter
Team Colleague
2,658 posts since Jun 2005
Reputation Points: 1,135
Solved Threads: 176
 

you downraved my post, and commented on my reputation "just because you dont understand C++ doesn't mean it's ugly or unsafe." Let me respond in kind:

First: You must think you've been blissed with supernatural powers to know out of nothing whether I understand C++ or not. Well you are not. I have been programming in C++ for more than 10 years. And I mean hard-core, system level programming, in safety-critical areas. I wouldn't say a language is unsafe unless I have experienced it. Besides, I'm in good company here - even Bjarne Stroustrup, the creator of C++, says it is unsafe.

Second: Ugliness is in the eye of the beholder. To say that C++ syntax is ugly is my God-given right. Period.

I know language wars are easily inflamed, but neither this thread, nor I need another one of those (even less than we need more C++ ;) )

pythopian
Junior Poster in Training
81 posts since Nov 2009
Reputation Points: 20
Solved Threads: 25
 
I think that quote is referring to type safety. Not to mention monkey-patch safety. If you know how to use C++, it's a very safe language. C++ provides the best "resource safety" of any mainstream language.

You don't know me, so you assume I don't know what I'm talking about. I'm not bashing about C++ because I don't know it. I'm doing it because I do know it. (I've been a C++ system programmer for 10+ years.)

To say "If you know how to use C++, it's a very safe language" is a no-statement. Everything, even assembler, is safe if "you know how to use it". That's not the point about safety in programming languages.

"C++ provides the bestresource safety of any mainstream language"??? Yeah, dangling pointers, memory leaks, array boundary breakage... All signs of "resource safety". The opposite is true: I'd say that virtually every other mainstream language today has a much higher level of resource safety than C++. (Alas at the expense of resource hunger, but that's another story.)

I observed a funny thing during the last decade or so: Usually people who are in flaming defense of C++ (or anything "conservative") are quick to taunt its critiques they wouldn't know what they were talking about. Truth is, it is usually the defenders who don't know what it means to work in a more advanced language. The most passionate C++ fundamentalists (and rigid opponents of Java, .NET, or really anything invented after 1990) that I've ever met have never seriously programmed in anything but C and C++. Seems to me like BMW owners who refuse to believe that a Ferrari (or anything) is faster than their beloved car brand. ;)

pythopian
Junior Poster in Training
81 posts since Nov 2009
Reputation Points: 20
Solved Threads: 25
 
You don't know me, so you assume I don't know what I'm talking about. I'm not bashing about C++ because I don't know it. I'm doing it because I do know it. (I've been a C++ system programmer for 10+ years.)

I don't care about you or your appeal to self-authority. I'm going to assume you don't know what you're talking about because most people don't.

And stop having a chip on your shoulder, and I was comparing C++'s safety merits relative to Python's, because there are some.To say "If you know how to use C++, it's a very safe language" is a no-statement. Everything, even assembler, is safe if "you know how to use it". That's not the point about safety in programming languages.

That's not true. Even if you "know how to use" assembler, there's still a high probability of yourself creating a memory error. Unless you're using a statically typed assembly language or something. If you "know how to use" C++, you can reduce the probability of memory errors in most of your code to zero. You of course have to restrict yourself to a subset of the language and standard library -- at mundane levels such as avoiding certain functions like std::vector's operator[], and at other levels such as using smart pointer types, avoiding pointers entirely, using non-cyclic data structures, just tolerating some copying, and avoiding STL-style iterators."C++ provides the best resource safety of any mainstream language"??? Yeah, dangling pointers, memory leaks, array boundary breakage... All signs of "resource safety". The opposite is true: I'd say that virtually every other mainstream language today has a much higher level of resource safety than C++. (Alas at the expense of resource hunger, but that's another story.)

The only way in which C++ is particularly unsafe is memory safety. Which is, of course, the most important one. In other cases, C++ has stronger control over resources, because it had to tackle this problem head-on regarding memory safety. For example, in C#, you could just write var x = File.Open("blah.txt") , or whatever the API is. The file won't get closed until the object is garbage collected. Maybe you realize this so you write x.Close(). That's still not exception-safe. So okay, like any good C# developer, you write using (var x = File.Open("blah.txt")) { ... } . It's much easier to hold references to resources like files and connections longer than you intended in languages that are not C++, because C++ gives you exception safety without having to know that something is IDisposable.

Maybe you're so worried about dangling pointers and array boundary breakage because you don't know how to use C++. Yes, I am trolling you. And yes, I might be right.I observed a funny thing during the last decade or so: Usually people who are in flaming defense of C++ (or anything "conservative") are quick to taunt its critiques they wouldn't know what they were talking about.

I have observed a funny thing in forums for the last decade or so: people tend to project their expectations of people's attitudes onto their interpretation of what they're reading. Truth is, it is usually the defenders who don't know what it means to work in a more advanced language. The most passionate C++ fundamentalists (and rigid opponents of Java, .NET, or really anything invented after 1990) that I've ever met have never seriously programmed in anything but C and C++. Seems to me like BMW owners who refuse to believe that a Ferrari (or anything) is faster than their beloved car brand. ;)

I'm not sure if there's anybody in this thread you're referring to, besides that guy who downrepped you for some reason.

Rashakil Fol
Super Senior Demiposter
Team Colleague
2,658 posts since Jun 2005
Reputation Points: 1,135
Solved Threads: 176
 

Woah, people seem easily offended today. :S But back to the topic at hand, i'm quite annoyed that is talked about how it was a mix of python C++ etc. Because i really couldn't see much of the python in it, it doesn't look like python, it compiles, unlike python and im just trying to find when i see the thing that makes me think. Oh that sure is python!

And i want it on windows :P

Paul Thompson
Veteran Poster
1,119 posts since May 2008
Reputation Points: 264
Solved Threads: 183
 
I don't care about you or your appeal to self-authority. I'm going to assume you don't know what you're talking about because most people don't. ... And stop having a chip on your shoulder, and I was comparing C++'s safety merits relative to Python's, because there are some. ... Maybe you're so worried about dangling pointers and array boundary breakage because you don't know how to use C++. Yes, I am trolling you. And yes, I might be right. ... I have observed a funny thing in forums for the last decade or so: people tend to project their expectations of people's attitudes onto their interpretation of what they're reading. ...


Whew, Rashakil, that was one frustrated response. I didn't mean to hurt your feeling, pal. I really didn't.

Look, I could be trolling you back, or I could take your arguments to pieces, or quote recognized authorities and studies that confirm the lack of safety in C++, or point you to references on qualities of good programming language design... But would that get us anywhere? Would that make you accept any argument of any "authority" other than yourself? Or make you start talking to me on equal footing? Probably not.

To me, a programming language is a tool, not a religion. It's a matter of practical value, not belief.

If you want to believe you are surrounded by idiots who all don't know WTF they are talking about, that's OK. (I guess it's a though that easily crops up to an intelligent person.) If you need to believe your BMW is better than my Ferrari's - that's cool too. But let's just stop polluting this thread with a nonconstructive language crusade.

However if youwant to start a serious, fair and open-minded discussion about programming language safety, start a new thread, and I'm in. If not, good luck, and peace be with you.

pythopian
Junior Poster in Training
81 posts since Nov 2009
Reputation Points: 20
Solved Threads: 25
 
i'm quite annoyed that is talked about how it was a mix of python C++ etc. Because i really couldn't see much of the python in it.


You are right, there is not much of Python in Go's syntax. I think when they (Google or else) say "like Python" they mean features and qualities of the language that allow for rapid development.And i want it on windows :P
Me too :)

pythopian
Junior Poster in Training
81 posts since Nov 2009
Reputation Points: 20
Solved Threads: 25
 
Look, I could be trolling you back, or I could take your arguments to pieces, or quote recognized authorities and studies that confirm the lack of safety in C++, or point you to references on qualities of good programming language design... But would that get us anywhere? Would that make you accept any argument of any "authority" other than yourself? Or make you start talking to me on equal footing? Probably not.

The trouble with trying to argue with me is that you don't disagree with me about C++.

Edit: What you disagree with, apparently, is the practice of providing reasons for the things you say.

Rashakil Fol
Super Senior Demiposter
Team Colleague
2,658 posts since Jun 2005
Reputation Points: 1,135
Solved Threads: 176
 
The trouble with trying to argue with me is that you don't disagree with me about C++..


Good.Edit: What you disagree with, apparently, is the practice of providing reasons for the things you say
As I said, I have no problem in providing all the reasons you need and more - elsewhere, on another thread.

pythopian
Junior Poster in Training
81 posts since Nov 2009
Reputation Points: 20
Solved Threads: 25
 

One thing I would like to say if I can get this language working on Ubuntu.
"GoGoGoogle"_"

cwarn23
Occupation: Genius
Team Colleague
3,033 posts since Sep 2007
Reputation Points: 413
Solved Threads: 259
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You