Best IDE for GO ?

757 views
Skip to first unread message

alex-coder

unread,
Aug 19, 2023, 5:27:34 AM8/19/23
to golang-nuts
Hi All !
Gophers, there is at least 10 years as GO on a market, Good job !

I found a list of the best IDE and Plugins there:
https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins

As I remember Java came around 1995 and within 3-4 years several companies
developed really great IDEs successful or less to develop commercial project
on Java. Here is a list of but I may miss somewhat, sorry,
it was relatively a long time ago:

Forte for Java ( Praga, Czech republic)
VisualCafe (Symantec)
VisuailAge (IBM)
JBuilder (Borland)
Together Control Center (TogetherSoft, Germany)
Eclipse, and set of commercial IDE on a base on: RSA,RSD,WID and so on (IBM)

appear later:

VS Code ( Microsoft)
IDEA (JetBrain)

What I'm looking for is the ability to manage dependencies not only in code,
but entirely in a project from requirements to deployment.
The feature should be inbuild into IDE or at least it would be possible
to write plugin to implement it.

It is quite possible that I'm missing somewhat here.
Gophers, may be there is another place where I should look for IDE for GO ?

Thank you.

Jan Mercl

unread,
Aug 19, 2023, 5:38:33 AM8/19/23
to alex-coder, golang-nuts
On Sat, Aug 19, 2023 at 11:27 AM alex-coder <a.gus...@gmail.com> wrote:

> Gophers, may be there is another place where I should look for IDE for GO ?

Unix is my IDE and vim is its prophet.

IME IDEs make programmers write low quality code while enjoying the
illusion of being "more productive".

TheDiveO

unread,
Aug 19, 2023, 6:23:39 AM8/19/23
to golang-nuts
Nothing better than an IBM card puncher as my IDE! 

TheDiveO

unread,
Aug 19, 2023, 6:30:26 AM8/19/23
to golang-nuts
 Well, the title about something "best" is probably making most skip it. Best is highly subjective. Also your list seems to include IDEs that to my knowledge don't have Go support at all, but I might be mislead here.  I don't understand what seems to be yourreal question at the end,  do you want some graphics dependency management? What are you looking for?      

peterGo

unread,
Aug 19, 2023, 8:41:30 AM8/19/23
to golang-nuts
On Saturday, August 19, 2023 at 6:23:39 AM UTC-4 TheDiveO wrote:
Nothing better than an IBM card puncher as my IDE! 

 I prefer a Teletype Model 33 ASR.

Robert Engels

unread,
Aug 19, 2023, 1:23:50 PM8/19/23
to peterGo, golang-nuts
I would just have chatgpt write all your Go code. 

On Aug 19, 2023, at 7:41 AM, peterGo <go.pe...@gmail.com> wrote:


On Saturday, August 19, 2023 at 6:23:39 AM UTC-4 TheDiveO wrote:
Nothing better than an IBM card puncher as my IDE! 

 I prefer a Teletype Model 33 ASR.

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/2cc6ff26-e1cf-481b-972f-9f110ec78a0dn%40googlegroups.com.

William Rehwinkel

unread,
Aug 19, 2023, 2:10:54 PM8/19/23
to alex-coder, golang-nuts
I use vim for go with the standard syntax highlighting and gofmt. With gofmt catching errors when I save, compiler errors and looking up things with godoc, I don't see the need for anything else. But that's just me
--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/61fefbf1-bb6d-4d90-b77b-a94c70582826n%40googlegroups.com.

-- 
+ ------------------------------------------- +
|   William Rehwinkel - Oberlin College and   |
|                          Conservatory '24   |
|        wil...@williamrehwinkel.net         |
| PGP key:                                    |
| https://ftp.williamrehwinkel.net/pubkey.txt |
+ ------------------------------------------- +
OpenPGP_signature

Robert Engels

