
Gogland – Capable and Ergonomic Go IDE - kissgyorgy
https://www.jetbrains.com/go
======
ohstopitu
This was highly unexpected - as they had said they were exploring golang when
I had asked their support last time.

Jetbrains has yet to let me down - They got me covered for Java, C++, PHP and
JS/TS and now they have a golang IDE - I will definitely be learning go with a
lot more enthusiasm.

If you are using VS Code for TS, and you think that's awesome...give Webstorm
a try. It's a whole another level.

While it's a paid IDE and that might not go well with a lot of people...it's
one of the best software I've paid for (and something I use daily).

~~~
camus2
> If you are using VS Code for TS, and you think that's awesome...give
> Webstorm a try. It's a whole another level.

Actually it isn't. Webstorm is a memory hog. While there is a notable latency
with VSCode, it doesn't feel like my computer is crashing each time I use it.
Jetbrains products are great for Java,Python and PHP dev. Just not for
Javascript development. Furthermore, VSCode obvious advantage is that it is
written in JS, making it easier to develop custom plugins without the need of
for complex Java SDK.

~~~
spullara
Being a memory hog and being a much better IDE are orthogonal to one another.
Get more memory. It is so much better for Javascript development than the
alternatives it is worth it.

------
WhatIsDukkha
For the record both vim and emacs have excellent "ide like" experiences for
golang with just a few minutes of effort.

