News for hackers. Stuff that matters.
Re:How I'm still not using GUIs in 2019: A guide to the term... by dangom on Thursday February 28, 2019 @10:32AM (#19271988)
What kind of navigation are you relying on that could not possibly work faster on a terminal?

Horrible ascii graphs look horrible, but they are arguably more functional in that you can navigate them with your keyboard.

Re:How I'm still not using GUIs in 2019: A guide to the term... by pjc50 on Thursday February 28, 2019 @11:26AM (#19272493)
This isn't Starcraft, very few developers are limited by their APM throughput through the UI.
Re:How I'm still not using GUIs in 2019: A guide to the term... by gambler on Thursday February 28, 2019 @11:38AM (#19272609)
>This isn't Starcraft, very few developers are limited by their APM throughput through the UI.

Made me smile. This is a great analogy. Tactics vs strategy. You can become more efficient at low-level tasks by doing faster text editing. However, as you get into actual software engineering, the first time you need to do some semantic refactoring will wipe out any time you saved through low-level efficiency.

Re:How I'm still not using GUIs in 2019: A guide to the term... by TeMPOraL on Thursday February 28, 2019 @11:49AM (#19272705)
> However, as you get into actual software engineering, the first time you need to do some semantic refactoring will wipe out any time you saved through low-level efficiency.

That applies to Java and C# only, where the language grammar is so simplified that you can be 99% confident semantic refactoring didn't screw your code up.

> You can become more efficient at low-level tasks by doing faster text editing.

It's not efficiency for efficiency's sake. It's for being able to code at the speed of thought, to tighten your feedback loop to the point where the act of writing & editing happens in your mind in larger syntactical units.

Also, for actual software engineering, nothing beats a pen and a piece of paper.

Re:How I'm still not using GUIs in 2019: A guide to the term... by kbutler on Thursday February 28, 2019 @12:22PM (#19273011)
> Also, for actual software engineering, nothing beats a pen and a piece of paper.

Sometimes I use pen and paper quite effectively, but between the slowness of writing and the difficulty of editing, I wouldn't describe it as ideal.

Re:How I'm still not using GUIs in 2019: A guide to the term... by TeMPOraL on Thursday February 28, 2019 @12:34PM (#19273140)
Personally, I use pen and paper (and a whiteboard) almost exclusively to draw and jot down very short notes. I do plenty of longer outlining when designing too (much more than drawing), and that happens in my text editor (Emacs, Org Mode).
Re:How I'm still not using GUIs in 2019: A guide to the term... by eitland on Thursday February 28, 2019 @12:58PM (#19273392)
> That applies to Java and C# only, where the language grammar is so simplified that you can be 99% confident semantic refactoring didn't screw your code

Some of us would say well-designed instead of simplified :-)

Re:How I'm still not using GUIs in 2019: A guide to the term... by TeMPOraL on Thursday February 28, 2019 @01:14PM (#19273546)
> Some of us would say well-designed instead of simplified :-)

That's a longer topic. Having worked professionally both with Java (Eclipse, Netbeans, IntelliJ IDEA) and Common Lisp (Emacs + SLIME), I've experienced both sides of the coin. On the one hand, working with a language without a proper REPL and macros is painful to me. On the other hand, I frequently wish it was even possible to have semantic completion and automatic refactoring in Common Lisp, even at 10% of what you get for Java out of the box in an IDE...

Re:How I'm still not using GUIs in 2019: A guide to the term... by gambler on Thursday February 28, 2019 @01:37PM (#19273792)
C# has both semantic refactoring and REPL. It might look like Java, but it's a much better designed language. They are even fixing all the horrible crap that was dragging it down with .NET Core.
Re:How I'm still not using GUIs in 2019: A guide to the term... by lm28469 on Thursday February 28, 2019 @10:47AM (#19272136)
Navigation is rarely the limiting factor in development speed. I'd take better auto completion / integrated tools over faster navigation every day.
Re:How I'm still not using GUIs in 2019: A guide to the term... by TeMPOraL on Thursday February 28, 2019 @11:53AM (#19272740)
I hope that language servers fully take off. This way, Vim and Emacs can gain semantic autocomplete & navigation. To be clear: it's not that they can't have that in principle, it's just that engines for semantic operations are difficult and expensive to write, so they were made primarily by IDE companies - and until recently, it meant they were tied to those IDEs.