unread,
Aug 19, 2023, 2:21:44 PM8/19/23
to William Rehwinkel, alex-coder, golang-nuts
The power of IDEs is the ease of refactoring and integration with other build tools (git, lint, github/gerrit). If you’d added all of these plugins to vim - you’ve created your own ide - and it probably pales in comparison to a real IDE.

Using plain vim as a badge of competence was disproven long ago. 

On Aug 19, 2023, at 1:10 PM, William Rehwinkel <willre...@gmail.com> wrote:

 I use vim for go with the standard syntax highlighting and gofmt. With gofmt catching errors when I save, compiler errors and looking up things with godoc, I don't see the need for anything else. But that's just me
OpenPGP_signature

Tharaneedharan Vilwanathan

unread,
Aug 19, 2023, 2:30:02 PM8/19/23
to Robert Engels, William Rehwinkel, alex-coder, golang-nuts
Just my opinion. I believe Visual Studio Code (VSC) is really good, given that it is available on multiple platforms and it's free.

Thanks
Dharani


--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.

Andrew Harris

unread,
Aug 19, 2023, 2:54:38 PM8/19/23
to golang-nuts
The kinds of skills and knowledge covered by https://missing.csail.mit.edu are important and hard to gain from an IDE. I think that's the badge of competence earned here.

Robert Engels

unread,
Aug 19, 2023, 3:42:28 PM8/19/23
to Andrew Harris, golang-nuts
I guarantee that two developers of equal competence - the one with a powerful IDE will outperform the other using a text editor with syntax highlighting (but come on that is a crutch a real developer doesn’t need) by 2-10x depending on the task. 

You simply cannot work on large complex systems without the assistance of an IDE. 

If anyone thinks their ability to code without using an ide makes them a better developer they are sadly mistaken. 

If you’re coding a 20 line leet code solution you can skip the ide - but that isn’t modern software engineering in any aspect. 

On Aug 19, 2023, at 1:54 PM, Andrew Harris <harris...@gmail.com> wrote:

The kinds of skills and knowledge covered by https://missing.csail.mit.edu are important and hard to gain from an IDE. I think that's the badge of competence earned here.

On Saturday, August 19, 2023 at 11:21:44 AM UTC-7 Robert Engels wrote:
The power of IDEs is the ease of refactoring and integration with other build tools (git, lint, github/gerrit). If you’d added all of these plugins to vim - you’ve created your own ide - and it probably pales in comparison to a real IDE.

Using plain vim as a badge of competence was disproven long ago.

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.

Jan Mercl

unread,
Aug 19, 2023, 3:57:54 PM8/19/23
to Robert Engels, Andrew Harris, golang-nuts
On Sat, Aug 19, 2023 at 9:42 PM Robert Engels <ren...@ix.netcom.com> wrote:

> I guarantee that two developers of equal competence - the one with a powerful IDE will outperform the other using a text editor with syntax highlighting (but come on that is a crutch a real developer doesn’t need) by 2-10x depending on the task.

Guarantee. You keep saying that word, but ...

Christian Stewart

unread,
Aug 19, 2023, 4:06:34 PM8/19/23
to Jan Mercl, Robert Engels, Andrew Harris, golang-nuts
Autocomplete and a go language server (gopls) add a ton of speed because you don't need to look up the docs for function and variable names. And go to definition improves speed navigating code significantly.

But vim-go can do both, so why not just use it?

It's a significant speed increase to have these features... Sure you can work without them, but it's definitely slower, right? Looking at docs for every function signature?


--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.

Jan Mercl

unread,
Aug 19, 2023, 4:24:16 PM8/19/23
to Christian Stewart, Robert Engels, Andrew Harris, golang-nuts
On Sat, Aug 19, 2023 at 10:06 PM Christian Stewart
<chri...@aperture.us> wrote:

> Autocomplete and a go language server (gopls) add a ton of speed because you don't need to look up the docs for function and variable names. And go to definition improves speed navigating code significantly.

