News for hackers. Stuff that matters.
Re:What I would do differently if I was learning to program ... by jrockway on Monday July 09, 2018 @11:05AM (#17490703)
I've always found basic text manipulation lacking in the GUI apps I've used. "Make this comment fit in 100 columns without losing paragraphs" "move the next line up to the end of this line" "go to line 647" "move the cursor to the beginning of this method" etc.

My knowledge dates from the "one keystroke to convert this to a JavaBean!" era, though. I'm guessing people don't do that anymore.

Re:What I would do differently if I was learning to program ... by emodendroket on Monday July 09, 2018 @11:16AM (#17490837)
I just have IntelliJ configured to use Emacs key bindings; vi ones are also available for people who use the wrong text editor.
Re:What I would do differently if I was learning to program ... by jrockway on Monday July 09, 2018 @11:43AM (#17491070)
The default Emacs keybindings are nice, but do the semantics transfer (mark/point and associated manipulation functions), and can you write your own functions? I don't have a _ton_ of custom elisp functions for raw text manipulation, but the ones I have written are useful and I wouldn't just give those up for no reason.

There are also a lot of dumb keybindings in Emacs that should not be copied by anyone (looking at you, C-u - 1 M-z X to delete all characters backwards to the first X.).

Re:What I would do differently if I was learning to program ... by emodendroket on Monday July 09, 2018 @01:00PM (#17491658)
The semantics are pretty good with the IDE I use most often, IntelliJ (for instance you definitely do have marks, there is a sensible kill-ring-like functionality for M-y, etc.). Writing a custom function is harder (I think you've got to write an extension, basically), but there are a lot of other useful things you can customize (making up your own templates, for instance). Also, the deeper understanding the IDE has of your code compared to Emacs lets it make many more useful suggestions for issues and potential refactors.