With that, the only remaining thing in which IDEs are a better choice than vim or Emacs is debugging. I wish for decent and fully featured debugging TUIs.

Re:How I'm still not using GUIs in 2019: A guide to the term... by NateEag on Thursday February 28, 2019 @09:22PM (#19277454)
I've never been a big debugger user, but I thought if you like LSP, you might be interested in Microsoft's analogous debugger protocol:

https://code.visualstudio.com/api/extension-guides/debugger-...

I imagine Emacs, vim, and friends could implement their own frontends for this, much as has been happening with LSP.

Re:How I'm still not using GUIs in 2019: A guide to the term... by TeMPOraL on Friday March 01, 2019 @01:24AM (#19278393)
Wow, thanks!

And it turns out, Emacs and vim do implement their own frontends for this - [0], [1]. My wish just literally came true!

[0] - https://github.com/emacs-lsp/dap-mode

[1] - https://github.com/puremourning/vimspector

Re:How I'm still not using GUIs in 2019: A guide to the term... by NateEag on Friday March 01, 2019 @11:07PM (#19287501)
Awesome - glad to be of assistance!
Re:How I'm still not using GUIs in 2019: A guide to the term... by flukus on Thursday February 28, 2019 @09:28PM (#19277475)
> Navigation is rarely the limiting factor in development speed

Here in spaghetti enterprise land it is. Quite often the biggest challenge to any given story is understanding the impact of a single line change on a code base.

And since we decided to split a single bowl of that spaghetti into nuget packages the more "primitive" tools like ctags are the best way to navigate the project, they don't care about pesky things like dll boundaries.

Re:How I'm still not using GUIs in 2019: A guide to the term... by lm28469 on Friday March 01, 2019 @05:19AM (#19279284)
> Quite often the biggest challenge to any given story is understanding the impact of a single line change on a code base.

Isn't that a test coverage issue more than a navigation issue ?

Opening 3 files via keyboard shortcuts vs opening them by clicking on 3 different buttons won't solve spaghetti code and low test coverage.

Re:How I'm still not using GUIs in 2019: A guide to the term... by flukus on Sunday March 03, 2019 @05:59PM (#19297477)
Code coverage is really high, legend has it that code coverage was tied to bonus a decade ago. The tests typically add more mental overhead than reduce it due to this.

> Opening 3 files via keyboard shortcuts vs opening them by clicking on 3 different buttons won't solve spaghetti code and low test coverage.

It doesn't solve it, but it makes it quicker and easier to navigate, it's not just the shortcuts but the navigation stack (go to declaration, go to declaration, go to declaration, pop, pop, got to declaration, pop, pop, etc) that make it easy. Tmux and/or vim are also much better at multi-window editing than IDE's which is also handy.

Re:How I'm still not using GUIs in 2019: A guide to the term... by BurningFrog on Thursday February 28, 2019 @11:23AM (#19272463)
If anyone told you you can't navigate IDEs with a keyboard, they lied.
Re:How I'm still not using GUIs in 2019: A guide to the term... by olig15 on Thursday February 28, 2019 @10:48AM (#19272145)
Visual Assist X is a VS plugin that everyone I know seems to have pre-installed wherever they work. It allows things like jump to file/symbol using a keyboard shortcut and fuzzy search. I imagine there's equivalent with vim, etc, but I also don't see how a terminal could be better/faster.

Most navigation is done using keyboard shortcuts, but I can use the mouse to click around menus if I forget where something is.

Re:How I'm still not using GUIs in 2019: A guide to the term... by jdright on Thursday February 28, 2019 @11:49AM (#19272707)
I'm in gamedev too, I basically do debugging for living with eventual actual development.

Visual Assist X is terrible and extremely slow. Also, it is a clutch, showing one of the biggest weak points of Visual Studio.

I use it in a daily basis for more than 7 years, and I just hate it. VS is such a mixed box of feelings, it is so bad for most of it but then there is a very good debugger, arguably the only thing holding VS alive.

I would prefer to switch to a better text based IDE or even vscode and use windbg, if it wasn't for co-workers with Stockholm syndrome that can't see how bad their tools are.