Not a Go programmer myself but I am very grateful for Go. Some of the best software I use everyday uses Go - rclone, gitlab, gogs, gosu, docker to name a few.
> gitlab is written in Ruby.
Go: Ten years and climbing
161–170 of 193 posts
Re: Go: Ten years and climbing
#162Earlier quoted context omitted.
Then I am curious about what makes RLS or the alike so hard to onboard? Common IDE features like reliable and responsive "jump to definition", "Find all references" and "Renaming symbols" are 90% of all I would ask for. Do Rust devs have less attention to the area?
Those three things already work in the RLS. And more: https://www.ncameron.org/blog/what-the-rls-can-do/
Re: Go: Ten years and climbing
#163For a language that's been around for 10 years Golang's adoption rate is still pretty low. Searching Indeed.co.uk's API by job title there are currently 25 Golang jobs in London compared with 29 Perl, 188 Ruby and 511 Python. For the UK as a whole it's 34 Golang, 57 Perl, 276 Ruby and 821 Python. Golang has a long way to go yet IMHO.
Your stats seem to be wrong. https://www.indeed.co.uk/jobs?q=golang&l=London%2C+London returns 194 Go jobs for London area
Re: Go: Ten years and climbing
#164I love Golang, but I'll just comment on that: > It's worth stating that the language is called Go; "golang" comes from the web site address (go.com was already a Disney web site) but is not the proper name of the language.) You already have a hugely popular game called Go (WeiQi/Baiduk). It just adds confusion to queries to call the language Go instead of Golang. Even the #go channel on freenode has a disclaimer that…
To be fair many simple names are overloaded. Amazon, Rust, C, Python, ... even football. It's normal.
By this metric, the best programming languages are Perl and Fortran.
Re: Go: Ten years and climbing
#165Earlier quoted context omitted.
This is a bad comparison. Core philosophy of Perl is to empower programmers with more than one way to do it. Core philosophy of Go is your coworkers are too stupid to be allowed to have nice things.
Seems like the core philosophy of Go is the end result of Python's "there's one way to do it". The "Go's design and users are dumb" meme needs to die. It's not even a constructive criticism. It's dishonest, insulting, and it's too bad grown adults and professionals can't see beyond it.
I'm not trying to be dishonest or insulting. I've described the philosophy of the language in exactly those terms to Go users, in person, and gotten nods of "Yes, that's right, that's why it works."
I think it's more dishonest to claim that the language designers didn't intentionally limit the language to less than the state of the art as of 30 years ago, on purpose, because of concerns about the mental capacity of users. They themselves admit as much.
Re: Go: Ten years and climbing
#166I love Go for the concurrency and awesome cross platform support, but my biggest complaint about Go is still the forced GOPATH. I know this is super nitpicky, but I like to keep work and personal code completely separate and changing GOPATHs is very frustrating. With the introduction of `vendor` and software like glide and dep tool, you no longer have to store your sources in `$GOPATH/src`. Since dep/glide are also r…
export GOPATH=/home/ubercow/project2/
Or even: export GOPATH=`pwd`
When it's time to work on your project just say . source
This seems like an INCREDIBLY minor step to take. It's certainly no worse than using pyenv.Re: Go: Ten years and climbing
#167Earlier quoted context omitted.
Those three things already work in the RLS. And more: https://www.ncameron.org/blog/what-the-rls-can-do/
Is there an editor that supports jump to definition for macros?
Anyway, regardless, there's certainly more work to do! And it's being actively developed quite heavily. For example, it will be on stable Rust very soon.
Re: Go: Ten years and climbing
#168Earlier quoted context omitted.
Completely separate = dont allow dependencies between or one is base and second auguments and depends on base or dont allow changes to one of them? How would your ideal system look like? What is your use case? Sidenote if it helps there is a default gopath location if its not defined: https://golang.org/doc/go1.8#gopath
My ideal system is: clone a repo, run `go restore` to fetch dependencies and then `go build` to spit out a binary or `go run` to quickly start the main function. Nothing from outside the repo can effect that build. Likewise anything inside the repo can’t effect the outside. Compartmentalizing each project makes builds more reproducible and more obvious. If anyone else clones the same repo and runs the same commands,…
Re: Go: Ten years and climbing
#169Earlier quoted context omitted.
Yes, go is a replacement for Java. Google couldn't rely forever on sun forever (see the later acquisition by Oracle and lawsuits with Google). Big companies want to own their main tools. It's also to separate itself from the Java crowd, which has a rather poor image to a lot of people that google wants to attract.
Go happens to be a pretty nice replacement for Java in some targeted circumstances , but that is not why Go exists. Go's charter was to address deficiencies of Google's C++ programming environment, not its Java programming environment. As it happens, outside of (perhaps) Google, C++ serverside development is so rare that Go's strengths aren't very compelling to C++ developers. That Go didn't evolve in the direction i…
Java didn't cut it for Google because see my previous post.
Re: Go: Ten years and climbing
#170Earlier quoted context omitted.
This is a bad comparison. Core philosophy of Perl is to empower programmers with more than one way to do it. Core philosophy of Go is your coworkers are too stupid to be allowed to have nice things.
Seems like the core philosophy of Go is the end result of Python's "there's one way to do it". The "Go's design and users are dumb" meme needs to die. It's not even a constructive criticism. It's dishonest, insulting, and it's too bad grown adults and professionals can't see beyond it.
The creators have also strongly resisted adding features others consider basic for a decade now, with a variety of nonsensical justifications.
It's a stretch to even claim Go was designed at all. From the very blog post this thread is about, we find this statement:
Russ discovered—that's the right word—that the generality of Go's methods meant that a function could have methods, leading to the http.HandlerFunc idea, which was an unexpected result for all of us.
Go is not exactly a complicated language to begin with, yet the designers "discovered" things about it whilst building it.
Go gets a lot of criticism because it's an empirically very poor language and its designers routinely say absurd things that invite ridicule, like "Go is the language of the cloud" or "We have invented a GC for the next 20 years" or "Go was designed for interns and students who can't handle brilliant languages".