- Using autocomplete and go-to-definiton does not require VSCode or
any other IDE.
- I do use autocomplete and go-to-definition. When I said I use no
IDE, that does not mean I don't use those features.
- The speed of typing/inputting code is overally a rather negligible
factor of the total time cost of developing/debugging and maintaining
any non-toy project. IOW, it's not a significant metric of
productivity.

> But vim-go can do both, so why not just use it?

Because I use govim? ;-)

(But not for my large projects, gopls chokes on them still too often
to tolerate it.)

Robert Engels

unread,
Aug 19, 2023, 5:17:35 PM8/19/23
to Jan Mercl, Christian Stewart, Andrew Harris, golang-nuts
Reread what I wrote. Vim with autocomplete, etc is not a simple text editor with syntax coloring.

Still every major software engineering org in the world uses an ide (or multiple). I guess they don’t know what they are doing.

Btw, Googles current IDE is based on VSCode.

> On Aug 19, 2023, at 3:24 PM, Jan Mercl <0xj...@gmail.com> wrote:
>
> On Sat, Aug 19, 2023 at 10:06 PM Christian Stewart
> --
> You received this message because you are subscribed to the Google Groups "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAA40n-XusymW6gb5OnDa_7QWAWPFSkwKYQMYUm-d7419EZ%2BGkQ%40mail.gmail.com.

Justin Israel

unread,
Aug 19, 2023, 8:01:48 PM8/19/23
to golang-nuts
I usually hate this question and threads, because it's a bunch of people arguing that their solution is superior. 
There are always individuals stating how all they need is VIM or a plain text editor with no syntax highlighting. 
And then those like myself that feel very productive from the Jetbrains ecosystem because of its superior performance in large codebases and exceptional refactoring tools. No one is going to convince me that I would be more productive learning all the vim hot keys and doing it in a terminal without touching the mouse. It's just not my jam. And I wouldn't try to convince those developers to switch away from vim if they are happy. I prefer the visual feedback that I get from Intellij when refactoring and making really complicated changes. Typing is typing and everything can do that well to some degree with a language plugin. But things like the way my personal choice lays out unit testing and making it easy to retry subsets and see everything I need to see at once works for me. 
I just don't get the point of these threads that try to narrow in on the "best" ide. 

Rich

unread,
Aug 20, 2023, 12:17:05 AM8/20/23
to golang-nuts
I used to hate it because  costs so darn much but goland is my ide. I dnt hate vs code, I've done vm and really like neovim nv chad, but at the end I just am more productive in goland. Even tried fleet but always come back to goland.for me the time saved is worth the price.

TheDiveO

unread,
Aug 20, 2023, 3:50:32 AM8/20/23
to golang-nuts
That education place has never talked to any employer, that's what their list suggests. It's not about the items on this list. It won't ever correct. But it is basically saying that with one or a few more classes you're ready for your job. That's marketing selling. Depending on the job there's need for cheap code producers, or in other jobs for people going where there is no prior art. Totally different coders. But both don't need coders with many classes, either because it's making them expensive or they have gone through the classes to just accumulate useless knowledge they still cannot transfer to new challenges.

TheDiveO

unread,
Aug 20, 2023, 3:52:27 AM8/20/23
to golang-nuts
well, our "(major) engineering orgs" leave the choice of IDE to our devs. Devs have different styles, so as long as they meed the demand, who cares.

Christoph Berger

unread,
Aug 20, 2023, 3:55:27 AM8/20/23
to golang-nuts
> What I'm looking for is the ability to manage dependencies not only in code, 
but entirely in a project from requirements to deployment.


I read two different aspects/levels from your question.

The first half sounds like you want a graphical/GUI equivalent of go mod for Go dependency management.

The second half sounds like you want extra tooling in an IDE that's not seen (yet) in the Go toolchain: 
- on the pre-programming end project planning, (in)formal requirements management, C4 maybe, 
- and on the post-programming end a CI/CD integration, maybe direct integration of cloud services or software orchestration services like k8s or Nomad.

