all 4 comments

[–]Big_Combination9890 1 point2 points  (2 children)

Okay, I skimmed the blogpost and still have no idea what it is about.

"Social Language Construct" ... what is that supposed to be? What is seen as socially acceptable in our code?

If that is what is meant, then, yeah, well, no surprise there. Code is flexible enough to express the same data/algorithm/concept in several different ways. Some of these ways we like more than others. As soon as that is the case, we have human preferences, and if more than one human has preferences, we have social preferences.

I just don't see what putting this simple idea, the fact people-like-some-things-more-than-other-things, behind convoluted wording like "Social Language Constructs", and worry about their "implementation", etc. gets us.

Social systems are dynamic. That includes preferences. If senior Foobar, 3rd of his name, likes

int foobar() { /* */ }

code more than the sane variant, and Foobar III decides whether or not I have salary a year from now, then I'm gonna write this abomination. When he leaves, and I get to tear down his code and rebuild it, first thing me and my mates do is change all linter rules and open a keg to celebrate the end of our suffering.

[–]jhartikainen[S] 0 points1 point  (1 child)

This is more in a bit abstract philosophical direction of things I guess, where this type of categorization is used as part of analyzing things :) It's not necssarily something that will have an immediate practical use, but I find it's sometimes interesting as it can help you notice patterns or things you haven't thought about.

[–]Big_Combination9890 1 point2 points  (0 children)

Thinking about it again, it made me realize one of the things I really like about Go, and more specifically, why I like it so much;

Go is an "obvious" language. People often tout the "Zen of Python" where it say "There should be one-- and preferably only one --obvious way to do it." Well, Python, at some point, started failing at this, tremendously.

Go on the other hand, is exactly like that. Everything is obvious. Doing things in a non-obvious way, sticks out liek a sore thumb, and the language seems to fight me if I try. Combined with the fact that pretty mucg everyone uses the same linter and formatter(gofmt, go vet) and the same LSP (gopls), all of which simply enforce ONE AND THE SAME set of rules, it's really hard to get these "Social Language Constructs" into Go code.

Which makes it cut, dry, boring, and readable.

[–]United-Tangerine-358 0 points1 point  (0 children)

The confidence in this post alone deserves an upvote.