Find a flaw
inb4
>muh generics
>muh garbage collection
Find a flaw
inb4
>muh generics
>muh garbage collection
No generics
GC
>inb4
>>muh generics
>>muh garbage collection
These are extremely valid criticisms, but I thought you could turn off Go's GC?
the logo
created by the jewgle
Setting up the environment is unbelievably fucking retarded.
I still like it though.
Does "being developed specifically for use by people who can't understand good languages" count as a flaw?
>Setting up the environment is unbelievably fucking retarded.
this is the only valid criticism of go
You just cast it into a unsafe.Pointer or a uintptr. When do you actually need to do this though?
When you wanna look cool
he should've just said
>we want to be the new java and PHP
Boilerplate-heavy language
Why though? You just put everything in Gopath and use the github meme
I'm wary about the new type aliases in 1.9, I remember some valid criticisms being offered of the original proposal:
github.com
I'd never use them but ofc all the hipsters will use it immediately making contributing a pita
And also whatever was in the release notes about vendor folders. vendoring is an unnecessary mainstream hipster startupbro fad and a cancer
>muh dependencies
what is $GOPATH
versioning libraries is so antithetical to everything about a Go workflow
- if you're depending on that many libs then your program is likely not a simple "does one thing and one thing well" application and could be broken down (inb4 lol microservices)
- if the libs you're using break their APIs that often you either shouldn't use them and make your own, fork a stable version, OR just update your code you lazy shit
- services like gopkg.in offer versioning that is compatible with $GOPATH and imports
I think the only flaw about Go is how readily they are willing to subvert the absolute perfection of the best language ever created by bending to every whim of wagecucking codemonkey dipshits who make memes like Docker and flash-in-the-pan, here today gone tomorrow useless horseshit for venture capitalist money laundering schemes like otto
Because if I want to develop something without creating reusable packages for a local project, I have to jump through 60 different hoops. It's fucking retarded.
I don't WANT to run everything I make through github. I don't WANT every package separation to be "completely reusable in other projects".
I don't WANT to have to organize my projects according to the very strict golang organization
>Gopath
>github meme
there you have your reasons
>if the libs you're using break their APIs that often you either shouldn't use them and make your own, fork a stable version, OR just update your code you lazy shit
Any half decent package manager uses specific commit hashes anyway.
Golang is nothing but a container language for stupid people.
Also that fucking mascot is an atrocity and should immediately be killed off.
The type system. Also
/thread
>go get
>github
>not portable
It's a meme language, google is going to kill it off in a year or two, like they do with everything else.
>inb4
>>muh generics
>>muh garbage collection
Isn't it enough for you?
>waaaaah muh garbage collection!!!!!
says the people who write shitty code with thousands of memory leaks because they think they can do it better than people who make a living designing languages at one of the largest tech companies on the planet.
No decent [project/package management system
Shitty dependency versioning system or the lack of thereof
Asswards syntax just for the sake of being a special snowflake
Shitty default coding conventions that are enforced by the compiler
Lack of useful features
goroutines are ok but that's like the only good thing about the language because afaik its the only procedural pl that has them
Error handling is totally fucked up. I agree exceptions are bad, but going back to errno with some sugar isn't any better.
>I'm too fucking stupid to know how pointers work: The List
some of these are legitimate, but most of these gripes are retarded as fuck. "having pointers" and "no exceptions" are hardly flaws to any language with these properties.
It is a flaw if you try to promote your language as a replacement to python, desu.
I've been using Go professionally for three years, and Python for even longer. I have never, in my entire professional career, heard anyone even suggest that Go is a replacement for Python.
Node? Maybe. C? A few times. Rust? Absolutely. Python? No.
>Go is a replacement for Rust
Why do you think so?
This is quite a common theme tho: golang-for-python-programmers.readthedocs.io
I personally don't care about the Rust vs Go shitposting war. I use whatever I want to use and whatever my job requires. I just know that I have seen people declare that Go is somehow superior and/or a replacement for Rust as a system language.
stupid package management
stupid error handling
Unproductive, It's hard to abstract anything frankly
most frameworks, ORMs and template engines are amateurish compared to Python, Node.js and Ruby
stupid logo
> I just know that I have seen people declare that Go is somehow superior and/or a replacement for Rust as a system language.
Interesting, all I've seen is Go-fags basically admitting defeat on this front by proclaiming Go and Rust aren't really competitors: dave.cheney.net
I'm inclined to agree with them. I don't believe Go is a viable systems programming language.
It's pretty nice for webapps though.
Then don't? What's you problem exactly? I someone forcing you to use go?
>Golang is nothing but a container language for stupid people.
>containment language
I'm stealing this, thanks.
The logo is ok. It comes from the same person that gives us the cutest logo in technology for the best os
This. What the fuck were they thinking honestly? It would be perfect if you could just have some CMake-like tool instead of having to rely on the compiler's program to work as your make tool too.
She's Pike's wife, what a coincidence. I wonder how much google paid her for the logo.
you forgot to inb4 the horrible error handling
Didn't know that. It doesn't make it less cute, though
>the horrible error handling
But the error handling is perffect.
the rust / haskell way is superior
Hahahaahahahaa.
No.
> But the error handling is perffect.
Why would anyone claim that? It's more verbose than exceptions yet less safe since you can just ignore an error and compiler won't stop you. is right, error handling based on ADT and monads is superior.
Go has a great standard library. The built-in http package is fantastic.
import Data.List
golangcode :: [String] -> [String]
golangcode = intersperse errorcheck
>The official brainlet language
>The logo is ok.
No, it's not. It's close to the horror show that is displayed on her homepage.
I wouldn't obsess over the logo. There are much more important problems than a fucking picture you see once a quarter.
>hey wife would you mind drawing a logo for my new project?
>you can just ignore an error and compiler won't stop you.
And C lets you compile programs without freeing up memory that you have allocated. But would any respectable programmer do that? Fuck no. Just because there's no safety net for complete retards doesn't mean it's a terrible language, and frankly, I think that's a stupid reason to not use the language at all.
Stop using languages as an excuse to be a shitty programmer.