DEV Community

Discussion on: Should I learn Go?

Collapse
 
tux0r profile image
tux0r

Don't.

IMO, Go is a worse version of C, made for people who don't want to go the extra step to achieve the same goal in C. Yep, you won't have pointer problems in Go and there is some fresh hype around it. So what?

I tried it - and I continued to write my software in C. Go has nothing to offer, except a much more restrictive syntax. Nothing that I would want to have..

YMMV.

Collapse
 
idoshamun profile image
Ido Shamun

What about the built-in concurrency support and ecosystem?

Collapse
 
alchermd profile image
John Alcher

Interesting. Can you give some example of Go's restrictive syntax compared to C?

Collapse
 
tux0r profile image
tux0r
if (something)
{

This won't work in Go.

Thread Thread
 
theodesp profile image
Theofanis Despoudis

That won't work in C either:

#include<stdio.h>

typedef enum { false, true } bool;

int main() {
   bool isOk = true;

   if isOk {
       printf("Its ok");
   }
}

So it's subjective at the end of the day.

Thread Thread
 
tux0r profile image
tux0r

C allows you to format valid syntax freely. Your example is not valid syntax.

Collapse
 
quii profile image
Chris James

Go is a worse version of C, made for people who don't want to go the extra step to achieve the same goal in C

It isn't and that's a very diengenous comment.

Go is a type-safe (unlike C) general purpose language with a garbage collector which for 99% of problems out there are very useful. For sure if you dont want GC use C or Rust.

Collapse
 
tux0r profile image
tux0r

There is a GC for C, many projects use it.

Thread Thread
 
quii profile image
Chris James

Well, that's news to me :)

Is it really any good?

Man all that memory management I did all those years ago was all for naught.

Still Go is a million times easier to write than C and will be easily performant enough for most tasks a developer would want to do.

Thread Thread
 
tux0r profile image
tux0r • Edited

all that memory management I did all those years ago was all for naught.

It's always good to know what happens in your computer.

Go is a million times easier to write than C

C gives you much more freedom in terms of formatting, it has no "implicit semicolon". Much less annoying in my opinion. (And the multiple return values of Go can be demanding.)