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.
Permalink for comment 552196
To read all comments associated with this story, please click here.
Meh
by moondevil on Tue 12th Feb 2013 06:36 UTC
moondevil
Member since:
2005-07-08

I really wish I could like Go, specially given the Oberon influence the language has, but they just left too much out:


- exceptions

panic/recover feels like a hack

- enumerations

Possible using typed consts with iota, but it feels bad when compared with languages that have language support for enumerations.

- generic types

Most likely it will never get them.

- direct use of OS APIs, without the need of writing wrappers

Requires the use of CGO and a C compiler, while the majority of languages with native compilers allow direct binding to foreign code via some form of extern declarations

- only static compilation is available;

Complicates some plugin architectures, which is debatable given security concerns.

Does not allow for open source licenses that forbid the use of static linking in commercial software.

- no support for meta-programming;


As for some of the good things:

- fast compilation

Nice that they keep on mentioning it. Modula-2 was doing it in 1978, like any language that followed it in the Pascal family.

Only C and C++ suffer from lack of compilation speed.

- the PR about go routines and channels

Similar features are available as library concepts in more powerful languages.

- interfaces

The only feature Go interfaces have over Java and C# interfaces is that you are not required to directly reference them. This also complicates tracking down which interfaces a given type supports without help of an IDE like LiteIDE.


I spent one year doing Go projects on the side (2011), even did an initial contribution to the windows package for os.user, after realizing I would be better off with D and Rust.

Edited 2013-02-12 06:42 UTC

Reply Score: 5