Or maybe it's between these two?

On Saturday, August 19, 2023 at 11:27:34 AM UTC+2 alex-coder wrote:

Robert Engels

unread,
Aug 20, 2023, 7:57:22 AM8/20/23
to TheDiveO, golang-nuts
MIT = “that education place” is pretty funny. But you’re spot on. 

On Aug 20, 2023, at 2:51 AM, TheDiveO <harald....@gmx.net> wrote:

That education place has never talked to any employer, that's what their list suggests. It's not about the items on this list. It won't ever correct. But it is basically saying that with one or a few more classes you're ready for your job. That's marketing selling. Depending on the job there's need for cheap code producers, or in other jobs for people going where there is no prior art. Totally different coders. But both don't need coders with many classes, either because it's making them expensive or they have gone through the classes to just accumulate useless knowledge they still cannot transfer to new challenges.
--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.

Robert Engels

unread,
Aug 20, 2023, 7:59:36 AM8/20/23
to TheDiveO, golang-nuts
Depends on the size of the org. If you encourage pair programming on even “active code review” - not having a standardized ide it a problem. Also larger org add in their own tooling integrations - and doing that for multiple IDEs is not cost effective. 

On Aug 20, 2023, at 2:52 AM, TheDiveO <harald....@gmx.net> wrote:

well, our "(major) engineering orgs" leave the choice of IDE to our devs. Devs have different styles, so as long as they meed the demand, who cares.

burak serdar

unread,
Aug 20, 2023, 12:38:26 PM8/20/23
to TheDiveO, golang-nuts
On Sun, Aug 20, 2023 at 1:52 AM TheDiveO <harald....@gmx.net> wrote:
well, our "(major) engineering orgs" leave the choice of IDE to our devs. Devs have different styles, so as long as they meed the demand, who cares.

I second that. IDE is a personal choice. For years, I've been using Emacs to edit code, and that's what I still feel most comfortable with for most development tasks. When I need to debug something, I use VSCode, but I find editing code using VSCode very disturbing.

That said, based on the experience I have mentoring other developers using IDEs, I agree with the viewpoint that IDEs promote productivity, but with superficial knowledge. If you do not take the time to learn how certain things work, the code you write may not be correct. Many questions on Stack Overflow are simply answered by pointers to API docs, but people don't read them because of code completion and code suggestion features of the IDEs.
 

Amnon

unread,
Aug 21, 2023, 1:03:07 AM8/21/23
to golang-nuts
IDE is indeed a personal choice.
The Go developer survey often asks which IDE people use.
Last year, the favourite was VS code with 45% of users, followed by Goland with 34%.

Volker Dobler

unread,
Aug 21, 2023, 3:15:44 AM8/21/23
to golang-nuts
Best IDE for G[o]?

This is hard to answer like most "best" questions.
What is the best dish? The best movie.
The best vacuum cleaner?

But honestly its emacs of course.

V

Vitaly

unread,
Aug 21, 2023, 10:58:54 AM8/21/23
to golang-nuts
emacs, and many other...
понедельник, 21 августа 2023 г. в 12:15:44 UTC+5, Volker Dobler:

Luke Crook

unread,
Aug 21, 2023, 1:07:14 PM8/21/23
to golang-nuts
Yes, the second half sounded like a request for software life cycle tooling to be integrated into the IDE; https://en.wikipedia.org/wiki/Application_lifecycle_management



--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.

Anthony Boudouvas

unread,
Aug 21, 2023, 6:06:36 PM8/21/23
to golang-nuts
I have many licenses for GoLand in one of my teams but I see that VS Code + Go plugin is now a very strong combination. These days I use the latter. 

Mike Schinkel

