Picture of typical anti-go "programmer"

picture of typical anti-go "programmer"

Other urls found in this thread:

golang.org/pkg/plugin/
blog.golang.org/generate
github.com/golang/go/labels/featurerequest
twitter.com/SFWRedditImages

I've never used Go, why should I care about it?

it doesn't have generics

Truly, a language for brainlets

I've never used Go, why should I care about it?

But that's a go programmer.

go doesn't have a per-goroutine garbage collector, which leads to abysmal latency under load
go can't update code while it is running
go doesn't have a ready-made distribution layer
go doesn't have a huge framework for dealing with distributed systems that has received decades of work

erlang does

go 2.0 will have them.

Thats a joke right

No.

Why should one be a brainlet to criticize a language that does not allow you to parametrize your types?
It's really important.

It can't dynamically load libraries?

not with that attitude

it can now, but it was designed with static-only linking in mind because that's what Plan9 folks did
golang.org/pkg/plugin/

go has actual performance when compared to Erlang.

The joke is that the way he has done it is stupid.
If someone really needs this kind of shit there is always go generate, which works better.

Hmm. How big does this make the average binary?

Pretty big, but it's not like that matters much today when it makes everything else better and simpler.

Yeah. Especially considering that pretty much every application installs its "dynamic" libraries separately into winsxs anyway, bloating the fuck out of it.

Unless you actually need to re-load code, or you really are unable to statically link due to GPL cancer, I don't think you need dynamic libraries at all. Most programs don't.

Do you know any good guides/examples for go generate? The only working thing I've seen so far was String generation for enums.

Is blog.golang.org/generate not enough?
Anyway, I never use code generation anyway, since arrays are unbeatable for most cases.

"Performance" is a weasel word, especially when talking about server-side applications. What go maximizes is throughput, but sucks for latency, while erlang optimizes for low latency even under high load.

>What go maximizes is throughput, but sucks for latency

That explains all of Google's products desu. Docs/Sheets, YouTube, Maps, Gmail, they're all so fucking unresponsive.

I think in those cases it's the MBs of javascript loaded in the browser.

>but sucks for latency
It doesn't though.
There are a lot of things which make golang quite performant.
Data is pretty much the top reason, and one of the central foundations of it's design.
In golang you are in control of how your data is laid out, and you are in control of your cache-performance, all while being garbage-collected, and usable from multiple goroutines.
It's pretty nicely designed.
You can structure your programs in a data-oriented fashion, and minimize garbage collection times tremendously this way (most of which will be done in parallel anyway).

Go comes from a group of people who have tremendous experience, and are known for designing good solid systems, and the more you understand Go, the more you will understand it's design choices (especially when you look at its history with alef newsqueak an co.).

Fair, probably unrelated to Go. Still Google's MO: Fuck reduced latency.

>it doesn't though

Dude, go is an imperative language that shares data structures between its execution threads. It's game over right from the start, it will have latency spikes under high load, no matter how optimized the garbage collector is. If you start copying data, use immutable data structure and communicate mainly through channels using structs... you've reinvented erlang. That's what I started doing in a program of mine and had second thoughts about it, so I asked #go-nuts... and yeah, it wasn't idiomatic code, I was writing erlang in go.

Pretty sure you simply wrote code wrong as you said, you were writting erlang in go.

This is why I stopped reading programming threads on Sup Forums the C++ shill(s) on every thread spout there 'duur Go has no generics' bullshit, like somehow Ken Thompson is going to get tricked into turning Go into a template shithole like C++

> If you start copying data, use immutable data structure
Why would you do this? Write go like you would C mostly, but with CSP and without free.
>communicate mainly through channels using structs.
Everyone using using CSP is now copying Erlang?
And even if it was the case, why not copy a good design?
The thing is that Erlang is slow as shit for nearly everything except communcation, while go isn't.
It also has a sane, minimal design.
All while being pretty fast and easily grokable.
Erlang has it's usecases and I like it, but for general computing, I like go better.

Has he already been shot?

I also like erlang. I'm planning to write my thesis in it. Is it a good idea?

What is your thesis about, and why do you like Erlang?

I still don't have any, just planning. I also work as a java dev. I find the erlang/OTP very interesting. I'm also interested in realtime systems. I thought i will make webapplication or something in it.

Well, do whatever you want.

>Go comes from a group of people who have tremendous experience
This is literally the only reason people rationalize all the bullshit in that language. They're emotionally invested in it because it was made by one of their idols, that they /swear/ must be much more intellectually superior than them. Go is nowhere near the forefront of programming language research nor practicality that it's proponents would like to have you believe.

Look, I have favorite bands too, but I'm not afraid to call one of their albums garbage if it legitimately sucks. I'm not about to go around defending and apologizing for St. Anger just because I liked Master of Puppets. The creators and google's funding are unironically the only reason this language ever got any traction at all, especially considering all the equally legitimate languages out there for that same "niche", like D, Crystal, and Nim.

oh boy, another C++ shill trying to shoot down Go by saying its like Metallica's st Anger....boooo hoooo

kind of hard bring up anything against Go except your 'huuuuur no generics lol' when Go has the sweetest syntax around that is ten times more expressive and flexible than any other compiled language and makes me grin when using it

No, the people involved aren't the only reason that go is good.
The reason that go is good is that the people who designed the language stuck to their principles when doing so.
All while reaching their goals of:
CSP
Memory management
GC
Minimalism
Saneness.
These are the factors which make go good.
Not some retardedly long list of features, or complicated mathematical theorems.
It's simple, and thats simply it.

>research
You're exactly right, Go is nowhere near any kind of research. It's built up from a small core of tried-and-true features instead of throwing everything in the kitchen sink or arbitrarily restricting you to just write code using one idiom that makes everything worse. It's been known for a long time this is the way to design a successful language, no matter how many academics invent their own paradigms to masturbate to, the C/Go way is the only way that will actually succeed.

>It's built up from a small core of tried-and-true features instead of throwing everything in the kitchen sink or arbitrarily restricting you to just write code using one idiom that makes everything worse.
Ah yes, a poorly written CSV, XML, json parser are tried and true language features but an integer max function is not.

language features != standard library

You said features not language-features you dumb shit. And the standard library is a feature.
github.com/golang/go/labels/featurerequest

Lmfao im fucking dying. He implemented templating using Canadian symbols

template hell > type assertion hell