Linked by Thom Holwerda on Mon 11th Feb 2013 22:59 UTC
General Development "I feel like writing about the Go programming language (or 'Golang') today, so instead today's topic is computer stuff. For the record, the language I've programmed the most in has been Python, so that’s the perspective I'm analyzing it from." Some good and bad things about Go.
Thread beginning with comment 552229
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[3]: Cross-compiling
by Alfman on Tue 12th Feb 2013 18:17 UTC in reply to "RE[2]: Cross-compiling"
Alfman
Member since:
2011-01-28

"Go is designed with portability in mind. C++ wasn't. So while C++ can be portable, it's much easier to write portable code in Go."

I actually agree with moondevil's point. While the c++ ecosystem is filled with tons of incompatible libraries/frameworks across tons of platforms, the c++ language itself doesn't impose significant portability issues, in fact it's highly portable. I think you ought to be blaming the C++ frameworks for portability issues rather than the C++ language itself.

Now in the end this difference may be mute because we really do need the C++ frameworks in practice, but I think it's important to recognize because without a central authority for coordination of one common framework, all languages have the potential to devolve into the situation C++ finds itself in with incompatible local frameworks. I can see it now: "microsoft foundation classes for Go", haha.



Personal anecdote:
Even the JDK, with the most portable framework I've ever used, wasn't perfect. For a university project we were using java to control serial ports connected to early bluetooth prototypes. The JDK worked perfectly from windows, but we needed to adopt a custom serial port driver for spark workstations (oh delicious irony).

Reply Parent Score: 3

RE[4]: Cross-compiling
by lucas_maximus on Tue 12th Feb 2013 18:29 in reply to "RE[3]: Cross-compiling"
lucas_maximus Member since:
2009-08-18

I did a bit of work with OpenBabel for my dissertation (I made a very simple Java app) and was going to release it open source (probably a "do what you f--king want license") with a few bug fixes and a general code clean-up.

The JNI interface was a PITA to link up on Linux and I didn't even attempt it on OpenBSD. The Java interface was generated by SWIG bindings and they were totally different to the Windows versions. It might have been something to do with SWIG but I just gave up there as I was just going to spend maybe an afternoon getting a decent release.

(There was only a few thousand lines of code, and most of it was pretty decent other than some novice mistakes I made at the time).

In the end it bit-rotting in my dropbox. I think I might build a swing front end for it and stick it up on my personal site for anyone who wishes to use it on the OpenBabel google group and if they are inclined they can port it to another OS themselves. I don't really have the time, nor the inclination.

Edited 2013-02-12 18:33 UTC

Reply Parent Score: 2

RE[4]: Cross-compiling
by Laurence on Tue 12th Feb 2013 18:35 in reply to "RE[3]: Cross-compiling"
Laurence Member since:
2007-03-26


I actually agree with moondevil's point. While the c++ ecosystem is filled with tons of incompatible libraries/frameworks across tons of platforms, the c++ language itself doesn't impose significant portability issues, in fact it's highly portable. I think you ought to be blaming the C++ frameworks for portability issues rather than the C++ language itself.

I appreciate what you're saying, but these days frameworks are as integral part of the language as the language itself. eg what would be the point of C# if it wasn't for .NET? Or Java if it wasn't for JRE? Or even Python if it wasn't for it's modules?

I genuinely do like C++ - I'm not trying to argue that one language is a "better" language than the other. But it is fair to say that because of the core frameworks and because of the Go compiler, Go is an easier language to port.

Now in the end this difference may be mute because we really do need the C++ frameworks in practice, but I think it's important to recognize because without a central authority for coordination of one common framework, all languages have the potential to devolve into the situation C++ finds itself in with incompatible local frameworks. I can see it now: "microsoft foundation classes for Go", haha.

That's a very interesting point. We do see this problem in some other languages as well.


Personal anecdote:
Even the JDK, with the most portable framework I've ever used, wasn't perfect. For a university project we were using java to control serial ports connected to early bluetooth prototypes. The JDK worked perfectly from windows, but we needed to adopt a custom serial port driver for spark workstations (oh delicious irony).

hehehe interesting stuff ;)

I'm not a fan of Java personally (to be frank, it's the language I hate the most). But that boils down to personal more than anything. "each to their own" as they say hehe

Reply Parent Score: 3

RE[5]: Cross-compiling
by Alfman on Tue 12th Feb 2013 19:07 in reply to "RE[4]: Cross-compiling"
Alfman Member since:
2011-01-28

Laurence,

"I appreciate what you're saying, but these days frameworks are as integral part of the language as the language itself. eg what would be the point of C# if it wasn't for .NET? Or Java if it wasn't for JRE? Or even Python if it wasn't for it's modules?"

True, Go is young and has a beautiful framework now, but what about in a few years? After "getting around" and putting on a few pounds, she might start to look like grandma Perl ;)

Exaggerated a tad for comedic effect. The following link makes me laugh and cry simultaneously...
http://www.perl.com/pub/2003/03/13/datetime.html#perl%27s_built...

Reply Parent Score: 2