unread,
Aug 22, 2023, 11:22:52 AM8/22/23
to golang-nuts
On Saturday, August 19, 2023 at 5:27:34 AM UTC-4 alex-coder wrote:
What I'm looking for is the ability to manage dependencies not only in code,
but entirely in a project from requirements to deployment.

I assume you mean a lot more than just Go package dependencies, as `go mod` handles those nicely.

Can you elaborate on the specific dependencies you are trying to manage?  In specific, vs generalities.

-Mike  

TheDiveO

unread,
Aug 23, 2023, 3:29:05 AM8/23/23
to golang-nuts
"That education place" considers thermodynamics to be a cultural issue, see their waterseer disaster where MIT even doubled down on not understanding physics and thermodynamics at all.

Robert Engels

unread,
Aug 23, 2023, 6:10:07 AM8/23/23
to TheDiveO, golang-nuts
Ah. I forgot I was on that Internet thingy. 

On Aug 23, 2023, at 2:29 AM, TheDiveO <harald....@gmx.net> wrote:

"That education place" considers thermodynamics to be a cultural issue, see their waterseer disaster where MIT even doubled down on not understanding physics and thermodynamics at all.

alex-coder

unread,
Aug 23, 2023, 7:21:46 AM8/23/23
to golang-nuts
Hi All !

Considering that IBM's punch cards were bearing at least twice, I would vote for them. :-)

Of cource I do agree with them who wrote that to feel comfortable "under fingers" is great !

So, the tasks to code - they are different.
Sometimes it is possible to keep all the details regards to the task in a head or several.
Sometimes it is nesessary to write say a hard copy of them(details) on a paper with a different size.

But in case the task from the area of the "poorly formalized". You spend paper quickly. :-)

The Luke Crook points to:
https://en.wikipedia.org/wiki/Application_lifecycle_management

I will simplify the task somewhat and take from ALM for example even less than SDLC, namely:
requirements, design, implementation, testing, deployment.

1. Requirements must be described somewhere.
2. Design artifacts should reflect requirements.
3. Design decisions refer to objects and messages that
    implemented in the form of classes and operations.
4. Each operation must pass at least one test.
    All tests must be passed successfully.
5. The application is assembled and installed there and
    the tests are successfully passed again.

Question: is there any IDE or plugin which one support that kind of dependencies in a graphical mode ?

Thank you.

вторник, 22 августа 2023 г. в 18:22:52 UTC+3, Mike Schinkel:

Mike Schinkel

unread,
Aug 25, 2023, 1:21:35 PM8/25/23
to golang-nuts
Yes, as Luke Crook mentioned I think those requirements are more ALM functionality than IDE functionality. 

Generally, ALM addresses concerns broader than individual concerns whereas IDEs are more focused on individual productivity.

Just my opinion, but I would expect you'd be better off finding an ALM solution and then an IDE that integrates with that ALM, or vice versa, i.e. find an IDE that integrates with an ALM and then use that ALM.

#fwiw

-Mike

Jason E. Aten

unread,
Aug 26, 2023, 8:33:08 AM8/26/23
to golang-nuts
Is there any IDE that allows you to jump through a stack trace like emacs does?

e.g. If I have a panic on a run, with two keystrokes I can jump to the origin
of the panic, and then their caller, and then the parent caller, and then up to
the grandparent on the call stack... instantly. I've never found this essential
functionality elsewhere, but maybe I'm just not familiar... A friend of mine tried
to add it to Visual Studio and gave up... it was just too hard for VS. But maybe JetBrains has it??

I'd love to try an IDE other than emacs, but this is a fundament thing, that I cannot give up.

Mike Schinkel

unread,
Aug 26, 2023, 8:47:00 AM8/26/23
to golang-nuts
If I understand what you are asking then JetBrains GoLand does. 

I do not know if there is a way to use the keyboard, but it does provides links you can click when it displays the call stack on panic.

-Mike

Jan Mercl

