News for hackers. Stuff that matters.
Re:Go is not an easy language by Zababa on Monday February 22, 2021 @10:03AM (#26225299)
> Back on topic - Go is not an easy language, it is a simple language, those 2 things are not the same.

I often see this point here, but I always wonder what people mean by it. Could you elaborate on that point?

Re:Go is not an easy language by tyingq on Monday February 22, 2021 @10:30AM (#26225599)
I think the author's example is pretty good.

"How do you remove an item from an array in Ruby? list.delete_at(i)...Pretty easy, yeah?"

"In Go it’s … less easy; to remove the index i you need to do:"

  list = append(list[:i], list[i+1:]...)
So Go is simple in that it doesn't have shortcut functions for things. There's generally one way to do things, which is simple. But it's not easy, because it's certainly not intuitive that "append" is the way to remove an array element.
Re:Go is not an easy language by epicide on Monday February 22, 2021 @10:14AM (#26225430)
Not OP, but I'd be happy to try and differentiate, as well.

Simple means uncomplicated, not a lot of pieces. A violin is arguably simpler than a guitar because of a lack of frets.

Easy means it is not difficult. A guitar is arguably easier than violin [0] because it has frets.

It's important to remember that "easy" is very subjective. What is easy for one person might be insurmountable to another.

tl;dr "simple" usually means "easy to understand" and "easy" usually means "easy to do". Both inherently assume some amount of prior knowledge or skill, so neither is entirely universal or objective.

[0]: I'm not trying to say one instrument is better or disparage and guitarists. It's an example.

Re:Go is not an easy language by steveklabnik on Monday February 22, 2021 @12:25PM (#26227225)
The primary source for this is https://www.infoq.com/presentations/Simple-Made-Easy/

(I am not entirely sure I agree with its thesis or its applicability to Go, but since nobody had actually linked you directly to the concept, I thought it would be worthwhile to do so.)

Re:Go is not an easy language by sangnoir on Monday February 22, 2021 @10:12AM (#26225404)
To me, what makes Go simple language is limited set of building blocks, and being very opinionated - this mostly relates to syntax and what the core language provides out of the box. With Go, you only need to understand looping, branching, channels, slices and you're mostly good to go.

Ease is measured by how a language may be used to solve a problem. As an example, text-wrangling with Perl is easy - but you may have to do it using complex (i.e. not simple) representation.

Back to Go - channels are a simple concept, but are not (always) easy to work with if you do not put a lot of thought into your concurrency model.

Edit: I just thought of another way to express the difference between "simple" and "easy". The notation of adding "1+1=2" is simple, however proving that "1+1=2" is not easy (at least at the level of elementary students).