[https://github.com/fatih/vim-go](https://github.com/fatih/vim-go)

[https://github.com/dominikh/go-mode.el](https://github.com/dominikh/go-
mode.el)

It's not at all the case these days, especially in languages outside of java,
that an "ide" is the better experience.

------
johnnycarcin
While I appreciate contributions to the Go ecosystem, I have to say I don't
get it when it comes to these types of IDEs. For me one of the great things
about Go (coming from Java) is I don't need some fancy complex IDE. I just
fire up vim with vim-go and I'm good. I was drawn to Go for the simplicity
that it offers, sometimes in exchange for being a bit wordy, but that's a fair
trade off for me. Using something heavier than vim or VS Code seems like
overkill.

Is this filling a need that I'm just not aware of or is it a case of doing
something just because they can?

~~~
tqkxzugoaupvwqr
It is a need you are not aware of. Maybe you can do everything in vim-go that
you can do in IDEs but many people, including me, don’t want to learn vim and
feel/are more productive in IDEs, especially as the code size grows. JetBrains
only decided to offer the Go IDE after they saw the Go plug-in (that works in
their other IDEs) take off. The demand is there.

~~~
jokr004
Even knowing vim well (or rather emacs more so) I still prefer an IDE. The
improvements to workflow are just something that I can't get out of emacs/vim,
and for big projects those improvements are a necessity IMO.

------
AtroxDev
Wow, I did not expect that. I'm currently using VS Code for Go and I'm pretty
happy with it. Definitively gonna try this out because I'm pretty much using
JetBrains for everything else and never got disappointed by them yet.

~~~
wtf_is_up
IntelliJ IDEA has a Go plugin that works very well. I've switched from Sublime
-> VSCode -> IntelliJ for my Go development and I haven't looked back.

~~~
ben_bai
Not for long, if this catches on. There was a free C plugin, now you have to
pay for CLion.

~~~
AsyncAwait
To be fair, CLion is much more full featured than the C plugin was.

------
rhodysurf
I understand why making a different IDE for every language is good for
business, but I hate having to jump around to a different program for every
different language I use, especially when pretty much all the IntelliJ
derivatives are the same but with different plugins using the same plugin
architecture. It seems redundant.

~~~
mlinhares
You don't have to if you're an IntelliJ Ultimate subscriber, it has all IDEs
in it.

~~~
KallDrexx
I was under the impression that the IntelliJ ultimate plugins lagged behind
the specific IDE implementations.

~~~
smacktoward
They also offer an "All Products" subscription that lets you use all their
various IDEs separately, if you prefer that approach.

~~~
KallDrexx
Right and I have that, but it would be nice to just use IntelliJ Ultimate
without sacrificing features in Rider, Webstorm, etc...

~~~
geoelectric
I'd try the plugins then. I like the separate IDEs because they tend to
optimize workflows for the language in question without any extra JVM-
configuration cruft, but the plugins really do replicate 99% of the
functionality. For the other 1% (or if the plugin is lagging behind some
killer feature release for a week or two) fall back on the separate IDE.

~~~
KallDrexx
I definitely don't need that 1% usually, a long long time ago I thought I read
they were massively (like months) behind the plugins, so it's good to know
that's not the case.

~~~
geoelectric
I think there were a few releases where the lag was bigger, particularly in
the early days of PyCharm. My take is as the IDEs have matured it's shrunk
considerably.

------
farslan
Nice to see that the IDE ecosystem is growing even more. I find it very useful
as it shows very different features and use cases for other Go developers.
Congrats on launching it.

------
gravypod
I can't wait to try this out. I was recently pushed into a project that might
possibly be implemented easier in go (a terminal application with a UI and an
HTTP interface). I was fighting the other day to get Go working in one of my
JetBrains IDEs and it doesn't want to work. I'll have to give this a 'go'
(pardon the pun).

------
bencollier49
Go Gland. Weirdly medical name.

~~~
AtroxDev
From their FAQ:

What does Gogland mean? This is a codename and not the final product name. Our
inspiration was the name of an island in the Gulf of Finland, not very far
from Kotlin.

~~~
aleksi
[https://en.wikipedia.org/wiki/Gogland](https://en.wikipedia.org/wiki/Gogland)

------
jondot
Jetbrains keeps delivering knock outs. I love you guys.

------
conradfr
I'm a happy PhpStorm and Webstorm customer.

I did a bit of Go with the plugin and it was already pleasant. I guess one
feature I'd like in dev mode would be transparent management of unused
variables that the compiler don't like. As a web developer I may be accustomed
to quick "code & try".

A bit off-topic but Jetbrains seems to be in a design-spree those days, with
new flat & grey UI elements, which is not really a positive change.

------
ruffrey
I'm glad they released it for the sake of Go awareness. I love webstorm.

But the Go experience inside Atom is already exceptional. Navigate to
definition, auto formatting, auto manage imports, debugging and breakpoints,
automatic running of tests, and near-PERFECT code completion.

If Gogland offers anything over that, it'd have to be pretty awesome for me to
switch, because JetBrains tools tend to be heavy.

~~~
stcredzero
_JetBrains tools tend to be heavy_

Right now, I'm using Webstorm with the Golang plugin on a 2012 13" MacBook Pro
with 16GB RAM. What's so heavy about Jetbrains tools? For me, it's quite a bit
more responsive than VisualStudio 2015 on a 2016 Dell Laptop with 16GB RAM and
a much newer processor. (Both laptops have SATA3 SSDs.)

~~~
ruffrey
I love webstorm. It is so slow on my 2013 13" core i5 MacBook Pro, compared to
Atom. This week I think it froze twice. Its well worth it to get code
completion and navigation, and debugging in javascript. Atom is pretty peppy
for Go development so I would hesitate to use something different, all
features being equal. Atom is slow to load, and dies on large files. So not
without flaws. Typing and searching and all the Go features are fast.

~~~
DrBazza
Report it to Jetbrains. They're actually pretty good at responding to bugs.

------
falcolas
I use the Go plugins to PyCharm (we use both stacks), what is different?

~~~
calcifer
See the FAQ:
[https://www.jetbrains.com/help/go/1.0/faq.html](https://www.jetbrains.com/help/go/1.0/faq.html)

------
MikeKusold
I'm hoping that Jetbrains brings the Golang IntelliJ plugin in house. It
currently has 400 issues, including one where you can't exclude the vendor
directory from `go test`

[https://github.com/go-lang-plugin-org/go-lang-idea-
plugin/is...](https://github.com/go-lang-plugin-org/go-lang-idea-
plugin/issues/2366)

------
donatj
I use PHPStorm because I have to to write safe PHP, not because I want to. I
don't have that same problem with Go. 99% of the time if it compiles, it will
run. I don't get the draw of a full fledged "Go IDE"

------
svalleru
Tried the EAP build.. By far the best golang debugger (and IDE of course)

------
ENTP
As a North Walian, Go programmer and jetbrains customer, I'm pretty stoked by
this announcement.

------
tptacek
How does this compare to what everyone with Emacs gets? In particular:

* goimports integration? I would have a hard time going back to writing Go code without goimports

* on-the-fly code checking (like Emacs flycheck)? This is what makes working in a statically typed language so much more pleasant than (say) Python.

The documentation stuff looks pretty, but I just use Dash for that.

~~~
fusiongyro
I'm sure you get something like flycheck out of the box, but what makes me use
IntelliJ for Java is:

\- navigating around the code: jump to interface, jump to implementations,
jump to definition, etc. This sucks in Emacs even using etags.

\- refactoring: highlight code, press a hotkey, now it's a function or a
variable and all repeats have been replaced with references to it

Seeing a choice between Emacs and IntelliJ for Go, the decision comes down to
how likely am I to use those two features. I don't do much Go, but the appeal
of having that functionality is pretty significant. I would definitely try
Gogland based on my experience with Java et al.

~~~
anton-107
> jump to implementations

not a trivial thing to implement for Go though. Last time I checked the Go
plugin for Intellij was missing this functionality

~~~
ekiru
This is indeed trivial to implement for Go in the sense of "implement" which
allows for just calling out to guru (
[https://godoc.org/golang.org/x/tools/cmd/guru](https://godoc.org/golang.org/x/tools/cmd/guru)
).

------
aladine
For me, I don't want to use. I am using both IntelliJ and VS Code. Now I stick
with VS Code as it is exceptional well.

Gobland is just a commercialized version of IntelliJ for Go. I guess the next
move is IntelliJ will remove Go plugin to force users using commercialized
version.

~~~
konart
>I guess the next move is IntelliJ will remove Go plugin to force users using
commercialized version.

All their plugins are available for IDEA Ultimate and other IDEs, what are you
talking about?

------
innocentoldguy
I'm not a fan of JetBrains products, since they are slow, hog memory, and seem
to encourage people to structure their code poorly. I do like the idea of
using an editor called "Go-Gland" though.

~~~
AsyncAwait
> seem to encourage people to structure their code poorly.

How so?

~~~
innocentoldguy
Every place I have worked, that has made extensive use of JetBrains' IDEs, has
had the worst structured code I've ever worked with. JetBrains makes finding
classes and methods fairly easy within the IDE, so developers tend to hobble
along on that crutch and don't take any time to think "Does it make logical
sense for my code to go here?" before ramming their authentication code into
the same library as the their customer notification code.

When you don't rely on an IDE, you tend to think about your code's
organization more, since you have to work with that organization every day.
When your IDE hides that organization from you, people's laziness kicks in,
and you end up with code whose maintainability suffers outside of the IDE.

~~~
flukus
Ever worked in microsoft land? I swear developers have forgotten that folders
exist and everything is organized flatly into "projects" instead, with
terrible consequences on compilation times.

~~~
innocentoldguy
Yes. I worked at Microsoft on their Windows 2000 team, back in the day.

I believe Visual Studio suffers from the same issues as JetBrains' IDEs do,
and also encourages similar poor programming practices. No argument from me in
that regard.

------
danpalmer
I'm not sure if this applies anywhere else, but in the U.K., this name has
fairly extreme racist connotations. I don't think it's appropriate to explain
further, but I hope they change the name.

Edit: I guess not very wide reaching connotations then!

~~~
sergiotapia
Is a small province town called Guayaramerin in Bolivia this is a very
offensive name for the Suarez family. I would change the name to avoid
offending people.

~~~
wildchild
Thankfully no one cares about Suarez family from small province town called
Guayaramerin in Bolivia.

------
Dinius
So basically just the existing Go plugin (give or take a feature or two)
shoved into a standalone editor which, knowing Jetbrains, is sure to be flust
with new bugs for the foreseeable future..

Not to sound negative or anything.

~~~
geodel
It also mentions formatting similar to 'go fmt'. So it is not integrating Go
tools natively. Seems to be useful for people who love more mouse clicks than
keyboard. Go's excellent tooling, suitable for automated and fast workflows
will not be utilized here.

~~~
MikeKusold
I'm very disappointed in that decision. It should use the native `go fmt`
tool. On some code bases, we use CI to ensure that `go fmt` was ran on checked
in code. If there is even a slight difference between IntelliJ's
implementation and `go fmt` then it will cause CI to fail.

~~~
dlsniper
There are technical reasons for not doing that. Most important one being that
it can do formatting on the fly and not have your cursor jump around when
formatting. So your experience will actually be a whole lot better than any
other editor. And if they say that it's going to be on par with gofmt it will
be on par with gofmt. Do consider that they might actually know what they are
doing.