unread,
Aug 26, 2023, 8:47:09 AM8/26/23
to Jason E. Aten, golang-nuts
On Sat, Aug 26, 2023 at 2:33 PM Jason E. Aten <j.e....@gmail.com> wrote:
>
> Is there any IDE that allows you to jump through a stack trace like emacs does?

I think many code editors can do that, for example vim:
https://vim.fandom.com/wiki/Open_file_under_cursor

Justin Israel

unread,
Aug 26, 2023, 4:51:35 PM8/26/23
to Mike Schinkel, golang-nuts
On Sun, Aug 27, 2023 at 12:47 AM Mike Schinkel <mikesc...@gmail.com> wrote:
If I understand what you are asking then JetBrains GoLand does. 

I do not know if there is a way to use the keyboard, but it does provides links you can click when it displays the call stack on panic.

If your keymap configuration derives from one of the system configs (Windows, Macos, ...) then "Next Frame" and "Previous Frame" have default mapped hotkeys. So you can do the same workflow Jason mentioned, starting a debugger execution, which panics, and then navigating the stack all via keyboard (if that really is your thing).
 
--
You received this message because you are subscribed to a topic in the Google Groups "golang-nuts" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/golang-nuts/4yVXlyZZatM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to golang-nuts...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/c8b2e710-240b-4f4a-ae80-3142578673d3n%40googlegroups.com.

Robert Engels

unread,
Aug 26, 2023, 5:29:57 PM8/26/23
to Justin Israel, Mike Schinkel, golang-nuts
Or you click on the top stack line in an IDE and then arose down. 

It’s like some people want to go back to horse and buggy “because it was better for the environment”. Balancing competing priorities is a great skill to have. 

On Aug 26, 2023, at 3:51 PM, Justin Israel <justin...@gmail.com> wrote:


You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAPGFgA3S9n3C8nUp-X52oYqKgo3guhxzaGSLwpwCKGuLEJkyQQ%40mail.gmail.com.

Robert Engels

unread,
Aug 26, 2023, 6:09:44 PM8/26/23
to Justin Israel, Mike Schinkel, golang-nuts
Sorry that was snotty. Bring back the punch cards to really prove who’s a great developer!

On Aug 26, 2023, at 4:29 PM, Robert Engels <ren...@ix.netcom.com> wrote:



Robert Solomon

unread,
Aug 26, 2023, 10:20:45 PM8/26/23
to golang-nuts
Showing the call stack is a core function of the Delve debugger for Go.  See github.com/go-delve/delve/cmd/dlv.  Install w/

Once learning how to use delve, then any IDE/editor will work.  I believe that both VSCode and Goland use delve's code for their debugging capabilities

Samuel Banks

unread,
Aug 30, 2023, 12:59:57 PM8/30/23
to golang-nuts
Short answer: Goland

Longer answer: It really depends on your level, the kinds of software you are building etc etc, However in terms of being fully featured, stable, and available multiple platforms. i have found that Goland by JetBrains to the best however its paid, if you are looking for free then VSCode is also great but is lacking in the advanced features you'd get from GoLand.

On Saturday, 19 August 2023 at 10:27:34 UTC+1 alex-coder wrote:
Hi All !
Gophers, there is at least 10 years as GO on a market, Good job !

I found a list of the best IDE and Plugins there:
https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins

As I remember Java came around 1995 and within 3-4 years several companies
developed really great IDEs successful or less to develop commercial project
on Java. Here is a list of but I may miss somewhat, sorry,
it was relatively a long time ago:

Forte for Java ( Praga, Czech republic)
VisualCafe (Symantec)
VisuailAge (IBM)
JBuilder (Borland)
Together Control Center (TogetherSoft, Germany)
Eclipse, and set of commercial IDE on a base on: RSA,RSD,WID and so on (IBM)

appear later:

VS Code ( Microsoft)
IDEA (JetBrain)

What I'm looking for is the ability to manage dependencies not only in code,
but entirely in a project from requirements to deployment.
Reply all
Reply to author
Forward
0 new messages