5 ms·
This mentions weak IDE support as one of Scala's pain points, but Go has very much the same problem, and the language is vastly less complex. The two best IDEs
by unscaled 10y ago
This mentions weak IDE support as one of Scala's pain points, but Go has very much the same problem, and the language is vastly less complex.
The two best IDEs for Go right now IMO are VS Code and the EAP Gogland, but both of them are not yet on par what you get with Java. VS Code has only support for very rudimentary refactoring (renames) and relies on a rather slow horde of external CLI linters (executed on save) to provide code analysis. Gogland has pretty nice refactoring, but its built-in code analysis is still too shallow.
Both will get better, but I can't take the claim that you'd move to Go from another language due to "lack of a good IDE". If you want the best IDE move to Java (or Kotlin, or C#) and never look back.
- mmargerum 10y agoNot really. Emacs works great because of tools like godef and gofmt. If guis is your thing https://www.jetbrains.com/go/ https://www.jetbrains.com/go/
- unscaled 10y agoI explicitly mentioned Gogland (the Jetbrains IDE). I'm not a fan of heavyweight editors (including emacs), and I'd gladly just use vim for Go if vim-go had refactoring support beyond the useless gorename. Gofmt works nicely across the board, but godef needs your entire package to compile as far as I remember. Neither of them gives you refactoring support, and gorename doesn't give you much either. You seem to think godef/gofmt is enough which is fine, but in this case Scala has the same level of support as Go.
- geodel 10y agoGo can be written without good IDE. I just use Sublime with Go plugin it works great. Also Gogland gives sub-par experience to many experienced Go users. E.g. it does not use `gofmt` but their own formatter which they use for all IDEs. Not sure about their refactoring tool but `gorename` seems to me fine refactoring tool.
- FrancoDiaz 10y agoAny language can be written without a good IDE. This argument is always given when a language doesn't have a good IDE.
- unscaled 10y agoGogland's non-standard formatting is one of my pain points. But the standard go* tooling doesn't offer any proper refactoring. Unless if by refactoring you mean "Jus' renaming my functions and variables and nothing else, and only when all my packages compile correctly, with 80% guranteed success" then Gorename is a good tool, I guess. YMMV. This is what I have in mind when I talk about good refactoring (Resharper on Visual Studio being the gold standard IMHO): https://es137custom.files.wordpress.com/2012/12/resharperrefactoring.png https://es137custom.files.wordpress.com/2012/12/resharperref... It's a huge productivity boost for me, enough that I'm willing to live with the subpar experience of IDE Vim Plugins. Again, you can argue that YOU don't need this IDE fanciness, but OP claimed this is a major reason for them wanting to ditch Scala.